From c1f8c1b723f811b0c52797d9901d899ac7164643 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Tue, 25 Jun 2024 19:15:12 +0000 Subject: [PATCH] build based on b325a60 --- dev/api/internal/index.html | 772 +++++----- dev/api/public/index.html | 591 +++++--- .../adding_new_types/index.html | 4 +- .../developer/index.html | 2 +- .../troubleshooting/index.html | 2 +- dev/index.html | 4 +- .../adding_additional_fields/index.html | 47 +- .../adding_custom_types/index.html | 4 +- .../extending_parsing/index.html | 4 +- dev/model_library/cost_curves/index.html | 11 + dev/model_library/costs/index.html | 33 + dev/model_library/dynamic_branch/index.html | 54 +- .../dynamic_generator/index.html | 4 +- dev/model_library/dynamic_inverter/index.html | 6 +- dev/model_library/generated_ACBus/index.html | 42 +- dev/model_library/generated_AGC/index.html | 42 +- dev/model_library/generated_AVR/index.html | 1304 ++++++++--------- dev/model_library/generated_Arc/index.html | 12 +- dev/model_library/generated_Area/index.html | 26 +- .../generated_AreaInterchange/index.html | 26 + .../generated_BatteryEMS/index.html | 87 -- .../index.html | 61 + .../generated_Converter/index.html | 160 +- dev/model_library/generated_DCBus/index.html | 34 +- .../generated_DCSource/index.html | 76 +- .../index.html | 131 ++ .../generated_ExponentialLoad/index.html | 117 +- dev/model_library/generated_Filter/index.html | 76 +- .../generated_FixedAdmittance/index.html | 36 +- .../generated_FrequencyEstimator/index.html | 64 +- .../generated_GenericBattery/index.html | 90 -- .../generated_HybridSystem/index.html | 2 - .../generated_HydroDispatch/index.html | 73 +- .../generated_HydroEnergyReservoir/index.html | 103 +- .../generated_HydroPumpedStorage/index.html | 133 +- .../generated_InnerControl/index.html | 136 +- .../index.html | 63 +- .../index.html | 60 +- .../generated_InverterLimiter/index.html | 31 - dev/model_library/generated_Line/index.html | 57 +- .../generated_LoadZone/index.html | 22 +- .../generated_Machine/index.html | 676 ++++----- .../generated_MarketBidCost/index.html | 24 - .../generated_MonitoredLine/index.html | 61 +- .../generated_MultiStartCost/index.html | 20 - .../generated_OutputCurrentLimiter/index.html | 78 + dev/model_library/generated_PSS/index.html | 534 +++---- .../index.html | 68 +- .../generated_PowerLoad/index.html | 49 +- .../generated_RenewableDispatch/index.html | 68 +- .../generated_RenewableFix/index.html | 45 - .../generated_RenewableNonDispatch/index.html | 45 + dev/model_library/generated_Shaft/index.html | 106 +- dev/model_library/generated_Source/index.html | 48 +- .../generated_StandardLoad/index.html | 81 +- .../index.html | 55 - .../index.html | 31 - .../generated_SwitchedAdmittance/index.html | 76 +- .../generated_TModelHVDCLine/index.html | 46 +- .../generated_TapTransformer/index.html | 60 +- .../generated_ThermalMultiStart/index.html | 106 +- .../generated_ThermalStandard/index.html | 92 +- .../generated_ThreePartCost/index.html | 15 - .../generated_Transfer/index.html | 20 - .../generated_Transformer2W/index.html | 53 +- .../index.html | 30 +- .../generated_TurbineGov/index.html | 562 +++---- .../generated_TwoPartCost/index.html | 9 - .../generated_TwoTerminalHVDCLine/index.html | 54 +- .../generated_TwoTerminalVSCDCLine/index.html | 60 +- .../index.html | 46 +- dev/model_library/hybrid_system/index.html | 85 ++ dev/model_library/outer_control/index.html | 54 +- .../regulation_device/index.html | 2 - dev/model_library/reserves/index.html | 150 +- dev/modeler_guide/cost_functions/index.html | 2 + dev/modeler_guide/enumerated_types/index.html | 2 +- .../example_dynamic_data/index.html | 2 +- dev/modeler_guide/glossary/index.html | 2 + dev/modeler_guide/market_bid_cost/index.html | 54 +- .../modeling_with_JuMP/index.html | 119 +- dev/modeler_guide/parsing/index.html | 124 +- dev/modeler_guide/system/index.html | 363 ++--- .../system_dynamic_data/index.html | 126 +- dev/modeler_guide/time_series/index.html | 48 +- dev/modeler_guide/type_structure/index.html | 2 +- dev/quick_start_guide/index.html | 479 +++--- dev/search/index.html | 2 +- dev/search_index.js | 2 +- dev/tutorials/add_forecasts/index.html | 85 +- dev/tutorials/basics/index.html | 173 +-- dev/tutorials/dynamic_data/index.html | 2 +- dev/tutorials/modifying_data/index.html | 8 +- .../parse_powerflow_cases/index.html | 86 +- dev/tutorials/parse_tabular_data/index.html | 202 +-- dev/tutorials/powersystembuilder/index.html | 169 +-- dev/tutorials/serialize_data/index.html | 64 +- 97 files changed, 5063 insertions(+), 5164 deletions(-) create mode 100644 dev/model_library/cost_curves/index.html create mode 100644 dev/model_library/costs/index.html create mode 100644 dev/model_library/generated_AreaInterchange/index.html delete mode 100644 dev/model_library/generated_BatteryEMS/index.html create mode 100644 dev/model_library/generated_ConstantReserveNonSpinning/index.html create mode 100644 dev/model_library/generated_EnergyReservoirStorage/index.html delete mode 100644 dev/model_library/generated_GenericBattery/index.html delete mode 100644 dev/model_library/generated_HybridSystem/index.html delete mode 100644 dev/model_library/generated_InverterLimiter/index.html delete mode 100644 dev/model_library/generated_MarketBidCost/index.html delete mode 100644 dev/model_library/generated_MultiStartCost/index.html create mode 100644 dev/model_library/generated_OutputCurrentLimiter/index.html delete mode 100644 dev/model_library/generated_RenewableFix/index.html create mode 100644 dev/model_library/generated_RenewableNonDispatch/index.html delete mode 100644 dev/model_library/generated_StaticReserveNonSpinning/index.html delete mode 100644 dev/model_library/generated_StorageManagementCost/index.html delete mode 100644 dev/model_library/generated_ThreePartCost/index.html delete mode 100644 dev/model_library/generated_Transfer/index.html delete mode 100644 dev/model_library/generated_TwoPartCost/index.html create mode 100644 dev/model_library/hybrid_system/index.html delete mode 100644 dev/model_library/regulation_device/index.html create mode 100644 dev/modeler_guide/cost_functions/index.html create mode 100644 dev/modeler_guide/glossary/index.html diff --git a/dev/api/internal/index.html b/dev/api/internal/index.html index cc7e2b0c44..9e514f5408 100644 --- a/dev/api/internal/index.html +++ b/dev/api/internal/index.html @@ -1,5 +1,5 @@ -Internal API Reference · PowerSystems.jl

Internal API

PowerSystems._pti_dtypesConstant

lookup array of data types for PTI file sections given by field_name, as enumerated by PSS/E Program Operation Manual.

source
PowerSystems.EX4VSAType
mutable struct EX4VSA <: AVR
+Internal API Reference · PowerSystems.jl

Internal API

PowerSystems._pti_dtypesConstant

lookup array of data types for PTI file sections given by field_name, as enumerated by PSS/E Program Operation Manual.

source
PowerSystems.EX4VSAType
mutable struct EX4VSA <: AVR
     Iflim::Float64
     d::Float64
     f::Float64
@@ -17,9 +17,9 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

IEEE Excitation System for Voltage Security Assesment

Arguments

  • Iflim::Float64: OEL Field current limit, validation range: (0, nothing), action if invalid: warn
  • d::Float64: OEL parameter d, validation range: (0, nothing), action if invalid: warn
  • f::Float64: OEL parameter f, validation range: (0, nothing), action if invalid: warn
  • Spar::Float64: OEL parameter Spar, validation range: (0, nothing), action if invalid: warn
  • K1::Float64: OEL delay time constant, validation range: (0, nothing), action if invalid: warn
  • K2::Float64: OEL parameter K2, validation range: (0, nothing), action if invalid: warn
  • Oel_lim::MinMax: Oel integrator limits (Oelmin, Oelmax)
  • G::Float64: AVR Exciter Gain, validation range: (0, nothing), action if invalid: warn
  • Ta::Float64: Numerator lead-lag (lag) time constant in s, validation range: (0, nothing), action if invalid: warn
  • Tb::Float64: Denominator lead-lag (lag) time constant in s, validation range: (0, nothing), action if invalid: warn
  • Te::Float64: Exciter Time Constant in s, validation range: (0, nothing), action if invalid: warn
  • E_lim::MinMax: Voltage regulator limits (regulator output) (Emin, Emax)
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vll: Lead-lag internal state,
+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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vll: Lead-lag internal state,
 Vex: Exciter Output, 
-oel: OEL integrator state
  • n_states::Int: The EX4VSA has 3 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.EXST1Type
mutable struct EXST1 <: AVR
+oel: OEL integrator state
  • n_states::Int: (Do not modify.) The EX4VSA has 3 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
PowerSystems.EXST1Type
mutable struct EXST1 <: AVR
     Tr::Float64
     Vi_lim::MinMax
     Tc::Float64
@@ -35,790 +35,868 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

IEEE Type ST1 Excitation System (PTI version)

Arguments

  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing), action if invalid: warn
  • Vi_lim::MinMax: Voltage input limits (Vimin, Vimax)
  • Tc::Float64: Numerator lead-lag (lead) time constant in s, validation range: (0, nothing), action if invalid: warn
  • Tb::Float64: Denominator lead-lag (lag) time constant in s, validation range: (0, nothing), action if invalid: warn
  • Ka::Float64: Amplifier Gain, validation range: (0, nothing), action if invalid: warn
  • Ta::Float64: Amplifier Time Constant in s, validation range: (0, nothing), action if invalid: warn
  • Vr_lim::MinMax: Voltage regulator limits (regulator output) (Vrmin, Vrmax)
  • Kc::Float64: Current field constant limiter multiplier, validation range: (0, nothing)
  • Kf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3), action if invalid: warn
  • Tf::Float64: Excitation control system stabilizer time constant, validation range: (eps(), nothing), action if invalid: error
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vm: Sensed Terminal Voltage,
+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. See Adding additional fields
  • 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: The EXST1 has 4 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.ExponentialLoadType
mutable struct ExponentialLoad <: StaticLoad
-    name::String
-    available::Bool
-    bus::ACBus
-    active_power::Float64
-    reactive_power::Float64
-    active_power_coefficient::Float64
-    reactive_power_coefficient::Float64
-    base_power::Float64
-    max_active_power::Float64
-    max_reactive_power::Float64
-    services::Vector{Service}
-    dynamic_injector::Union{Nothing, DynamicInjection}
-    ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
-    internal::InfrastructureSystemsInternal
-end

Data structure for a static exponential load.

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • active_power::Float64
  • reactive_power::Float64
  • active_power_coefficient::Float64: Coefficient relating voltage dependence for power P = P0 * V^α, validation range: (0, nothing), action if invalid: warn
  • reactive_power_coefficient::Float64: Coefficient relating voltage dependence for power Q = Q0 * V^β, validation range: (0, nothing), action if invalid: warn
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • max_active_power::Float64
  • max_reactive_power::Float64
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.PowerFlowDataNetworkMethod
PowerFlowDataNetwork(
+Vfb: Feedback state
  • n_states::Int: (Do not modify.) The EXST1 has 4 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
PowerSystems.PowerFlowDataNetworkMethod
PowerFlowDataNetwork(
     file::Union{IO, String};
     kwargs...
 ) -> PowerSystems.PowerFlowDataNetwork
-

Constructs PowerFlowDataNetwork from a raw file. Currently Supports PSSE data files v30, v32 and v33

source
PowerSystems.SwitchedAdmittanceType
mutable struct SwitchedAdmittance <: ElectricLoad
-    name::String
-    available::Bool
-    bus::ACBus
-    Y::Complex{Float64}
-    number_of_steps::Int
-    Y_increase::Complex{Float64}
-    dynamic_injector::Union{Nothing, DynamicInjection}
-    services::Vector{Service}
-    ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
-    internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • Y::Complex{Float64}: Initial impedance at N = 0
  • number_of_steps::Int: Number of steps for adjustable shunt
  • Y_increase::Complex{Float64}: Admittance increment for each of step increase
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection model for admittance
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
Base.convertMethod
convert(
+

Constructs PowerFlowDataNetwork from a raw file. Currently Supports PSSE data files v30, v32 and v33

source
Base.convertMethod
convert(
     _::Type{@NamedTuple{min::Float64, max::Float64}},
     input::Tuple{Float64, Float64}
 ) -> @NamedTuple{min::Float64, max::Float64}
-

Convert Tuple to Min Max Named Tuple

source
Base.convertMethod
convert(
     _::Type{@NamedTuple{up::Float64, down::Float64}},
     input::Tuple{Float64, Float64}
 ) -> @NamedTuple{up::Float64, down::Float64}
-

Convert Tuple to Up Down Named Tuple

source
Base.zeroMethod
zero(
+    _::Union{Type{AverageRateCurve}, AverageRateCurve}
+) -> AverageRateCurve{LinearFunctionData}
+

Get an AverageRateCurve representing f(x)/x = 0 with zero initial_input

source
Base.zeroMethod
zero(
+    _::Union{Type{CostCurve}, CostCurve}
+) -> CostCurve{LinearCurve}
+

Get a CostCurve representing zero variable cost

source
Base.zeroMethod
zero(
+    _::Union{Type{FuelCurve}, FuelCurve}
+) -> FuelCurve{LinearCurve}
+

Get a FuelCurve representing zero fuel usage and zero fuel cost

source
Base.zeroMethod
zero(
+    _::Union{Type{IncrementalCurve}, IncrementalCurve}
+) -> IncrementalCurve{LinearFunctionData}
+

Get an IncrementalCurve representing f'(x) = 0 with zero initial_input

source
Base.zeroMethod
zero(
+    _::Union{Type{InputOutputCurve}, InputOutputCurve}
+) -> LinearCurve
+

Get an InputOutputCurve representing f(x) = 0

source
Base.zeroMethod
zero(_::Union{Type{ValueCurve}, ValueCurve}) -> LinearCurve
+

Get a ValueCurve representing zero variable cost

source
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

source
PowerSystems._create_starbus_from_transformerMethod
_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.

source
PowerSystems._extract_matlab_assignmentMethod
_extract_matlab_assignment(
+
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.

source
PowerSystems._float2stringMethod
_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

source
PowerSystems._get_bus_valueMethod
_get_bus_value(bus_i, field, pm_data) -> Any
-
_get_bus_value(bus_i, field, pm_data)

Returns the value of field of bus_i from the PowerModels data. Requires "bus" Dict to already be populated.

source
PowerSystems._get_contributing_devicesMethod
_get_contributing_devices(
+

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

source
PowerSystems._get_bus_valueMethod
_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.

source
PowerSystems._get_line_elementsMethod
_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.

source
PowerSystems._greyMethod
_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

source
PowerSystems._import_remaining_comps!Method
_import_remaining_comps!(
+
_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.

source
PowerSystems._greyMethod
_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

source
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

source
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

source
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.

source
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.

source
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

source
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.

source
PowerSystems._parse_dyr_componentsMethod
_parse_dyr_components(
     dyr_file::AbstractString
 ) -> Dict{Int64, Any}
-

Parse a .dyr file directly from its name by constructing its dictionary of dictionaries.

source
PowerSystems._parse_dyr_componentsMethod
_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
source
PowerSystems._parse_dyr_fileMethod
_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 //).

source
PowerSystems._parse_dyr_componentsMethod
_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
source
PowerSystems._parse_dyr_fileMethod
_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 //).

source
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.

source
PowerSystems._parse_dyr_inverter_components!Method
_parse_dyr_inverter_components!(
+

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.

source
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.

source
PowerSystems._parse_elementsMethod
_parse_elements(
+

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.

source
PowerSystems._parse_elementsMethod
_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.

source
PowerSystems._parse_line_element!Method
_parse_line_element!(
+

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.

source
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.

source
PowerSystems._parse_matlab_dataMethod
_parse_matlab_data(
+
_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.

source
PowerSystems._parse_pti_dataMethod
_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().

source
PowerSystems._populate_argsMethod
_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.

source
PowerSystems._parse_pti_dataMethod
_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().

source
PowerSystems._populate_argsMethod
_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.

source
PowerSystems._process_get_costMethod
_process_get_cost(_, _, cost::Nothing, _, _, _, _)
+

Helper function for cost getters.

Arguments

  • T: type/eltype we expect
  • component::Component: the component
  • cost: the data: either a single element of type T or a TimeSeriesKey
  • transform_fn: a function to apply to the elements of the time series
  • start_time: as in get_time_series
  • len: as in get_time_series
source
PowerSystems._process_set_costMethod
_process_set_cost(_, _, _, _, _::Nothing)
+

Helper function for cost setters.

Arguments

  • T1: type we expect if it's not a time series
  • T2: eltype we expect if it is a time series
  • sys::System: the system
  • component::Component: the component
  • cost: the data: either a single element of type T1 or a IS.TimeSeriesData of eltype T2
source
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.

source
PowerSystems._psse2pm_bus!Method
_psse2pm_bus!(
+
_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.

source
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.

source
PowerSystems._psse2pm_dcline!Method
_psse2pm_dcline!(
+
_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.

source
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.

source
PowerSystems._psse2pm_generator!Method
_psse2pm_generator!(
+
_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.

source
PowerSystems._psse2pm_generator!Method
_psse2pm_generator!(
     pm_data::Dict,
     pti_data::Dict,
     import_all::Bool
-)
-
_psse2pm_generator!(pm_data, pti_data)

Parses PSS(R)E-style Generator data in a PowerModels-style Dict. "source_id" is given by ["I", "ID"] in PSS(R)E Generator specification.

source
PowerSystems._psse2pm_load!Method
_psse2pm_load!(
+) -> 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.

source
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.

source
PowerSystems._psse2pm_shunt!Method
_psse2pm_shunt!(
+
_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.

source
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.

source
PowerSystems._psse2pm_transformer!Method
_psse2pm_transformer!(
+
_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.

source
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.

source
PowerSystems._pti_to_powermodels!Method
_pti_to_powermodels!(
+
_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.

source
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).

source
PowerSystems._read_data_rowMethod
_read_data_row(
+
_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).

source
PowerSystems._read_data_rowMethod
_read_data_row(
     data::PowerSystemTableData,
     row,
     field_infos;
     na_to_nothing
 ) -> NamedTuple
-

Reads values from dataframe row and performs necessary conversions.

source
PowerSystems._remove_pwl_cost_duplicates!Function
_remove_pwl_cost_duplicates!(id, comp, type_name) -> Bool
 _remove_pwl_cost_duplicates!(
     id,
     comp,
     type_name,
     tolerance
 ) -> Bool
-

checks that each point in the a pwl function is unqiue, simplifies the function if duplicates appear

source
PowerSystems._simplify_pwl_cost!Function
_simplify_pwl_cost!(id, comp, type_name) -> Bool
+

checks that each point in the a pwl function is unique, simplifies the function if duplicates appear

source
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

source
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.

source
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.

source
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

source
PowerSystems._type_arrayMethod
_type_array(
     string_array::Array{T<:AbstractString, 1}
 ) -> Vector
-

Attempts to determine the type of an array of strings extracted from a matlab file

source
PowerSystems._type_valueMethod
_type_value(value_string::AbstractString) -> Any
-

Attempts to determine the type of a string extracted from a matlab file

source
PowerSystems.add_service_internal!Method
add_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

source
PowerSystems.adequacy_checkMethod
adequacy_check(sys::System)
-
adequacy_check(sys::System)

Checks the system for sum(generator ratings) >= sum(load ratings).

Arguments

  • sys::System: system
source
PowerSystems._type_valueMethod
_type_value(value_string::AbstractString) -> Any
+

Attempts to determine the type of a string extracted from a matlab file

source
PowerSystems.add_service_internal!Method
add_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

source
PowerSystems.adequacy_checkMethod
adequacy_check(sys::System)
+
adequacy_check(sys::System)

Checks the system for sum(generator ratings) >= sum(load ratings).

Arguments

  • sys::System: system
source
PowerSystems.bus_gen_lookupMethod
bus_gen_lookup(
     gen_data::Dict{String},
     bus_data::Dict{String}
 ) -> Dict
-

builds a lookup list of what generators are connected to a given bus

source
PowerSystems.bus_load_lookupMethod
bus_load_lookup(
     load_data::Dict{String},
     bus_data::Dict{String}
 ) -> Dict
-

builds a lookup list of what loads are connected to a given bus

source
PowerSystems.bus_shunt_lookupMethod
bus_shunt_lookup(
     shunt_data::Dict{String},
     bus_data::Dict{String}
 ) -> Dict
-

builds a lookup list of what shunts are connected to a given bus

source
PowerSystems.bus_storage_lookupMethod
bus_storage_lookup(
     storage_data::Dict{String},
     bus_data::Dict{String}
 ) -> Dict
-

builds a lookup list of what storage is connected to a given bus

source
PowerSystems.calc_branch_flow_acMethod
calc_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

source
PowerSystems.calc_branch_flow_dcMethod
calc_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

source
PowerSystems.calc_branch_flow_acMethod
calc_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

source
PowerSystems.calc_branch_flow_dcMethod
calc_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

source
PowerSystems.calc_connected_componentsMethod
calc_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

source
PowerSystems.calc_cost_pwl_linesMethod
calc_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

source
PowerSystems.calc_power_balanceMethod
calc_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

source
PowerSystems.calc_cost_pwl_linesMethod
calc_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

source
PowerSystems.calc_power_balanceMethod
calc_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

source
PowerSystems.calculate_saturation_coefficientsMethod
calculate_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

source
PowerSystems.check_ascending_orderMethod
check_ascending_order(
+

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

source
PowerSystems.check_component_additionMethod
check_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.

source
PowerSystems.check_statusMethod
check_status(data::Dict{String})
-

checks that active components are not connected to inactive buses, otherwise prints warnings

source
PowerSystems.check_typeMethod
check_type(typ, value) -> Any
-

Checks if the given value is of a given type, if not tries to make it that type

source
PowerSystems.correct_component_refrence_bus!Method
correct_component_refrence_bus!(
+

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.

source
PowerSystems.check_statusMethod
check_status(data::Dict{String})
+

checks that active components are not connected to inactive buses, otherwise prints warnings

source
PowerSystems.check_typeMethod
check_type(typ, value) -> Any
+

Checks if the given value is of a given type, if not tries to make it that type

source
PowerSystems.correct_network_data!Method
correct_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.

source
PowerSystems.correct_transformer_parameters!Method
correct_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

source
PowerSystems.correct_voltage_angle_differences!Function
correct_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

source
PowerSystems.deactivate_isolated_components!Method
deactivate_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.

source
PowerSystems.deactivate_isolated_components!Method
deactivate_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.

source
PowerSystems.get_avr_saturationMethod
get_avr_saturation(
     E::Tuple{Float64, Float64},
     Se::Tuple{Float64, Float64}
 ) -> Tuple{Float64, Float64}
-

Obtain coefficients for an AVR

source
PowerSystems.get_dataframeMethod
get_dataframe(
     data::PowerSystemTableData,
     category::PowerSystems.InputCategoryModule.InputCategory
 ) -> DataFrames.DataFrame
-

Return the dataframe for the category.

source
PowerSystems.get_exponential_saturationMethod
get_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)

source
PowerSystems.get_generator_mappingFunction
get_generator_mapping() -> Dict{NamedTuple, DataType}
+

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)

source
PowerSystems.get_generator_mappingFunction
get_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.

source
PowerSystems.get_generator_typeMethod
get_generator_type(
     fuel,
     unit_type,
     mappings::Dict{NamedTuple, DataType}
 ) -> Union{Nothing, DataType}
-

Return the PowerSystems generator type for this fuel and unit_type.

source
PowerSystems.get_quadratic_saturationMethod
get_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.

source
PowerSystems.get_series_susceptanceMethod
get_series_susceptance(
+

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.

source
PowerSystems.get_series_susceptanceMethod
get_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.

source
PowerSystems.get_user_fieldMethod
get_user_field(
+

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.

source
PowerSystems.get_user_fieldMethod
get_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.

source
PowerSystems.get_user_fieldsMethod
get_user_fields(
+

Return the custom name stored in the user descriptor file.

Throws DataFormatError if a required value is not found in the file.

source
PowerSystems.get_user_fieldsMethod
get_user_fields(
     data::PowerSystemTableData,
     category::PowerSystems.InputCategoryModule.InputCategory
 ) -> Any
-

Return a vector of user-defined fields for the category.

source
PowerSystems.has_componentMethod
has_component(
-    _::Type{T<:Component},
-    sys::System,
-    name::AbstractString
-) -> Bool
-

Check to see if the component of type T with name exists.

source
PowerSystems.handle_deserialization_special_cases!Method
handle_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.
source
PowerSystems.im_replicateMethod
im_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

source
PowerSystems.is_attachedMethod
is_attached(component::Component, sys::System) -> Bool
-

Return true if the component is attached to the system.

source
PowerSystems.isafieldMethod
isafield(component::Component, field::Symbol) -> Any
-

Checks if a PowerSystemDevice has a field or subfield name.

source
PowerSystems.is_attachedMethod
is_attached(component::Component, sys::System) -> Bool
+

Return true if the component is attached to the system.

source
PowerSystems.is_cost_aliasMethod
is_cost_alias(
+    _::Union{Type{<:ValueCurve}, ValueCurve}
+) -> Bool
+

Whether there is a cost alias for the instance or type under consideration

source
PowerSystems.isafieldMethod
isafield(component::Component, field::Symbol) -> Any
+

Checks if a PowerSystemDevice has a field or subfield name.

source
PowerSystems.iterate_rowsMethod
iterate_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.

source
PowerSystems.load_csv_parser!Method
load_csv_parser!(sys::System, data::PowerSystemTableData)
-
load_csv_parser!(sys::System, data::PowerSystemTableData)

Add loads to the System from the raw load data.

source
PowerSystems.loadzone_csv_parser!Method
loadzone_csv_parser!(
+

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.

source
PowerSystems.load_csv_parser!Method
load_csv_parser!(sys::System, data::PowerSystemTableData)
+
load_csv_parser!(sys::System, data::PowerSystemTableData)

Add loads to the System from the raw load data.

source
PowerSystems.loadzone_csv_parser!Method
loadzone_csv_parser!(
     sys::System,
     data::PowerSystemTableData
 )
-
loadzone_csv_parser!(sys::System, data::PowerSystemTableData)

Add branches to the System from the raw data.

source
PowerSystems.make_busMethod
make_bus(bus_dict::Dict{String, Any}) -> ACBus
-

Creates a PowerSystems.ACBus from a PowerSystems bus dictionary

source
PowerSystems.make_generatorMethod
make_generator(
+
loadzone_csv_parser!(sys::System, data::PowerSystemTableData)

Add branches to the System from the raw data.

source
PowerSystems.make_busMethod
make_bus(bus_dict::Dict{String, Any}) -> ACBus
+

Creates a PowerSystems.ACBus from a PowerSystems bus dictionary

source
PowerSystems.make_generatorMethod
make_generator(
     data::PowerSystemTableData,
     gen,
     cost_colnames,
     bus,
     gen_storage
 ) -> Any
-

Creates a generator of any type.

source
PowerSystems.make_thermal_genMethod
make_thermal_gen(
+    gen_name::Union{SubString{String}, String},
     d::Dict,
     bus::ACBus,
-    sys_mbase::Number
+    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

source
PowerSystems.parse_psseMethod
parse_psse(io::IO; kwargs...) -> Dict{String, Any}
-
function parse_psse(io::IO; kwargs...)::Dict

Parses directly from iostream

source
PowerSystems.parse_psseMethod
parse_psse(filename::String; kwargs...) -> Dict{String, Any}
-
parse_psse(filename::String; kwargs...)::Dict

Parses directly from file

source
PowerSystems.parse_ptiMethod
parse_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.

source
PowerSystems.parse_ptiMethod
parse_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.

source
PowerSystems.propagate_topology_status!Method
propagate_topology_status!(
+

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

source
PowerSystems.parse_psseMethod
parse_psse(io::IO; kwargs...) -> Dict{String, Any}
+
function parse_psse(io::IO; kwargs...)::Dict

Parses directly from iostream

source
PowerSystems.parse_psseMethod
parse_psse(filename::String; kwargs...) -> Dict{String, Any}
+
parse_psse(filename::String; kwargs...)::Dict

Parses directly from file

source
PowerSystems.parse_ptiMethod
parse_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.

source
PowerSystems.parse_ptiMethod
parse_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.

source
PowerSystems.propagate_topology_status!Method
propagate_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

source
PowerSystems.read_gen!Method
read_gen!(
+

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

source
PowerSystems.read_and_convert_tsFunction
read_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

source
PowerSystems.read_gen!Method
read_gen!(
     sys::System,
     data::Dict,
     bus_number_to_bus::Dict{Int64, ACBus};
     kwargs...
 )
-

Transfer generators to ps_dict according to their classification

source
PowerSystems.replicateMethod
replicate(
     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.

source
PowerSystems.resolve_swithces!Method
resolve_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.

source
PowerSystems.services_csv_parser!Method
services_csv_parser!(
+

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.

source
PowerSystems.resolve_swithces!Method
resolve_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.

source
PowerSystems.simplify_network!Method
simplify_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

source
PowerSystems.total_capacity_ratingMethod
total_capacity_rating(sys::System) -> Any
-
total_capacity_rating(sys::System)

Sum of system generator and storage ratings.

Arguments

  • sys::System: system
source
PowerSystems.total_load_ratingMethod
total_load_rating(sys::System) -> Any
-
total_load_rating(sys::System)

Checks the system for sum(generator ratings) >= sum(load ratings).

Arguments

  • sys::System: system
source
PowerSystems.simplify_network!Method
simplify_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

source
PowerSystems.total_capacity_ratingMethod
total_capacity_rating(sys::System) -> Any
+
total_capacity_rating(sys::System)

Sum of system generator and storage ratings.

Arguments

  • sys::System: system
source
PowerSystems.total_load_ratingMethod
total_load_rating(sys::System) -> Any
+
total_load_rating(sys::System)

Checks the system for sum(generator ratings) >= sum(load ratings).

Arguments

  • sys::System: system
source
PowerSystems.update_bus_ids!Method
update_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.

source
PowerSystems.update_data!Method
update_data!(data::Dict{String}, new_data::Dict{String})
-

recursively applies new_data to data, overwriting information

source
PowerSystems.update_data!Method
update_data!(data::Dict{String}, new_data::Dict{String})
+

recursively applies new_data to data, overwriting information

source
PowerSystems.verify_device_eligibilityMethod
verify_device_eligibility(
     sys::System,
     component::StaticInjection,
     service::Service
 )
-

Validates if a device is eligible to contribute to a service.

Arguments

  • sys::System: PowerSystem System
  • component::StaticInjection: Static injection device
  • service::Service,: Service for which the device is eligible to contribute
source
+

Validates if a device is eligible to contribute to a service.

Arguments

  • sys::System: PowerSystem System
  • component::StaticInjection: Static injection device
  • service::Service,: Service for which the device is eligible to contribute
source
diff --git a/dev/api/public/index.html b/dev/api/public/index.html index be2d1bd64a..f3ba7bdb8f 100644 --- a/dev/api/public/index.html +++ b/dev/api/public/index.html @@ -1,40 +1,117 @@ -Public API Reference · PowerSystems.jl

Public API Reference

Modeling

PowerSystems.ComponentType

Supertype for all PowerSystems components. All subtypes must include a InfrastructureSystemsInternal member. Subtypes should call InfrastructureSystemsInternal() by default, but also must provide a constructor that allows existing values to be deserialized.

source
PowerSystems.get_base_powerMethod
get_base_power(c::Component) -> Float64
-
Default behavior of a component. If there is no base_power field, assume is in the system's base power.
source
PowerSystems.set_dynamic_injector!Method
set_dynamic_injector!(
+Public API Reference · PowerSystems.jl

Public API Reference

Modeling

PowerSystems.ComponentType

Supertype for all PowerSystems components. All subtypes must include a InfrastructureSystemsInternal member. Subtypes should call InfrastructureSystemsInternal() by default, but also must provide a constructor that allows existing values to be deserialized.

source
PowerSystems.get_base_powerMethod
get_base_power(c::Component) -> Float64
+
Default behavior of a component. If there is no base_power field, assume is in the system's base power.
source
PowerSystems.set_dynamic_injector!Method
set_dynamic_injector!(
     static_injector::StaticInjection,
     dynamic_injector::Union{Nothing, DynamicInjection}
 )
-

Any StaticInjection struct that wants to support dynamic injectors must implement this method to set the value.

The method is only for internal uses.

source
PowerSystems.has_serviceMethod
has_service(device::Device, _::Type{T<:Service}) -> Bool
-

Return true if a service with type T is attached to the device.

source
PowerSystems.remove_service!Method
remove_service!(device::Device, service::Service)
-

Remove a service from a device.

Throws ArgumentError if the service is not attached to the device.

source
PowerSystems.RenewableGenType

Supertype for all renewable generation technologies Requires the implementation of get_ratingand get_power_factor methods

source
PowerSystems.has_serviceMethod
has_service(device::Device, _::Type{T<:Service}) -> Bool
+

Return true if a service with type T is attached to the device.

source
PowerSystems.remove_service!Method
remove_service!(device::Device, service::Service)
+

Remove a service from a device.

Throws ArgumentError if the service is not attached to the device.

source
PowerSystems.RenewableGenType

Supertype for all renewable generation technologies

Requires the implementation of get_ratingand get_power_factor methods

source
PowerSystems.get_max_reactive_powerMethod
get_max_reactive_power(d::RenewableGen) -> Any
+

Return the max reactive power for the Renewable Generation calculated as the rating * sin(acos(power_factor))

source
PowerSystems.ReserveType

A reserve product to be able to respond to unexpected disturbances, such as the sudden loss of a transmission line or generator.

source
PowerSystems.ReserveDownType

A downwards reserve to decrease generation or increase load

Downwards reserves are used when total load falls below its expected level, typically due to forecast errors or contingencies. Not work

A Reserve can be specified as a ReserveDown when it is defined.

source
PowerSystems.ReserveSymmetricType

A symmetric reserve, procuring the same quantity (MW) of both upwards and downwards reserves

A symmetric reserve is a special case. ReserveUp and ReserveDown can be used individually to specify different quantities of upwards and downwards reserves, respectively.

A Reserve can be specified as a ReserveSymmetric when it is defined.

source
PowerSystems.ReserveUpType

An upwards reserve to increase generation or reduce load

Upwards reserves are used when total load exceeds its expected level, typically due to forecast errors or contingencies.

A Reserve can be specified as a ReserveUp when it is defined.

source
PowerSystems.ServiceType

Supertype for all system services

Services (or ancillary services) include additional requirements and support to ensure reliable electricity service to customers. Common services are reserve products to be able to respond quickly to unexpected disturbances, such as the sudden loss of a transmission line or generator.

source
PowerSystems.GeometricDistributionForcedOutageType

Attribute that contains information regarding forced outages where the transition probabilities are modeled with geometric distributions. The outage probabilities and recovery probabilities can be modeled as time series.

Arguments

  • time_to_recovery::Int: Time elapsed to recovery after a failure in Milliseconds.
  • outage_transition_probability::Float64: Characterizes the probability of failure (1 - p) in the geometric distribution.
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.PlannedOutageType

Attribute that contains information regarding planned outages.

Arguments

  • outage_schedule::String: String name of the time series used for the scheduled outages
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.TimeSeriesForcedOutageType

Attribute that contains the representation of the status of the component forced outage. The data can be obtained from the simulation of an stochastic process or historical information.

Arguments

  • outage_status_scenario::String: String name of the time series used for the forced outage status in the model. 1 is used represent outaged and 0 for available.
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.StaticInjectionType

Abstract type for devices that inject power or current

A static injection is a steady state injection, such as modeling the output power of a generator held constant over a five-minute period.

Many StaticInjection models can accept a DynamicInjection model as an optional add-on for conducting dynamic simulations.

source
PowerSystems.StaticInjectionSubsystemType

Abstract type for a subsystem that contains multiple instances of StaticInjection

Subtypes must implement:

  • get_subcomponents(subsystem::StaticInjectionSubsystem)

The subcomponents in subtypes must be attached to the System as masked components.

source
PowerSystems.copy_subcomponent_time_series!Method
copy_subcomponent_time_series!(
+    subsystem::StaticInjectionSubsystem,
+    subcomponent::Component
+)
+

Efficiently add all time series data in the subcomponent to the subsystem by copying the underlying references.

source
PowerSystems.get_dynamic_componentsMethod
get_dynamic_components(
     device::DynamicInjection
 ) -> Base.Generator{I, F} where {I<:(Base.Iterators.Filter{PowerSystems.var"#6#8", I} where I<:(Base.Iterators.Zip{Is} where Is<:Tuple{Any, Tuple})), F<:(PowerSystems.var"#5#7"{<:DynamicInjection})}
-

Return all the dynamic components of a DynamicInjection device

source
PowerSystems.get_states_typesMethod
get_states_types(d::DynamicComponent) -> Vector{StateTypes}
 
Default implementation of get_state_types for dynamic components. Assumes all states are
-Differential
source
PowerSystems.get_breakpoint_upperboundsMethod
get_breakpoint_upperbounds(
-    vc::VariableCost{Vector{Tuple{Float64, Float64}}}
-) -> Vector{Float64}
-

Calculates the upper bounds of a variable cost function represented as a collection of piece-wise linear segments.

source
PowerSystems.get_slopesMethod
get_slopes(
-    vc::VariableCost{Vector{Tuple{Float64, Float64}}}
-) -> Vector{Float64}
-

Calculates the slopes for the variable cost represented as a piece wise linear cost function. This function returns n - slopes for n - piecewise linear elements in the function. The first element of the return array corresponds to the average cost at the minimum operating point. If your formulation uses n -1 slopes, you can disregard the first component of the array. If the first point in the variable cost has a quantity of 0.0, the first slope returned will be 0.0, otherwise, the first slope represents the trajectory to get from the origin to the first point in the variable cost.

source

TimeSeries

InfrastructureSystems.TimeSeriesDataType

Abstract type for time series stored in the system. Components store references to these through TimeSeriesMetadata values so that data can reside on storage media instead of memory.

PowerSystems.AverageRateCurveType

An average rate curve, relating the production quantity to the average cost rate from the origin: y = f(x)/x. Can be used, for instance, in the representation of a CostCurve where x is MW and y is currency/MWh, or in the representation of a FuelCurve where x is MW and y is fuel/MWh. Typically calculated by dividing absolute values of cost rate or fuel input rate by absolute values of electric power.

source
PowerSystems.IncrementalCurveType

An incremental (or 'marginal') curve, relating the production quantity to the derivative of cost: y = f'(x). Can be used, for instance, in the representation of a CostCurve where x is MW and y is currency/MWh, or in the representation of a FuelCurve where x is MW and y is fuel/MWh.

source
PowerSystems.InputOutputCurveType

An input-output curve, directly relating the production quantity to the cost: y = f(x). Can be used, for instance, in the representation of a CostCurve where x is MW and y is currency/hr, or in the representation of a FuelCurve where x is MW and y is fuel/hr.

source
PowerSystems.get_initial_inputMethod
get_initial_input(
+    curve::Union{AverageRateCurve, IncrementalCurve}
+) -> Float64
+

Get the initial_input field of this ValueCurve (not defined for InputOutputCurve)

source
PowerSystems.get_fuel_costMethod
get_fuel_cost(
+    component::StaticInjection;
+    start_time,
+    len
+) -> Union{Float64, TimeSeries.TimeArray}
+

Get the fuel cost of the component's variable cost, which must be a FuelCurve.

source
PowerSystems.get_no_load_costMethod
get_no_load_cost(
+    device::StaticInjection,
+    cost::MarketBidCost;
+    start_time,
+    len
+) -> Union{Float64, TimeSeries.TimeArray}
+

Retrieve the no-load cost data for a StaticInjection device with a MarketBidCost. If this field is a time series, the user may specify start_time and len and the function returns a TimeArray of Float64s; if the field is not a time series, the function returns a single Float64.

source
PowerSystems.get_services_bidMethod
get_services_bid(
+    device::StaticInjection,
+    cost::MarketBidCost,
+    service::Service;
+    start_time,
+    len
+) -> TimeSeries.TimeArray
+

Return service bid time series data for a StaticInjection device with a MarketBidCost. The user may specify start_time and len and the function returns a TimeArray of CostCurves.

source
PowerSystems.get_start_upMethod
get_start_up(
+    device::StaticInjection,
+    cost::MarketBidCost;
+    start_time,
+    len
+) -> Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeries.TimeArray}
+

Retrieve the no-load cost data for a StaticInjection device with a MarketBidCost. If this field is a time series, the user may specify start_time and len and the function returns a TimeArray of Float64s; if the field is not a time series, the function returns a single Float64.

source
PowerSystems.get_variable_costMethod
get_variable_cost(
+    service::ReserveDemandCurve;
+    start_time,
+    len
+) -> Union{CostCurve{PiecewiseIncrementalCurve}, TimeSeries.TimeArray}
+

Retrieve the variable cost data for a ReserveDemandCurve. The user may specify start_time and len and the function returns a TimeArray of CostCurves.

source
PowerSystems.get_variable_costMethod
get_variable_cost(
+    device::StaticInjection,
+    cost::MarketBidCost;
+    start_time,
+    len
+) -> Union{CostCurve{PiecewiseIncrementalCurve}, TimeSeries.TimeArray}
+

Retrieve the variable cost bid for a StaticInjection device with a MarketBidCost. If this field is a time series, the user may specify start_time and len and the function returns a TimeArray of CostCurves; if the field is not a time series, the function returns a single CostCurve.

source
PowerSystems.set_fuel_cost!Method
set_fuel_cost!(
+    sys::System,
+    component::StaticInjection,
+    data::Union{Float64, TimeSeriesData}
+) -> Any
+

Set the fuel cost of the component's variable cost, which must be a FuelCurve.

source
PowerSystems.set_no_load_cost!Method
set_no_load_cost!(
+    sys::System,
+    component::StaticInjection,
+    data::Union{Float64, TimeSeriesData}
+) -> Union{Float64, TimeSeriesKey}
+

Set the no-load cost for a StaticInjection device with a MarketBidCost to either a single number or a time series.

Arguments

  • sys::System: PowerSystem System
  • component::StaticInjection: Static injection device
  • time_series_data::Union{Float64, IS.TimeSeriesData},: the data. If a time series, must be of eltype Float64.
source
PowerSystems.set_service_bid!Method
set_service_bid!(
+    sys::System,
+    component::StaticInjection,
+    service::Service,
+    time_series_data::TimeSeriesData
+)
+

Adds service bids time-series data to the MarketBidCost.

Arguments

  • sys::System: PowerSystem System
  • component::StaticInjection: Static injection device
  • service::Service,: Service for which the device is eligible to contribute
  • time_series_data::IS.TimeSeriesData: TimeSeriesData
source
PowerSystems.set_start_up!Method
set_start_up!(
+    sys::System,
+    component::StaticInjection,
+    data::Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesData}
+) -> Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesKey}
+

Set the startup cost for a StaticInjection device with a MarketBidCost to either a single StartUpStages or a time series.

Arguments

  • sys::System: PowerSystem System
  • component::StaticInjection: Static injection device
  • time_series_data::Union{StartUpStages, IS.TimeSeriesData},: the data. If a time series, must be of eltype NTuple{3, Float64}.
source
PowerSystems.set_variable_cost!Method
set_variable_cost!(
+    _::System,
+    component::ReserveDemandCurve,
+    data::CostCurve{PiecewiseIncrementalCurve}
+) -> CostCurve{PiecewiseIncrementalCurve}
+

Adds fixed energy market bids to the ReserveDemandCurve.

Arguments

  • sys::System: PowerSystem System
  • component::ReserveDemandCurve: the curve
  • `timeseriesdata::CostCurve{PiecewiseIncrementalCurve}
source
PowerSystems.set_variable_cost!Method
set_variable_cost!(
+    sys::System,
+    component::ReserveDemandCurve,
+    data::Union{Nothing, TimeSeriesData}
+) -> TimeSeriesKey
+

Adds energy market bids time-series to the ReserveDemandCurve.

Arguments

  • sys::System: PowerSystem System
  • component::ReserveDemandCurve: the curve
  • time_series_data::IS.TimeSeriesData: TimeSeriesData
source
PowerSystems.set_variable_cost!Method
set_variable_cost!(
+    sys::System,
+    component::StaticInjection,
+    data::Union{Nothing, TimeSeriesData, CostCurve{PiecewiseIncrementalCurve}}
+) -> Any
+

Set the variable cost bid for a StaticInjection device with a MarketBidCost.

Arguments

  • sys::System: PowerSystem System
  • component::StaticInjection: Static injection device
  • time_series_data::Union{Nothing, IS.TimeSeriesData, CostCurve{PiecewiseIncrementalCurve}},: the data. If a time series, must be of eltype PiecewiseStepData.
source

TimeSeries

InfrastructureSystems.TimeSeriesDataType

Abstract type for time series stored in the system. Components store references to these through TimeSeriesMetadata values so that data can reside on storage media instead of memory.

InfrastructureSystems.DeterministicType
mutable struct Deterministic <: AbstractDeterministic
     name::String
-    data::Union{
-        SortedDict{Dates.DateTime, Vector{CONSTANT}},
-        SortedDict{Dates.DateTime, Vector{POLYNOMIAL}},
-        SortedDict{Dates.DateTime, Vector{PWL}},
-    }
+    data::SortedDict
     resolution::Dates.Period
     scaling_factor_multiplier::Union{Nothing, Function}
     internal::InfrastructureSystemsInternal
-end

A deterministic forecast for a particular data field in a Component.

Arguments

  • name::String: user-defined name
  • data::Union{SortedDict{Dates.DateTime, Vector{CONSTANT}}, SortedDict{Dates.DateTime, Vector{POLYNOMIAL}}, SortedDict{Dates.DateTime, Vector{PWL}}}: timestamp - scalingfactor
  • resolution::Dates.Period: forecast resolution
  • scaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.
  • internal::InfrastructureSystemsInternal
InfrastructureSystems.DeterministicMethod
Deterministic(
+end

A deterministic forecast for a particular data field in a Component.

Arguments

  • name::String: user-defined name
  • data::SortedDict: timestamp - scalingfactor
  • resolution::Dates.Period: forecast resolution
  • scaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.
  • internal::InfrastructureSystemsInternal
InfrastructureSystems.DeterministicMethod
Deterministic(
     name::AbstractString,
     input_data::AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray};
     normalization_factor,
@@ -55,13 +132,16 @@
     normalization_factor,
     scaling_factor_multiplier
 ) -> Deterministic
-

Construct Deterministic from RawTimeSeries.

InfrastructureSystems.DeterministicMethod
Deterministic(
+    src::Deterministic,
+    name::AbstractString;
+    scaling_factor_multiplier
+) -> Deterministic
+

Construct Deterministic that shares the data from an existing instance.

This is useful in cases where you want a component to use the same time series data for two different attributes.

InfrastructureSystems.DeterministicMethod
Deterministic(
     forecast::Deterministic,
     data
 ) -> Deterministic
-

Construct a new Deterministic from an existing instance and a subset of data.

InfrastructureSystems.get_dataMethod
get_data(
-    value::Deterministic
-) -> Union{DataStructures.SortedDict{Dates.DateTime, Vector{Vector{Tuple{Float64, Float64}}}}, DataStructures.SortedDict{Dates.DateTime, Vector{Float64}}, DataStructures.SortedDict{Dates.DateTime, Vector{Tuple{Float64, Float64}}}}
+

Construct a new Deterministic from an existing instance and a subset of data.

InfrastructureSystems.get_scaling_factor_multiplierMethod
get_scaling_factor_multiplier(
@@ -78,14 +158,10 @@
     name::String
     resolution::Dates.Period
     percentiles::Vector{Float64}
-    data::Union{
-        SortedDict{Dates.DateTime, Matrix{CONSTANT}},
-        SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}},
-        SortedDict{Dates.DateTime, Matrix{PWL}},
-    }
+    data::SortedDict
     scaling_factor_multiplier::Union{Nothing, Function}
     internal::InfrastructureSystemsInternal
-end

A Probabilistic forecast for a particular data field in a Component.

Arguments

  • name::String: user-defined name
  • resolution::Dates.Period: forecast resolution
  • percentiles::Vector{Float64}: Percentiles for the probabilistic forecast
  • data::Union{SortedDict{Dates.DateTime, Matrix{CONSTANT}}, SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}}, SortedDict{Dates.DateTime, Matrix{PWL}}}: timestamp - scalingfactor
  • scaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.
  • internal::InfrastructureSystemsInternal
InfrastructureSystems.ProbabilisticMethod
Probabilistic(
+end

A Probabilistic forecast for a particular data field in a Component.

Arguments

  • name::String: user-defined name
  • resolution::Dates.Period: forecast resolution
  • percentiles::Vector{Float64}: Percentiles for the probabilistic forecast
  • data::SortedDict: timestamp - scalingfactor
  • scaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.
  • internal::InfrastructureSystemsInternal
InfrastructureSystems.ProbabilisticMethod
Probabilistic(
     name::AbstractString,
     input_data::AbstractDict,
     percentiles::Vector,
@@ -108,9 +184,12 @@
     normalization_factor,
     scaling_factor_multiplier
 ) -> Probabilistic
-

Construct Deterministic from RawTimeSeries.

InfrastructureSystems.get_dataMethod
get_data(
-    value::Probabilistic
-) -> Union{DataStructures.SortedDict{Dates.DateTime, Matrix{Vector{Tuple{Float64, Float64}}}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Float64}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Tuple{Float64, Float64}}}}
+

Construct Deterministic from RawTimeSeries.

InfrastructureSystems.ProbabilisticMethod
Probabilistic(
+    src::Probabilistic,
+    name::AbstractString;
+    scaling_factor_multiplier
+) -> Probabilistic
+

Construct a Probabilistic that shares the data from an existing instance.

This is useful in cases where you want a component to use the same time series data for two different attributes.

InfrastructureSystems.get_resolutionMethod
get_resolution(value::Probabilistic) -> Dates.Period
@@ -129,14 +208,10 @@
     name::String
     resolution::Dates.Period
     scenario_count::Int64
-    data::Union{
-        SortedDict{Dates.DateTime, Matrix{CONSTANT}},
-        SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}},
-        SortedDict{Dates.DateTime, Matrix{PWL}},
-    }
+    data::SortedDict
     scaling_factor_multiplier::Union{Nothing, Function}
     internal::InfrastructureSystemsInternal
-end

A Discrete Scenario Based time series for a particular data field in a Component.

Arguments

  • name::String: user-defined name
  • resolution::Dates.Period: forecast resolution
  • scenario_count::Int64: Number of scenarios
  • data::Union{SortedDict{Dates.DateTime, Matrix{CONSTANT}}, SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}}, SortedDict{Dates.DateTime, Matrix{PWL}}}: timestamp - scalingfactor
  • scaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.
  • internal::InfrastructureSystemsInternal
InfrastructureSystems.ScenariosMethod
Scenarios(
+end

A Discrete Scenario Based time series for a particular data field in a Component.

Arguments

  • name::String: user-defined name
  • resolution::Dates.Period: forecast resolution
  • scenario_count::Int64: Number of scenarios
  • data::SortedDict: timestamp - scalingfactor
  • scaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.
  • internal::InfrastructureSystemsInternal
InfrastructureSystems.ScenariosMethod
Scenarios(
     name::AbstractString,
     input_data::AbstractDict,
     resolution::Dates.Period;
@@ -149,9 +224,12 @@
     normalization_factor,
     scaling_factor_multiplier
 ) -> Scenarios
-

Construct Scenarios from a Dict of TimeArrays.

Arguments

  • name::AbstractString: user-defined name
  • input_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
  • timestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.
InfrastructureSystems.get_dataMethod
get_data(
-    value::Scenarios
-) -> Union{DataStructures.SortedDict{Dates.DateTime, Matrix{Vector{Tuple{Float64, Float64}}}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Float64}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Tuple{Float64, Float64}}}}
+

Construct Scenarios from a Dict of TimeArrays.

Arguments

  • name::AbstractString: user-defined name
  • input_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
  • timestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.
InfrastructureSystems.ScenariosMethod
Scenarios(
+    src::Scenarios,
+    name::AbstractString;
+    scaling_factor_multiplier
+) -> Scenarios
+

Construct Scenarios that shares the data from an existing instance.

This is useful in cases where you want a component to use the same time series data for two different attributes.

InfrastructureSystems.get_scaling_factor_multiplierMethod
get_scaling_factor_multiplier(
@@ -189,7 +267,12 @@
     scaling_factor_multiplier,
     timestamp
 ) -> SingleTimeSeries
-

Construct SingleTimeSeries from a TimeArray or DataFrame.

Arguments

  • name::AbstractString: user-defined name
  • data::Union{TimeSeries.TimeArray, DataFrames.DataFrame}: time series data
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
  • timestamp = :timestamp: If a DataFrame is passed then this must be the column name that contains timestamps.
InfrastructureSystems.SingleTimeSeriesMethod
SingleTimeSeries(
+

Construct SingleTimeSeries from a TimeArray or DataFrame.

Arguments

  • name::AbstractString: user-defined name
  • data::Union{TimeSeries.TimeArray, DataFrames.DataFrame}: time series data
  • normalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry
  • scaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.
  • timestamp = :timestamp: If a DataFrame is passed then this must be the column name that contains timestamps.
InfrastructureSystems.SingleTimeSeriesMethod
SingleTimeSeries(
+    src::SingleTimeSeries,
+    name::AbstractString;
+    scaling_factor_multiplier
+) -> SingleTimeSeries
+

Construct SingleTimeSeries that shares the data from an existing instance.

This is useful in cases where you want a component to use the same time series data for two different attribtues.

InfrastructureSystems.SingleTimeSeriesMethod
SingleTimeSeries(
     time_series::SingleTimeSeries,
     data::TimeSeries.TimeArray
 ) -> Any
@@ -205,7 +288,9 @@
 ) -> SingleTimeSeries
 

Return a time_series truncated starting with timestamp.

InfrastructureSystems.get_initial_timestampMethod
get_initial_timestamp(
     value::DeterministicSingleTimeSeries
 ) -> Dates.DateTime
@@ -254,7 +339,9 @@
     period::Function,
     t::Integer
 ) -> Any
-

Refer to TimeSeries.when(). Underlying data is copied.

InfrastructureSystems.get_initial_timesMethod
get_initial_times(
+    f::Forecast
+) -> DataStructures.SDMKeyIteration{T} where T<:DataStructures.SortedDict
 

Return the initial times in the forecast.

InfrastructureSystems.index_to_initial_timeMethod
index_to_initial_time(
@@ -278,31 +365,31 @@
 System(base_power, buses, generators, loads; kwargs...)
 System(file; kwargs...)
 System(; buses, generators, loads, branches, storage, base_power, services, kwargs...)
-System(; kwargs...)

Arguments

  • base_power::Float64: the base power value for the system
  • buses::Vector{ACBus}: an array of buses
  • components...: Each element must be an iterable containing subtypes of Component.

Keyword arguments

  • ext::Dict: Contains user-defined parameters. Should only contain standard types.
  • runchecks::Bool: Run available checks on input fields and when add_component! is called. Throws InvalidValue if an error is found.
  • time_series_in_memory::Bool=false: Store time series data in memory instead of HDF5.
  • enable_compression::Bool=false: Enable compression of time series data in HDF5.
  • compression::CompressionSettings: Allows customization of HDF5 compression settings.
  • config_path::String: specify path to validation config file
source
PowerSystems.SystemMethod
System(
+System(; kwargs...)

Arguments

  • base_power::Float64: the base power value for the system
  • buses::Vector{ACBus}: an array of buses
  • components...: Each element must be an iterable containing subtypes of Component.

Keyword arguments

  • ext::Dict: Contains user-defined parameters. Should only contain standard types.
  • runchecks::Bool: Run available checks on input fields and when add_component! is called. Throws InvalidValue if an error is found.
  • time_series_in_memory::Bool=false: Store time series data in memory instead of HDF5.
  • enable_compression::Bool=false: Enable compression of time series data in HDF5.
  • compression::CompressionSettings: Allows customization of HDF5 compression settings.
  • config_path::String: specify path to validation config file
source
PowerSystems.SystemMethod
System(
     sys_file::AbstractString,
     dyr_file::AbstractString;
     kwargs...
 ) -> Any
 

Parse static and dynamic data directly from PSS/e text files. Automatically generates all the relationships between the available dynamic injection models and the static counterpart

Each dictionary indexed by id contains a vector with 5 of its components:

  • Machine
  • Shaft
  • AVR
  • TurbineGov
  • PSS

Files must be parsed from a .raw file (PTI data format) and a .dyr file.

Examples:

raw_file = "Example.raw"
 dyr_file = "Example.dyr"
-sys = System(raw_file, dyr_file)
source
PowerSystems.SystemMethod
System(
     file_path::AbstractString;
     assign_new_uuids,
     kwargs...
 ) -> Any
-

Constructs a System from a file path ending with .m, .RAW, or .json

If the file is JSON then assignnewuuids = true will generate new UUIDs for the system and all components.

source
PowerSystems.SystemMethod
System(
+

Constructs a System from a file path ending with .m, .RAW, or .json

If the file is JSON then assignnewuuids = true will generate new UUIDs for the system and all components.

source
PowerSystems.SystemMethod
System(
     data,
     base_power::Number;
     internal,
     kwargs...
 ) -> System
-

Construct a System from InfrastructureSystems.SystemData

source
PowerSystems.SystemMethod
System(
     base_power::Float64,
     buses::Vector{ACBus},
     components...;
     kwargs...
 ) -> System
-

System constructor when components are constructed externally.

source
PowerSystems.SystemMethod
System(
     ::Nothing;
     buses,
     generators,
@@ -313,8 +400,8 @@
     services,
     kwargs...
 ) -> System
-

Constructs a non-functional System for demo purposes.

source
PowerSystems.SystemMethod
System(base_power::Number; kwargs...) -> System
-

Construct an empty System. Useful for building a System while parsing raw data.

source
PowerSystems.SystemMethod
System(base_power::Number; kwargs...) -> System
+

Construct an empty System. Useful for building a System while parsing raw data.

source
PowerSystems.SystemMethod
System(
     data::PowerSystemTableData;
     time_series_resolution,
     time_series_in_memory,
@@ -322,13 +409,35 @@
     runchecks,
     kwargs...
 ) -> System
-

Construct a System from PowerSystemTableData data.

Arguments

  • time_series_resolution::Union{DateTime, Nothing}=nothing: only store time_series that match this resolution.
  • time_series_in_memory::Bool=false: Store time series data in memory instead of HDF5 file
  • time_series_directory=nothing: Store time series data in directory instead of tmpfs
  • runchecks::Bool=true: Validate struct fields.

Throws DataFormatError if time_series with multiple resolutions are detected.

  • A time_series has a different resolution than others.
  • A time_series has a different horizon than others.
source
PowerSystems.SystemMethod
System(pm_data::PowerModelsData; kwargs...) -> Any
+

Construct a System from PowerSystemTableData data.

Arguments

  • time_series_resolution::Union{DateTime, Nothing}=nothing: only store time_series that match this resolution.
  • time_series_in_memory::Bool=false: Store time series data in memory instead of HDF5 file
  • time_series_directory=nothing: Store time series data in directory instead of tmpfs
  • runchecks::Bool=true: Validate struct fields.

Throws DataFormatError if time_series with multiple resolutions are detected.

  • A time_series has a different resolution than others.
  • A time_series has a different horizon than others.
source
PowerSystems.SystemMethod
System(pm_data::PowerModelsData; kwargs...) -> Any
 

Constructs a System from PowerModelsData.

Arguments

  • pm_data::Union{PowerModelsData, Union{String, IO}}: PowerModels data object or supported

load flow case (*.m, *.raw)

Keyword arguments

  • ext::Dict: Contains user-defined parameters. Should only contain standard types.
  • runchecks::Bool: Run available checks on input fields and when add_component! is called. Throws InvalidValue if an error is found.
  • time_series_in_memory::Bool=false: Store time series data in memory instead of HDF5.
  • config_path::String: specify path to validation config file
  • pm_data_corrections::Bool=true : Run the PowerModels data corrections (aka :validate in PowerModels)
  • import_all:Bool=false : Import all fields from PTI files

Examples

sys = System(
     pm_data, config_path = "ACTIVSg25k_validation.json",
     bus_name_formatter = x->string(x["name"]*"-"*string(x["index"])),
     load_name_formatter = x->strip(join(x["source_id"], "_"))
-)
source
InfrastructureSystems.from_jsonMethod
from_json(
+    io::Union{IO, String},
+    ::Type{System};
+    runchecks,
+    assign_new_uuids,
+    kwargs...
+) -> System
+

If assignnewuuids = true, generate new UUIDs for the system and all components.

Warning: time series data is not restored by this method. If that is needed, use the normal process to construct the system from a serialized JSON file instead, such as with System("sys.json").

source
InfrastructureSystems.get_supplemental_attributesMethod
get_supplemental_attributes(
+    filter_func::Function,
+    _::Type{T<:SupplementalAttribute},
+    sys::System
+) -> InfrastructureSystems.FlattenIteratorWrapper{T, I} where {T<:SupplementalAttribute, I<:(Vector)}
+

Returns an iterator of supplemental attributes. T can be concrete or abstract. Call collect on the result if an array is desired.

Examples

iter = get_supplemental_attributes(GeometricDistributionForcedOutage, sys)
+iter = get_supplemental_attributes(Outage, sys)
+iter = get_supplemental_attributes(x -> get_mean_time_to_recovery(x) ==  >= 0.5, GeometricDistributionForcedOutage, sys)
+outages = get_supplemental_attributes(GeometricDistributionForcedOutage, sys) do outage
+    get_mean_time_to_recovery(x) ==  >= 0.5
+end
+outages = collect(get_supplemental_attributes(GeometricDistributionForcedOutage, sys))

See also: iterate_supplemental_attributes

source
InfrastructureSystems.get_time_series_multipleFunction
get_time_series_multiple(sys::System; ...) -> Channel{Any}
 get_time_series_multiple(
     sys::System,
     filter_func;
@@ -339,20 +448,20 @@
     @show time_series
 end
 
-ts = collect(get_time_series_multiple(sys; type = SingleTimeSeries))
source
InfrastructureSystems.set_name!Method
set_name!(
     component::Component,
     name::AbstractString
 ) -> AbstractString
-

Set the name of a component.

Throws an exception if the component is attached to a system.

source
InfrastructureSystems.to_jsonMethod
to_json(
     sys::System,
     filename::AbstractString;
     user_data,
@@ -360,13 +469,13 @@
     force,
     runchecks
 )
-

Serializes a system to a JSON string.

Arguments

  • sys::System: system
  • filename::AbstractString: filename to write

Keyword arguments

  • user_data::Union{Nothing, Dict} = nothing: optional metadata to record
  • pretty::Bool = false: whether to pretty-print the JSON
  • force::Bool = false: whether to overwrite existing files
  • check::Bool = false: whether to run system validation checks

Refer to check_component for exceptions thrown if check = true.

source
PowerSystems.add_component!Method
add_component!(
+

Serializes a system to a JSON file and saves time series to an HDF5 file.

Arguments

  • sys::System: system
  • filename::AbstractString: filename to write

Keyword arguments

  • user_data::Union{Nothing, Dict} = nothing: optional metadata to record
  • pretty::Bool = false: whether to pretty-print the JSON
  • force::Bool = false: whether to overwrite existing files
  • check::Bool = false: whether to run system validation checks

Refer to check_component for exceptions thrown if check = true.

source
PowerSystems.add_component!Method
add_component!(
     sys::System,
     dyn_injector::DynamicInjection,
     static_injector::StaticInjection;
     kwargs...
 )
-

Add a dynamic injector to the system.

Throws ArgumentError if the name does not match the staticinjector name. Throws ArgumentError if the staticinjector is not attached to the system.

All rules for the generic add_component! method also apply.

source
PowerSystems.add_component!Method
add_component!(
+

Add a dynamic injector to the system.

Throws ArgumentError if the name does not match the staticinjector name. Throws ArgumentError if the staticinjector is not attached to the system.

All rules for the generic add_component! method also apply.

source
PowerSystems.add_component!Method
add_component!(
     sys::System,
     component::Component;
     skip_validation,
@@ -380,118 +489,160 @@
 # Add many at once.
 buses = [bus1, bus2, bus3]
 generators = [gen1, gen2, gen3]
-foreach(x -> add_component!(sys, x), Iterators.flatten((buses, generators)))
source
PowerSystems.add_components!Method
add_components!(sys::System, components)
 

Add many components to the system at once.

Throws ArgumentError if the component's name is already stored for its concrete type. Throws ArgumentError if any Component-specific rule is violated. Throws InvalidValue if any of the component's field values are outside of defined valid range.

Examples

sys = System(100.0)
 
 buses = [bus1, bus2, bus3]
 generators = [gen1, gen2, gen3]
-foreach(x -> add_component!(sys, x), Iterators.flatten((buses, generators)))
source
PowerSystems.add_service!Method
add_service!(device::Device, service::Service, sys::System)
-

Similar to add_service! but for Service and Device already stored in the system. Performs validation checks on the device and the system

Arguments

  • device::Device: Device
  • service::Service: Service
  • sys::System: system
source
PowerSystems.add_service!Method
add_service!(device::Device, service::Service, sys::System)
+

Similar to add_service! but for Service and Device already stored in the system. Performs validation checks on the device and the system

Arguments

  • device::Device: Device
  • service::Service: Service
  • sys::System: system
source
PowerSystems.add_service!Method
add_service!(
     sys::System,
-    service::Service,
-    contributing_devices;
+    service::ConstantReserveGroup,
+    contributing_services::Vector{<:Service};
+    skip_validation,
     kwargs...
 )
-

Similar to add_component! but for services.

Arguments

  • sys::System: system
  • service::Service: service to add
  • contributing_devices: Must be an iterable of type Device
source
PowerSystems.add_service!Method
add_service!(
+

Similar to add_component! but for ConstantReserveGroup.

Arguments

  • sys::System: system
  • service::ConstantReserveGroup: service to add
  • contributing_services: contributing services to the group
source
PowerSystems.add_service!Method
add_service!(
     sys::System,
-    service::Service,
-    contributing_device::Device;
+    service::ConstantReserveGroup;
+    skip_validation,
     kwargs...
 )
-

Similar to add_component! but for services.

Arguments

  • sys::System: system
  • service::Service: service to add
  • contributing_device::Device: Valid Device
source
PowerSystems.add_service!Method
add_service!(
     sys::System,
-    service::StaticReserveGroup,
-    contributing_services::Vector{<:Service};
-    skip_validation,
+    service::Service,
+    contributing_devices;
     kwargs...
 )
-

Similar to add_component! but for StaticReserveGroup.

Arguments

  • sys::System: system
  • service::StaticReserveGroup: service to add
  • contributing_services: contributing services to the group
source
PowerSystems.add_service!Method
add_service!(
     sys::System,
-    service::StaticReserveGroup;
-    skip_validation,
+    service::Service,
+    contributing_device::Device;
     kwargs...
 )
-

Similar to add_component! but for StaticReserveGroup.

Arguments

  • sys::System: system
  • service::StaticReserveGroup: service to add
source
PowerSystems.add_supplemental_attribute!Method
add_supplemental_attribute!(
+    sys::System,
+    component::Component,
+    attribute::SupplementalAttribute
+)
+

Add a supplemental attribute to the component. The attribute may already be attached to a different component.

source
PowerSystems.add_time_series!Method
add_time_series!(
     sys::System,
     metadata_file::AbstractString;
     resolution
-)
-

Add time series data from a metadata file or metadata descriptors.

Arguments

  • sys::System: system
  • metadata_file::AbstractString: metadata file for timeseries that includes an array of IS.TimeSeriesFileMetadata instances or a vector.
  • resolution::DateTime.Period=nothing: skip time series that don't match this resolution.
source
PowerSystems.add_time_series!Method
add_time_series!(
+) -> Vector{TimeSeriesKey}
+

Add time series data from a metadata file or metadata descriptors.

Arguments

  • sys::System: system
  • metadata_file::AbstractString: metadata file for timeseries that includes an array of IS.TimeSeriesFileMetadata instances or a vector.
  • resolution::DateTime.Period=nothing: skip time series that don't match this resolution.
source
PowerSystems.add_time_series!Method
add_time_series!(
     sys::System,
     components,
-    time_series::TimeSeriesData
-)
-

Add the same time series data to multiple components.

This is significantly more efficent than calling add_time_series! for each component individually with the same data because in this case, only one time series array is stored.

Throws ArgumentError if a component is not stored in the system.

source
PowerSystems.add_time_series!Method
add_time_series!(
+    time_series::TimeSeriesData;
+    features...
+) -> TimeSeriesKey
+

Add the same time series data to multiple components.

This is significantly more efficent than calling add_time_series! for each component individually with the same data because in this case, only one time series array is stored.

Throws ArgumentError if a component is not stored in the system.

source
PowerSystems.add_time_series!Method
add_time_series!(
     sys::System,
     component::Component,
-    time_series::TimeSeriesData
-)
-

Add time series data to a component.

Throws ArgumentError if the component is not stored in the system.

source
PowerSystems.add_time_series!Method
add_time_series!(
+    time_series::TimeSeriesData;
+    features...
+) -> TimeSeriesKey
+

Add time series data to a component.

Throws ArgumentError if the component is not stored in the system.

source
PowerSystems.add_time_series!Method
add_time_series!(
     sys::System,
     file_metadata::Vector{InfrastructureSystems.TimeSeriesFileMetadata};
     resolution
+) -> Vector{TimeSeriesKey}
+

Add time series data from a metadata file or metadata descriptors.

Arguments

  • sys::System: system
  • timeseries_metadata::Vector{IS.TimeSeriesFileMetadata}: metadata for timeseries
  • resolution::DateTime.Period=nothing: skip time series that don't match this resolution.
source
PowerSystems.bulk_add_time_series!Method
bulk_add_time_series!(
+    sys::System,
+    associations;
+    batch_size
+) -> Vector{TimeSeriesKey}
+

Add many time series in bulk. This method is advantageous when adding thousands of time series arrays because of the overhead in writing the time series to the underlying storage.

Arguments

  • sys::System: system
  • associations: Iterable of TimeSeriesAssociation instances. Using a Vector is not recommended. Pass a Generator or Iterator to avoid loading all time series data into system memory at once.
  • batch_size::Int: Number of time series to add per batch. Defaults to 100.

Examples

resolution = Dates.Hour(1)
+associations = (
+    IS.TimeSeriesAssociation(
+        gen,
+        Deterministic(
+            data = read_time_series(get_name(gen) * ".csv"),
+            name = "get_max_active_power",
+            resolution=resolution),
+    )
+    for gen in get_components(ThermalStandard, sys)
 )
-

Add time series data from a metadata file or metadata descriptors.

Arguments

  • sys::System: system
  • timeseries_metadata::Vector{IS.TimeSeriesFileMetadata}: metadata for timeseries
  • resolution::DateTime.Period=nothing: skip time series that don't match this resolution.
source
PowerSystems.check_componentMethod
check_component(sys::System, component::Component)
-

Check the values of a component.

Throws InvalidValue if any of the component's field values are outside of defined valid range or if the custom validate method for the type fails its check.

source
PowerSystems.check_componentMethod
check_component(sys::System, component::Component)
+

Check the values of a component.

Throws InvalidValue if any of the component's field values are outside of defined valid range or if the custom validate method for the type fails its check.

source
PowerSystems.check_time_series_consistencyMethod
check_time_series_consistency(
     sys::System,
     _::Type{T<:TimeSeriesData}
-) -> Union{Nothing, Tuple{Any, Int64}}
-

Checks time series in the system for inconsistencies.

For SingleTimeSeries, returns a Tuple of initial_timestamp and length.

This is a no-op for subtypes of Forecast because those are already guaranteed to be consistent.

Throws InfrastructureSystems.InvalidValue if any time series is inconsistent.

source
PowerSystems.convert_component!Method
convert_component!(
+) -> Union{Nothing, Tuple{Any, Any}}
+

Checks time series in the system for inconsistencies.

For SingleTimeSeries, returns a Tuple of initial_timestamp and length.

This is a no-op for subtypes of Forecast because those are already guaranteed to be consistent.

Throws InfrastructureSystems.InvalidValue if any time series is inconsistent.

source
PowerSystems.convert_component!Method
convert_component!(
     sys::System,
     line::Line,
     linetype::Type{MonitoredLine};
     kwargs...
 )
-

Converts a Line component to a MonitoredLine component and replaces the original in the system

source
PowerSystems.convert_component!Method
convert_component!(
     sys::System,
     line::MonitoredLine,
     linetype::Type{Line};
     kwargs...
 )
-

Converts a MonitoredLine component to a Line component and replaces the original in the system

source
PowerSystems.convert_component!Method
convert_component!(
     sys::System,
     old_load::PowerLoad,
     new_type::Type{StandardLoad};
     kwargs...
 )
-

Converts a PowerLoad component to a StandardLoad component and replaces the original in the system. Does not set any fields in StandardLoad that lack a PowerLoad equivalent

source
PowerSystems.get_aggregation_topology_mappingMethod
get_aggregation_topology_mapping(
+

Converts a PowerLoad component to a StandardLoad component and replaces the original in the system. Does not set any fields in StandardLoad that lack a PowerLoad equivalent.

source
PowerSystems.from_subsystemMethod
from_subsystem(
+    sys::System,
+    subsystem::AbstractString;
+    runchecks
+) -> System
+

Construct a System from a subsystem of an existing system.

source
PowerSystems.get_busMethod
get_bus(
     sys::System,
     name::AbstractString
-) -> Union{Nothing, ACBus}
-

Return bus with name.

source
PowerSystems.get_busesMethod
get_buses(
+) -> Union{Nothing, InfrastructureSystems.InfrastructureSystemsComponent}
+

Return bus with name.

source
PowerSystems.get_busesMethod
get_buses(
     sys::System,
     aggregator::AggregationTopology
 ) -> Vector{ACBus}
-

Return a vector of buses contained within the AggregationTopology.

source
PowerSystems.get_busesMethod
get_buses(
     sys::System,
     bus_numbers::Set{Int64}
 ) -> Vector{ACBus}
-

Return all buses values with bus_numbers.

source
PowerSystems.get_componentMethod
get_component(
+    sys::System,
+    uuid::Base.UUID
+) -> InfrastructureSystems.InfrastructureSystemsComponent
+

Get the component by UUID.

source
PowerSystems.get_componentMethod
get_component(
     _::Type{T<:Component},
     sys::System,
     name::AbstractString
+) -> Union{Nothing, InfrastructureSystems.InfrastructureSystemsComponent}
+

Get the component of type T with name. Returns nothing if no component matches. If T is an abstract type then the names of components across all subtypes of T must be unique.

See get_components_by_name for abstract types with non-unique names across subtypes.

Throws ArgumentError if T is not a concrete type and there is more than one component with requested name

source
PowerSystems.get_componentsMethod
get_components(
+    sys::System,
+    attribute::SupplementalAttribute
 ) -> Any
-

Get the component of type T with name. Returns nothing if no component matches. If T is an abstract type then the names of components across all subtypes of T must be unique.

See get_components_by_name for abstract types with non-unique names across subtypes.

Throws ArgumentError if T is not a concrete type and there is more than one component with requested name

source
PowerSystems.get_componentsMethod
get_components(
-    _::Type{T<:Component},
-    sys::System
+

Return a vector of components that are attached to the supplemental attribute.

source
PowerSystems.get_componentsMethod
get_components(
+    ::Type{T<:Component},
+    sys::System;
+    subsystem_name
 ) -> InfrastructureSystems.FlattenIteratorWrapper{T, I} where {T<:Component, I<:(Vector)}
 

Returns an iterator of components. T can be concrete or abstract. Call collect on the result if an array is desired.

Examples

iter = PowerSystems.get_components(ThermalStandard, sys)
 iter = PowerSystems.get_components(Generator, sys)
@@ -500,177 +651,245 @@
     get_available(gen)
 end
 generators = collect(PowerSystems.get_components(Generator, sys))
-

See also: iterate_components

source
PowerSystems.get_components_by_nameMethod
get_components_by_name(
     _::Type{T<:Component},
     sys::System,
     name::AbstractString
 ) -> Vector{T} where T<:InfrastructureSystems.InfrastructureSystemsComponent
-

Get the components of abstract type T with name. Note that PowerSystems enforces unique names on each concrete type but not across concrete types.

See get_component if the concrete type is known.

Throws ArgumentError if T is not an abstract type.

source
PowerSystems.get_components_in_aggregation_topologyMethod
get_components_in_aggregation_topology(
+

Get the components of abstract type T with name. Note that PowerSystems enforces unique names on each concrete type but not across concrete types.

See get_component if the concrete type is known.

Throws ArgumentError if T is not an abstract type.

source
PowerSystems.get_components_in_aggregation_topologyMethod
get_components_in_aggregation_topology(
     _::Type{T<:StaticInjection},
     sys::System,
     aggregator::AggregationTopology
 ) -> Vector{T} where T<:StaticInjection
-

Return a vector of components with buses in the AggregationTopology.

source
PowerSystems.get_extMethod
get_ext(sys::System) -> Union{Nothing, Dict{String, Any}}
-

Return a user-modifiable dictionary to store extra information.

source
PowerSystems.get_extMethod
get_ext(sys::System) -> Union{Nothing, Dict{String, Any}}
+

Return a user-modifiable dictionary to store extra information.

source
PowerSystems.get_time_series_resolutionsMethod
get_time_series_resolutions(
+    sys::System;
+    time_series_type
+) -> Any
+

Return a sorted Vector of distinct resolutions for all time series of the given type (or all types).

source
PowerSystems.has_componentMethod
has_component(
+    sys::System,
+    T::Type{<:Component},
+    name::AbstractString
+) -> Bool
+

Check to see if the component of type T with name exists.

source
PowerSystems.iterate_componentsMethod
iterate_components(
     sys::System
-) -> Tuple{Int64, Any, Any}
-

Return a tuple of counts of components with time series and total time series and forecasts.

source
PowerSystems.iterate_componentsMethod
iterate_components(sys::System) -> Channel{Any}
+) -> Base.Iterators.Flatten{Base.Generator{Base.ValueIterator{Dict{DataType, Dict{String, <:InfrastructureSystems.InfrastructureSystemsComponent}}}, InfrastructureSystems.var"#112#113"}}
 

Iterates over all components.

Examples

for component in iterate_components(sys)
     @show component
-end

See also: get_components

source
PowerSystems.remove_component!Method
remove_component!(sys::System, component::Component)
-

Remove a component from the system by its value.

Throws ArgumentError if the component is not stored.

source
PowerSystems.iterate_supplemental_attributesMethod
iterate_supplemental_attributes(
+    sys::System
+) -> Base.Iterators.Flatten{Base.Generator{Base.ValueIterator{Dict{DataType, Dict{Base.UUID, <:SupplementalAttribute}}}, InfrastructureSystems.var"#112#113"}}
+

Iterates over all supplemental_attributes.

Examples

for supplemental_attribute in iterate_supplemental_attributes(sys)
+    @show supplemental_attribute
+end

See also: get_supplemental_attributes

source
PowerSystems.open_time_series_store!Function
open_time_series_store!(
+    func::Function,
+    sys::System;
+    ...
+) -> Any
+open_time_series_store!(
+    func::Function,
+    sys::System,
+    mode,
+    args...;
+    kwargs...
+) -> Any
+

Open the time series store for bulk additions or reads. This is recommended before calling addtimeseries! many times because of the overhead associated with opening and closing an HDF5 file.

This is not necessary for an in-memory time series store.

Examples

# Assume there is a system with an array of components and SingleTimeSeries
+open_time_series_store!(sys, "r+") do
+    for (component, ts) in zip(components, single_time_series)
+        add_time_series!(sys, component, ts)
+    end
+end

julia>

source
PowerSystems.remove_component!Method
remove_component!(sys::System, component::Component)
+

Remove a component from the system by its value.

Throws ArgumentError if the component is not stored.

source
PowerSystems.remove_component!Method
remove_component!(
     _::Type{T<:Component},
     sys::System,
     name::AbstractString
 )
-

Remove a component from the system by its name.

Throws ArgumentError if the component is not stored.

source
PowerSystems.remove_supplemental_attribute!Method
remove_supplemental_attribute!(
+    sys::System,
+    component::Component,
+    attribute::SupplementalAttribute
+)
+

Remove the supplemental attribute from the component. The attribute will be removed from the system if it is not attached to any other component.

source
PowerSystems.remove_time_series!Method
remove_time_series!(
     sys::System,
     _::Type{T<:TimeSeriesData},
     component::Component,
     name::String
 )
-

Remove the time series data for a component and time series type.

source
PowerSystems.set_contributing_services!Method
set_contributing_services!(
     sys::System,
-    service::StaticReserveGroup,
+    service::ConstantReserveGroup,
     val::Vector{<:Service}
 )
-

Set StaticReserveGroup contributing_services with check

source
PowerSystems.set_runchecks!Method
set_runchecks!(sys::System, value::Bool)
-

Enable or disable system checks. Applies to component addition as well as overall system consistency.

source
PowerSystems.set_units_base_system!Method
set_units_base_system!(system::System, settings::String)
-

Sets the units base for the getter functions on the devices. It modifies the behavior of all getter functions

source
PowerSystems.set_runchecks!Method
set_runchecks!(sys::System, value::Bool)
+

Enable or disable system checks. Applies to component addition as well as overall system consistency.

source
PowerSystems.set_units_base_system!Method
set_units_base_system!(system::System, settings::String)
+

Sets the units base for the getter functions on the devices. It modifies the behavior of all getter functions

source
PowerSystems.transform_single_time_series!Method
transform_single_time_series!(
     sys::System,
-    horizon::Int64,
+    horizon::Dates.Period,
     interval::Dates.Period
 )
-

Transform all instances of SingleTimeSeries to DeterministicSingleTimeSeries.

source
PowerSystems.validate_component_with_systemMethod
validate_component_with_system(
+

Transform all instances of SingleTimeSeries to DeterministicSingleTimeSeries. If all SingleTimeSeries instances cannot be transformed then none will be.

Any existing DeterministicSingleTimeSeries forecasts will be deleted even if the inputs are invalid.

source

Additional Component Methods

PowerSystems.get_max_reactive_powerMethod
get_max_reactive_power(d::RenewableDispatch) -> Any
-

Return the max reactive power for the Renewable Generation calculated as the rating * powerfactor if reactivepower_limits is nothing

source

Additional Component Methods

PowerSystems.get_max_reactive_powerMethod
get_max_reactive_power(d::RenewableDispatch) -> Any
+

Return the max reactive power for the Renewable Generation calculated as the rating * powerfactor if reactivepower_limits is nothing

source
InfrastructureSystems.get_time_seriesFunction
get_time_series(
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
+    key::TimeSeriesKey
+) -> Any
+get_time_series(
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
+    key::TimeSeriesKey,
+    start_time::Union{Nothing, Dates.DateTime}
+) -> Any
+get_time_series(
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
+    key::TimeSeriesKey,
+    start_time::Union{Nothing, Dates.DateTime},
+    len::Union{Nothing, Int64}
+) -> Any
+get_time_series(
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
+    key::TimeSeriesKey,
+    start_time::Union{Nothing, Dates.DateTime},
+    len::Union{Nothing, Int64},
+    count::Union{Nothing, Int64}
+) -> Any
+

Return a time series corresponding to the given parameters.

Arguments

  • owner::TimeSeriesOwners: Component or attribute containing the time series
  • key::TimeSeriesKey: the time series' key
  • start_time::Union{Nothing, Dates.DateTime} = nothing: If nothing, use the initial_timestamp of the time series. If the time series is a subtype of Forecast then start_time must be the first timstamp of a window.
  • len::Union{Nothing, Int} = nothing: Length in the time dimension. If nothing, use the entire length.
  • count::Union{Nothing, Int} = nothing: Only applicable to subtypes of Forecast. Number of forecast windows starting at start_time to return. Defaults to all available.
InfrastructureSystems.get_time_seriesMethod
get_time_series(
     ::Type{T<:TimeSeriesData},
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     name::AbstractString;
     start_time,
     len,
-    count
+    count,
+    features...
 ) -> Any
-

Return a time series corresponding to the given parameters.

Arguments

  • ::Type{T}: Concrete subtype of TimeSeriesData to return
  • component::InfrastructureSystemsComponent: Component containing the time series
  • name::AbstractString: name of time series
  • start_time::Union{Nothing, Dates.DateTime} = nothing: If nothing, use the initial_timestamp of the time series. If T is a subtype of Forecast then start_time must be the first timstamp of a window.
  • len::Union{Nothing, Int} = nothing: Length in the time dimension. If nothing, use the entire length.
  • count::Union{Nothing, Int} = nothing: Only applicable to subtypes of Forecast. Number of forecast windows starting at start_time to return. Defaults to all available.
InfrastructureSystems.get_time_series_arrayFunction
get_time_series_array(
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+

Return a time series corresponding to the given parameters.

Arguments

  • ::Type{T}: Concrete subtype of TimeSeriesData to return
  • owner::TimeSeriesOwners: Component or attribute containing the time series
  • name::AbstractString: name of time series
  • start_time::Union{Nothing, Dates.DateTime} = nothing: If nothing, use the initial_timestamp of the time series. If T is a subtype of Forecast then start_time must be the first timstamp of a window.
  • len::Union{Nothing, Int} = nothing: Length in the time dimension. If nothing, use the entire length.
  • count::Union{Nothing, Int} = nothing: Only applicable to subtypes of Forecast. Number of forecast windows starting at start_time to return. Defaults to all available.
InfrastructureSystems.get_time_series_arrayFunction
get_time_series_array(
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     time_series::StaticTimeSeries;
     ...
 ) -> Any
 get_time_series_array(
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     time_series::StaticTimeSeries,
     start_time::Union{Nothing, Dates.DateTime};
     len,
     ignore_scaling_factors
 ) -> Any
-

Return a TimeSeries.TimeArray from a cached StaticTimeSeries instance.

If the data are scaling factors then the stored scalingfactormultiplier will be called on the component and applied to the data unless ignorescalingfactors is true.

See also StaticTimeSeriesCache.

InfrastructureSystems.get_time_series_arrayMethod
get_time_series_array(
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+

Return a TimeSeries.TimeArray from a cached StaticTimeSeries instance.

If the data are scaling factors then the stored scalingfactormultiplier will be called on the owner and applied to the data unless ignorescalingfactors is true.

See also StaticTimeSeriesCache.

InfrastructureSystems.get_time_series_arrayMethod
get_time_series_array(
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     forecast::Forecast,
     start_time::Dates.DateTime;
     len,
     ignore_scaling_factors
 ) -> Any
-

Return a TimeSeries.TimeArray for one forecast window from a cached Forecast instance.

If the data are scaling factors then the stored scalingfactormultiplier will be called on the component and applied to the data unless ignorescalingfactors is true.

See also ForecastCache.

InfrastructureSystems.get_time_series_arrayMethod
get_time_series_array(
+

Return a TimeSeries.TimeArray for one forecast window from a cached Forecast instance.

If the data are scaling factors then the stored scalingfactormultiplier will be called on the owner and applied to the data unless ignorescalingfactors is true.

See also ForecastCache.

InfrastructureSystems.get_time_series_arrayMethod
get_time_series_array(
     ::Type{T<:TimeSeriesData},
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     name::AbstractString;
     start_time,
     len,
-    ignore_scaling_factors
+    ignore_scaling_factors,
+    features...
 ) -> Any
-

Return a TimeSeries.TimeArray from storage for the given time series parameters.

If the data are scaling factors then the stored scalingfactormultiplier will be called on the component and applied to the data unless ignorescalingfactors is true.

InfrastructureSystems.get_time_series_timestampsFunction
get_time_series_timestamps(
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+

Return a TimeSeries.TimeArray from storage for the given time series parameters.

If the data are scaling factors then the stored scalingfactormultiplier will be called on the owner and applied to the data unless ignorescalingfactors is true.

InfrastructureSystems.get_time_series_timestampsFunction
get_time_series_timestamps(
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     time_series::StaticTimeSeries;
     ...
 ) -> Vector{D} where D<:Dates.TimeType
 get_time_series_timestamps(
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     time_series::StaticTimeSeries,
     start_time::Union{Nothing, Dates.DateTime};
     len
 ) -> Vector{D} where D<:Dates.TimeType
 

Return a vector of timestamps from a cached StaticTimeSeries instance.

InfrastructureSystems.get_time_series_timestampsFunction
get_time_series_timestamps(
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     forecast::Forecast;
     ...
 )
 get_time_series_timestamps(
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     forecast::Forecast,
     start_time::Union{Nothing, Dates.DateTime};
     len
 ) -> Vector{D} where D<:Dates.TimeType
-

Return a vector of timestamps from a cached Forecast instance.

InfrastructureSystems.get_time_series_timestampsMethod
get_time_series_timestamps(
     ::Type{T<:TimeSeriesData},
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     name::AbstractString;
     start_time,
-    len
+    len,
+    features...
 ) -> Vector{D} where D<:Dates.TimeType
 

Return a vector of timestamps from storage for the given time series parameters.

InfrastructureSystems.get_time_series_valuesFunction
get_time_series_values(
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     time_series::StaticTimeSeries;
     ...
 ) -> Any
 get_time_series_values(
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     time_series::StaticTimeSeries,
     start_time::Union{Nothing, Dates.DateTime};
     len,
     ignore_scaling_factors
 ) -> Any
-

Return an Array of values from a cached StaticTimeSeries instance for the requested time series parameters.

InfrastructureSystems.get_time_series_valuesMethod
get_time_series_values(
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+

Return an Array of values from a cached StaticTimeSeries instance for the requested time series parameters.

InfrastructureSystems.get_time_series_valuesMethod
get_time_series_values(
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     forecast::Forecast,
     start_time::Dates.DateTime;
     len,
     ignore_scaling_factors
 ) -> Any
-

Return an Array of values for one forecast window from a cached Forecast instance.

InfrastructureSystems.get_time_series_valuesMethod
get_time_series_values(
     ::Type{T<:TimeSeriesData},
-    component::InfrastructureSystems.InfrastructureSystemsComponent,
+    owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
     name::AbstractString;
     start_time,
     len,
-    ignore_scaling_factors
+    ignore_scaling_factors,
+    features...
 ) -> Any
-

Return an Array of values from storage for the requested time series parameters.

If the data size is small and this will be called many times, consider using the version that accepts a cached TimeSeriesData instance.

Network Matrices

Power Flow

Parsing

PowerSystems.PowerSystemTableDataMethod
PowerSystemTableData(
+

Return an Array of values from storage for the requested time series parameters.

If the data size is small and this will be called many times, consider using the version that accepts a cached TimeSeriesData instance.

InfrastructureSystems.TimeSeriesAssociationType

Defines an association between a time series owner (component or supplemental attribute) and the time series metadata.

Examples

association1 = TimeSeriesAssociation(component, time_series)
+association2 = TimeSeriesAssociation(component, time_series, scenario = "high")

Parsing

PowerSystems.PowerSystemTableDataMethod
PowerSystemTableData(
     directory::AbstractString,
     base_power::Float64,
     user_descriptor_file::AbstractString;
@@ -678,19 +897,19 @@
     generator_mapping_file,
     timeseries_metadata_file
 ) -> PowerSystemTableData
-

Reads in all the data stored in csv files The general format for data is folder: gen.csv branch.csv bus.csv .. load.csv

Arguments

  • directory::AbstractString: directory containing CSV files
  • base_power::Float64: base power for System
  • user_descriptor_file::AbstractString: customized input descriptor file
  • descriptor_file=POWER_SYSTEM_DESCRIPTOR_FILE: PowerSystems descriptor file
  • generator_mapping_file=GENERATOR_MAPPING_FILE: generator mapping configuration file
source
PowerSystems.PowerModelsDataMethod
PowerModelsData(
+

Reads in all the data stored in csv files The general format for data is folder: gen.csv branch.csv bus.csv .. load.csv

Arguments

  • directory::AbstractString: directory containing CSV files
  • base_power::Float64: base power for System
  • user_descriptor_file::AbstractString: customized input descriptor file
  • descriptor_file=POWER_SYSTEM_DESCRIPTOR_FILE: PowerSystems descriptor file
  • generator_mapping_file=GENERATOR_MAPPING_FILE: generator mapping configuration file
source
PowerSystems.PowerModelsDataMethod
PowerModelsData(
     file::Union{IO, String};
     kwargs...
 ) -> PowerModelsData
-

Constructs PowerModelsData from a raw file. Currently Supports MATPOWER and PSSE data files parsed by PowerModels.

source
PowerSystems.TamuSystemMethod
TamuSystem(tamu_folder::AbstractString; kwargs...) -> Any
+

Constructs PowerModelsData from a raw file. Currently Supports MATPOWER and PSSE data files parsed by PowerModels.

source
PowerSystems.TamuSystemMethod
TamuSystem(tamu_folder::AbstractString; kwargs...) -> Any
 

Creates a system from a PSS/e .RAW (v33) load flow case, and an associated .csv with MW load time series data. The format is established by the Texas A&M University Test Case Archive

The general format for data is folder: [casename].raw [casename]loadtimeseriesMW.csv

Arguments

  • directory::AbstractString: directory containing RAW and CSV files

Examples

sys = TamuSystem(
     "./ACTIVSg25k",
     config_path = "ACTIVSg25k_validation.json",
     bus_name_formatter = x->string(x["name"]*"-"*string(x["index"])),
     load_name_formatter = x->strip(join(x["source_id"], "_"))
-)
source
PowerSystems.add_dyn_injectors!Method
add_dyn_injectors!(sys::System, dyr_file::AbstractString)
 

Add to a system already created the dynamic components. The system should already be parsed from a .raw file.

Examples:

dyr_file = "Example.dyr"
-add_dyn_injectors!(sys, dyr_file)
source

Logging

Logging

PowerSystems.configure_loggingMethod
configure_logging(
 ;
     console_level,
     file_level,
@@ -698,4 +917,4 @@
 ) -> MultiLogger
 

Creates console and file loggers.

Note: Log messages may not be written to the file until flush() or close() is called on the returned logger.

Arguments

  • console_level = Logging.Error: level for console messages
  • file_level = Logging.Info: level for file messages
  • filename::Union{Nothing, AbstractString} = "power-systems.log": log file; pass nothing to disable file logging

Example

logger = configure_logging(console_level = Logging.Info)
 @info "log message"
-close(logger)
source
+close(logger)
source
diff --git a/dev/code_base_developer_guide/adding_new_types/index.html b/dev/code_base_developer_guide/adding_new_types/index.html index bde6f26fd2..1a39c9466c 100644 --- a/dev/code_base_developer_guide/adding_new_types/index.html +++ b/dev/code_base_developer_guide/adding_new_types/index.html @@ -1,5 +1,5 @@ -Adding New Types · PowerSystems.jl

Adding PowerSystems Types

This page describes how developers should add types to PowerSystems.jl Refer to the managing components guide first.

Auto-generating Structs

Most PowerSystems.jl structs are auto-generated from the JSON descriptor file src/descriptors/power_system_structs.json. You can add your new struct here or write it manually when contributing code to the repository

If all you need is the basic struct definition and getter/setter functions then you will likely find the auto-generation helpful.

If you will need to write specialized functions for the type then you will probably want to write it manually.

Refer to this link for more information.

Testing the addition of new struct to the code base

In order to merge new structs to the code base, your struct needs to pass several tests.

  1. addition to System
  2. retrieval from System
  3. serialization/de-serialization

The following code block is an example of the code that the new struct needs to pass

using PowerSystems
+Adding New Types · PowerSystems.jl

Adding PowerSystems Types

This page describes how developers should add types to PowerSystems.jl Refer to the managing components guide first.

Auto-generating Structs

Most PowerSystems.jl structs are auto-generated from the JSON descriptor file src/descriptors/power_system_structs.json. You can add your new struct here or write it manually when contributing code to the repository

If all you need is the basic struct definition and getter/setter functions then you will likely find the auto-generation helpful.

If you will need to write specialized functions for the type then you will probably want to write it manually.

Refer to this link for more information.

Testing the addition of new struct to the code base

In order to merge new structs to the code base, your struct needs to pass several tests.

  1. addition to System
  2. retrieval from System
  3. serialization/de-serialization

The following code block is an example of the code that the new struct needs to pass

using PowerSystems
 
 sys = System(100.0)
 device = NewType(data)
@@ -15,4 +15,4 @@
 sys2 = System("sys.json")
 serialized_device = get_component(NewType, sys, "component_name")
 
-@test get_name(retrieved_device) == get_name(serialized_device)
+@test get_name(retrieved_device) == get_name(serialized_device)
diff --git a/dev/code_base_developer_guide/developer/index.html b/dev/code_base_developer_guide/developer/index.html index 9b7bacc177..069fc7ce67 100644 --- a/dev/code_base_developer_guide/developer/index.html +++ b/dev/code_base_developer_guide/developer/index.html @@ -1,2 +1,2 @@ -Developer Guide · PowerSystems.jl
+Developer Guide · PowerSystems.jl
diff --git a/dev/code_base_developer_guide/troubleshooting/index.html b/dev/code_base_developer_guide/troubleshooting/index.html index 3cdf63adbd..6d2eedb962 100644 --- a/dev/code_base_developer_guide/troubleshooting/index.html +++ b/dev/code_base_developer_guide/troubleshooting/index.html @@ -1,2 +1,2 @@ -Troubleshooting · PowerSystems.jl

Troubleshooting code development

Issues with Serialization/De-Serialization

If this doesn't work then you likely need to implement custom InfrastructureSystems.serialize and InfrastructureSystems.deserialize methods for your type. Here are some examples of potential problems and solutions:

Problem: Your struct contains a field defined as an abstract type. The deserialization process doesn't know what concrete type to construct.

Solution: Encode the concrete type into the serialized dictionary as a string.

Example: serialize and deserialize methods for DynamicBranch in src/models/dynamic_branch.jl.

Problem: Similar to above in that a field is defined as an abstract type but the struct is parameterized on the actual concrete type.

Solution: Use the fact that the concrete type is encoded into the serialized type of the struct and extract it in a customized deserialze method.

Example: deserialize method for OuterControl in src/models/OuterControl.jl.

+Troubleshooting · PowerSystems.jl

Troubleshooting code development

Issues with Serialization/De-Serialization

If this doesn't work then you likely need to implement custom InfrastructureSystems.serialize and InfrastructureSystems.deserialize methods for your type. Here are some examples of potential problems and solutions:

Problem: Your struct contains a field defined as an abstract type. The deserialization process doesn't know what concrete type to construct.

Solution: Encode the concrete type into the serialized dictionary as a string.

Example: serialize and deserialize methods for DynamicBranch in src/models/dynamic_branch.jl.

Problem: Similar to above in that a field is defined as an abstract type but the struct is parameterized on the actual concrete type.

Solution: Use the fact that the concrete type is encoded into the serialized type of the struct and extract it in a customized deserialze method.

Example: deserialize method for OuterControl in src/models/OuterControl.jl.

diff --git a/dev/index.html b/dev/index.html index a561687f19..ee729714a9 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,5 +1,5 @@ -Welcome Page · PowerSystems.jl

PowerSystems.jl

Overview

PowerSystems.jl is a Julia package that provides a rigorous data model using Julia structures to enable power systems modeling. PowerSystems.jl is agnostic to a specific mathematical model and can be used for many model categories.

PowerSystems.jl provides tools to prepare and process data useful for electric energy systems modeling. This package serves two purposes:

  1. It facilitates the development and open sharing of large data sets for Power Systems modeling
  2. It provides a data model that imposes discipline on model specification, addressing the challenge of design and terminology choices when sharing code and data.

The main features include:

  • Comprehensive and extensible library of data structures for electric systems modeling.
  • Large scale data set development tools based on common text based data formats (PSS/e .raw and .dyr, and MATPOWER) and configurable tabular data (e.g. CSV) parsing capabilities.
  • Optimized container for component data and time series supporting serialization to portable file formats and configurable validation routines.

PowerSystems.jl documentation and code are organized according to the needs of different users depending on their skillset and requirements. In broad terms there are three categories:

  • Modeler: Users that want to run a particular analysis or experiment and use PowerSystems.jl to develop data sets.

  • Model Developer: Users that want to develop custom components and structs in order to exploit PowerSystems.jl features to produce custom data sets.

  • Code Base Developers: Users that want to add new core functionalities or fix bugs in the core capabilities of PowerSystems.jl.

PowerSystems.jl is an active project under development, and we welcome your feedback, suggestions, and bug reports.

Note: PowerSystems.jl uses InfrastructureSystems.jl as a utility library. Several methods are re-exported from InfrastructureSystems.jl. For most users there is no need to import InfrastructureSystems.jl.

Installation

The latest stable release of PowerSystems can be installed using the Julia package manager with

] add PowerSystems

For the current development version, "checkout" this package with

] add PowerSystems#main

Citing PowerSystems.jl

Paper describing PowerSystems.jl

@article{LARA2021100747,
+Welcome Page · PowerSystems.jl

PowerSystems.jl

Overview

PowerSystems.jl is a Julia package that provides a rigorous data model using Julia structures to enable power systems modeling. PowerSystems.jl is agnostic to a specific mathematical model and can be used for many model categories.

PowerSystems.jl provides tools to prepare and process data useful for electric energy systems modeling. This package serves two purposes:

  1. It facilitates the development and open sharing of large data sets for Power Systems modeling
  2. It provides a data model that imposes discipline on model specification, addressing the challenge of design and terminology choices when sharing code and data.

The main features include:

  • Comprehensive and extensible library of data structures for electric systems modeling.
  • Large scale data set development tools based on common text based data formats (PSS/e .raw and .dyr, and MATPOWER) and configurable tabular data (e.g. CSV) parsing capabilities.
  • Optimized container for component data and time series supporting serialization to portable file formats and configurable validation routines.

PowerSystems.jl documentation and code are organized according to the needs of different users depending on their skillset and requirements. In broad terms there are three categories:

  • Modeler: Users that want to run a particular analysis or experiment and use PowerSystems.jl to develop data sets.

  • Model Developer: Users that want to develop custom components and structs in order to exploit PowerSystems.jl features to produce custom data sets.

  • Code Base Developers: Users that want to add new core functionalities or fix bugs in the core capabilities of PowerSystems.jl.

PowerSystems.jl is an active project under development, and we welcome your feedback, suggestions, and bug reports.

Note: PowerSystems.jl uses InfrastructureSystems.jl as a utility library. Several methods are re-exported from InfrastructureSystems.jl. For most users there is no need to import InfrastructureSystems.jl.

Installation

The latest stable release of PowerSystems can be installed using the Julia package manager with

] add PowerSystems

For the current development version, "checkout" this package with

] add PowerSystems#main

Citing PowerSystems.jl

Paper describing PowerSystems.jl

@article{LARA2021100747,
 title = {PowerSystems.jl — A power system data management package for large scale modeling},
 journal = {SoftwareX},
 volume = {15},
@@ -9,4 +9,4 @@
 doi = {https://doi.org/10.1016/j.softx.2021.100747},
 url = {https://www.sciencedirect.com/science/article/pii/S2352711021000765},
 author = {José Daniel Lara and Clayton Barrows and Daniel Thom and Dheepak Krishnamurthy and Duncan Callaway},
-keywords = {Power Systems, Julia, Energy},

PowerSystems has been developed as part of the Scalable Integrated Infrastructure Planning (SIIP) initiative at the U.S. Department of Energy's National Renewable Energy Laboratory (NREL).

+keywords = {Power Systems, Julia, Energy},

PowerSystems has been developed as part of the Scalable Integrated Infrastructure Planning (SIIP) initiative at the U.S. Department of Energy's National Renewable Energy Laboratory (NREL).

diff --git a/dev/model_developer_guide/adding_additional_fields/index.html b/dev/model_developer_guide/adding_additional_fields/index.html index 8b66d488c5..63d6462455 100644 --- a/dev/model_developer_guide/adding_additional_fields/index.html +++ b/dev/model_developer_guide/adding_additional_fields/index.html @@ -1,5 +1,5 @@ -Adding Additional Fields · PowerSystems.jl

Adding additional fields

All components currently implemented in PowerSystems.jl have an ext field that contains an empty Dictionary. This empty dictionary can be accessed with the method get_ext. shows an example of adding additional data to the ThermalStandard structs for other modeling requirements.

This method is useful if there is no requirement to create new behaviours for components of a particular type but additional fields are required. A simple example is the addition of geographic information if needed.

julia> using PowerSystems
julia> const PSY = PowerSystemsPowerSystems
julia> file_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "tutorials_data")"/home/runner/work/PowerSystems.jl/PowerSystems.jl/docs/src/tutorials/tutorials_data"
julia> system = System(joinpath(file_dir, "case5_re.m"))┌ Error: Matlab parser skipping line number 85 consisting of: +Adding Additional Fields · PowerSystems.jl

Adding additional fields

All components currently implemented in PowerSystems.jl have an ext field that contains an empty Dictionary. This empty dictionary can be accessed with the method get_ext. shows an example of adding additional data to the ThermalStandard structs for other modeling requirements.

This method is useful if there is no requirement to create new behaviours for components of a particular type but additional fields are required. A simple example is the addition of geographic information if needed.

julia> using PowerSystems
julia> const PSY = PowerSystemsPowerSystems
julia> file_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "tutorials_data")"/home/runner/work/PowerSystems.jl/PowerSystems.jl/docs/src/tutorials/tutorials_data"
julia> system = System(joinpath(file_dir, "case5_re.m"))┌ Error: Matlab parser skipping line number 85 consisting of: │ }; └ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/im_io/matlab.jl:64 [ Info: Correcting vm in bus 1 to 1.07762 to match generator set-point @@ -10,13 +10,13 @@ [ Info: extending matpower format with data: gen_name 7x4 [ Info: extending matpower format by appending matrix "gen_name" in to "gen" [ Info: reversing the orientation of branch 6 (4, 3) to be consistent with other parallel branches -[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] -[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] [ Info: removing 1 cost terms from generator 5: [1000.0, 0.0] -[ Info: removing 1 cost terms from generator 2: [1500.0, 0.0] +[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] [ Info: removing 3 cost terms from generator 6: Float64[] [ Info: removing 3 cost terms from generator 7: Float64[] +[ Info: removing 1 cost terms from generator 2: [1500.0, 0.0] [ Info: removing 1 cost terms from generator 3: [3000.0, 0.0] +[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] ┌ Info: Constructing System from Power Models │ data["name"] = "nesta_case5_pjm" └ data["source_type"] = "matpower" @@ -25,7 +25,7 @@ [ Info: Reading LoadZones data in PowerModels dict to populate System ... [ Info: Reading generator data [ Info: Reading branch data -[ Info: Reading branch data +[ Info: Reading shunt data [ Info: Reading DC Line data [ Info: Reading storage data System @@ -41,33 +41,33 @@ └───────────────────┴─────────────┘ Static Components -┌──────────────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├──────────────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 5 │ false │ false │ -│ Arc │ 6 │ false │ false │ -│ Area │ 1 │ false │ false │ -│ Line │ 5 │ false │ false │ -│ LoadZone │ 1 │ false │ false │ -│ PhaseShiftingTransformer │ 2 │ false │ false │ -│ PowerLoad │ 3 │ false │ false │ -│ RenewableDispatch │ 2 │ false │ false │ -│ ThermalStandard │ 5 │ false │ false │ -└──────────────────────────┴───────┴────────────────────────┴───────────────┘
julia> for g in get_components(ThermalStandard, system) +┌──────────────────────────┬───────┐ +│ Type │ Count │ +├──────────────────────────┼───────┤ +│ ACBus │ 5 │ +│ Arc │ 6 │ +│ Area │ 1 │ +│ Line │ 5 │ +│ LoadZone │ 1 │ +│ PhaseShiftingTransformer │ 2 │ +│ PowerLoad │ 3 │ +│ RenewableDispatch │ 2 │ +│ ThermalStandard │ 5 │ +└──────────────────────────┴───────┘
julia> for g in get_components(ThermalStandard, system) external_field = get_ext(g) external_field["my_data"] = 1.0 - end
julia> gen_alta = get_component(ThermalStandard, system, "Alta")Alta (ThermalStandard): + end
julia> gen_alta = get_component(ThermalStandard, system, "Alta")ThermalStandard: Alta: name: Alta available: true status: true - bus: bus1 (ACBus) + bus: ACBus: bus1 active_power: 0.4 reactive_power: 0.3 rating: 0.5 active_power_limits: (min = 0.0, max = 0.4) reactive_power_limits: (min = -0.3, max = 0.3) ramp_limits: (up = 0.0, down = 0.0) - operation_cost: ThreePartCost + operation_cost: ThermalGenerationCost composed of variable: CostCurve{QuadraticCurve} base_power: 100.0 time_limits: nothing must_run: false @@ -77,7 +77,8 @@ time_at_status: 10000.0 dynamic_injector: nothing ext: Dict{String, Any}("my_data" => 1.0) - time_series_container: InfrastructureSystems.SystemUnitsSettings: base_value: 100.0 - unit_system: UnitSystem.SYSTEM_BASE = 0
julia> my_data = get_ext(gen_alta)["my_data"]1.0
+ unit_system: UnitSystem.SYSTEM_BASE = 0 + has_supplemental_attributes: false + has_time_series: false

julia> my_data = get_ext(gen_alta)["my_data"]1.0
diff --git a/dev/model_developer_guide/adding_custom_types/index.html b/dev/model_developer_guide/adding_custom_types/index.html index 4d623762ac..0959985085 100644 --- a/dev/model_developer_guide/adding_custom_types/index.html +++ b/dev/model_developer_guide/adding_custom_types/index.html @@ -1,5 +1,5 @@ -Adding Types · PowerSystems.jl

Creating a custom Component

Type Hierarchy

All structs that correlate to power system components must be subtypes of the Component abstract type. Browse its type hierachy to choose an appropriate supertype for your new struct.

Interfaces

Refer to the managing components guide for component requirements.

Note: get_internal, get_name, and get_time_series_container are imported into PowerSystems, so you should implement your methods as PowerSystems methods.

Some abstract types define required interface functions in docstring. Be sure to implement each of them for your new type.

Formalized documentation for each abstract type is TBD.

Specialize an Existing Type

There are scenarios where you may want to make a new type that is identical to an existing type except for one attribute or behavior, and don't want to duplicate the entire existing type and methods. In programming languages that support inheritance you would derive a new class from the existing class and automatically inherit its fields and methods. Julia doesn't support that. However, you can achieve a similar result with a forwarding macro. The basic idea is that you include the existing type within your struct and then use a macro to automatically forward specific methods to that instance.

A few PowerSystems structs use the macro InfrastructureSystems.@forward to do this. Refer to the struct RoundRotorQuadratic for an example of how to use this.

Custom Rules

Some types require special checks before they can be added to or removed from a system. One example is the case where a component includes another component that is also stored in the system. We must ensure that the parent component does not contain a reference to another component that is not already attached to the system.

Similarly, if the child object is removed from the system we must also remove the parent's reference to that child.

The source file src/base.jl provides functions that you can implement for your new type to manage these scenarios.

  • check_component_addition(sys::System, component::Component; kwargs...)
  • handle_component_addition!(sys::System, component::Component; kwargs...)
  • check_component_removal(sys::System, component::Component; kwargs...)
  • handle_component_removal!(sys::System, component::Component; kwargs...)

The functions add_component!() and remove_component!() call the check function before performing actions and then call the handle function afterwards. The default behavior of these functions is to do nothing. Implement versions that take your type in order to add your own checks or perform additional actions.

Beware of the condition where a custom method is already implemented for a supertype of your type.

Note that you can call the helper functions is_attached(component, system) and throw_if_not_attached(component, system).

Custom Validation

You can implement three methods to perform custom validation or correction for your type. PowerSystems calls all of these functions in add_component!.

  • sanitize_component!(component::Component, sys::System): intended to make standard data corrections (e.g. voltage angle in degrees -> radians)
  • validate_component(component::Component): intended to check component field values for internal consistency
  • validate_component_with_system(component::Component, sys::System): intended to check component field values for consistency with system

Struct Requirements for Serialization of custom components

One key feature of PowerSystems.jl is the serialization capabilities. Supporting serialization and de-serialization of custom components requires the implementation of several methods. The serialization code converts structs to dictionaries where the struct fields become dictionary keys.

The code imposes these requirements:

  1. The InfrastructureSystems methods serialize and deserialize must be implemented for the struct. InfrastructureSystems implements a method that covers all subtypes of InfrastructureSystemsType. All PowerSystems components should be subtypes of PowerSystems.Component which is a subtype InfrastructureSystemsType, so any new structs should be covered as well.
  2. All struct fields must be able to be encoded in JSON format or be covered be covered by serialize and deserialize methods. Basic types, such as numbers and strings or arrays and dictionaries of numbers and strings, should just work. Complex containers with symbols may not.
  3. Structs relying on the default deserialize method must have a kwarg-only constructor. The deserialization code constructs objects by splatting the dictionary key/value pairs into the constructor.
  4. Structs that contain other PowerSystem components (like a generator contains a bus) must serialize those components as UUIDs instead of actual values. The deserialization code uses the UUIDs as a mechanism to restore a reference to the actual object rather a new object with identical values. It also significantly reduces the size of the JSON file.

Refer to InfrastructureSystems.serialize_struct for example behavior. New structs that are not subtypes of InfrastructureSystemsType may be able to call it directly.

Adding PowerSystems.jl as a dependency in a modeling package

module MyModelingModule
+Adding Types · PowerSystems.jl

Creating a custom Component

Type Hierarchy

All structs that correlate to power system components must be subtypes of the Component abstract type. Browse its type hierachy to choose an appropriate supertype for your new struct.

Interfaces

Refer to the managing components guide for component requirements.

In particular, please note the methods supports_time_series (default = false) and supports_supplemental_attributes (default = true) that you may need to implement.

Note: get_internal and get_name are imported into PowerSystems, so you should implement your methods as PowerSystems methods.

Some abstract types define required interface functions in docstring. Be sure to implement each of them for your new type.

Formalized documentation for each abstract type is TBD.

Specialize an Existing Type

There are scenarios where you may want to make a new type that is identical to an existing type except for one attribute or behavior, and don't want to duplicate the entire existing type and methods. In programming languages that support inheritance you would derive a new class from the existing class and automatically inherit its fields and methods. Julia doesn't support that. However, you can achieve a similar result with a forwarding macro. The basic idea is that you include the existing type within your struct and then use a macro to automatically forward specific methods to that instance.

A few PowerSystems structs use the macro InfrastructureSystems.@forward to do this. Refer to the struct RoundRotorQuadratic for an example of how to use this.

Custom Rules

Some types require special checks before they can be added to or removed from a system. One example is the case where a component includes another component that is also stored in the system. We must ensure that the parent component does not contain a reference to another component that is not already attached to the system.

Similarly, if the child object is removed from the system we must also remove the parent's reference to that child.

The source file src/base.jl provides functions that you can implement for your new type to manage these scenarios.

  • check_component_addition(sys::System, component::Component; kwargs...)
  • handle_component_addition!(sys::System, component::Component; kwargs...)
  • check_component_removal(sys::System, component::Component; kwargs...)
  • handle_component_removal!(sys::System, component::Component; kwargs...)

The functions add_component!() and remove_component!() call the check function before performing actions and then call the handle function afterwards. The default behavior of these functions is to do nothing. Implement versions that take your type in order to add your own checks or perform additional actions.

Beware of the condition where a custom method is already implemented for a supertype of your type.

Note that you can call the helper functions is_attached(component, system) and throw_if_not_attached(component, system).

Custom Validation

You can implement three methods to perform custom validation or correction for your type. PowerSystems calls all of these functions in add_component!.

  • sanitize_component!(component::Component, sys::System): intended to make standard data corrections (e.g. voltage angle in degrees -> radians)
  • validate_component(component::Component): intended to check component field values for internal consistency
  • validate_component_with_system(component::Component, sys::System): intended to check component field values for consistency with system

Struct Requirements for Serialization of custom components

One key feature of PowerSystems.jl is the serialization capabilities. Supporting serialization and de-serialization of custom components requires the implementation of several methods. The serialization code converts structs to dictionaries where the struct fields become dictionary keys.

The code imposes these requirements:

  1. The InfrastructureSystems methods serialize and deserialize must be implemented for the struct. InfrastructureSystems implements a method that covers all subtypes of InfrastructureSystemsType. All PowerSystems components should be subtypes of PowerSystems.Component which is a subtype InfrastructureSystemsType, so any new structs should be covered as well.
  2. All struct fields must be able to be encoded in JSON format or be covered be covered by serialize and deserialize methods. Basic types, such as numbers and strings or arrays and dictionaries of numbers and strings, should just work. Complex containers with symbols may not.
  3. Structs relying on the default deserialize method must have a kwarg-only constructor. The deserialization code constructs objects by splatting the dictionary key/value pairs into the constructor.
  4. Structs that contain other PowerSystem components (like a generator contains a bus) must serialize those components as UUIDs instead of actual values. The deserialization code uses the UUIDs as a mechanism to restore a reference to the actual object rather a new object with identical values. It also significantly reduces the size of the JSON file.

Refer to InfrastructureSystems.serialize_struct for example behavior. New structs that are not subtypes of InfrastructureSystemsType may be able to call it directly.

Adding PowerSystems.jl as a dependency in a modeling package

module MyModelingModule
 
 import PowerSystems
 import InfrastructureSystems
@@ -20,4 +20,4 @@
 
 PSY.get_name(val::MyDevice) = val.name
 
-end

Auto-Generating Custom Structs

It is possible to use an advanced future to auto-generate structs in Julia source code files. It is not mandatory to use these tools, but it can be useful if you need to generate multiple custom structs for your model. Please refer to the docstrings for the functions generate_struct and generate_structs. Full details are in the InfrastructureSystems documentation at https://nrel-sienna.github.io/InfrastructureSystems.jl/stable/devguide/autogeneration/

+end

Auto-Generating Custom Structs

It is possible to use an advanced future to auto-generate structs in Julia source code files. It is not mandatory to use these tools, but it can be useful if you need to generate multiple custom structs for your model. Please refer to the docstrings for the functions generate_struct and generate_structs. Full details are in the InfrastructureSystems documentation at https://nrel-sienna.github.io/InfrastructureSystems.jl/stable/devguide/autogeneration/

diff --git a/dev/model_developer_guide/extending_parsing/index.html b/dev/model_developer_guide/extending_parsing/index.html index 44bf79388c..f5d1302bea 100644 --- a/dev/model_developer_guide/extending_parsing/index.html +++ b/dev/model_developer_guide/extending_parsing/index.html @@ -1,6 +1,6 @@ -Extending Parsing · PowerSystems.jl

Extending Parsing Capabilities

Extending PowerSystemTableData parsing

This page describes how developers should read columns from raw data files.

The main point is that you should not read individual hard-coded column names from DataFrames. The parsing code includes mapping functionality that allows you to use PowerSystems-standard names while letting the users define their own custom names.

Note: This assumes that you are familiar with the PowerSystems Table Data Parser.

Procedure

  1. Add an entry to the array of parameters for your category in src/descriptors/power_system_inputs.json according to the following:

    1. Use snake_case for the name field.
    2. The fields name and description are required.
    3. Try to use a name that is generic and not specific to one dataset.
    4. It is recommended that you define unit.
    5. If PowerSystems expects the value to be per-unit then you must specify system_per_unit=true.
  2. PowerSystems has two commonly-used datasets with customized user config files: PowerSystemsTestData and RTS_GMLC. Update both of these files and submit pull requests.

  3. Parse the raw data like in this example:

function demo_bus_csv_parser!(data::PowerSystemTableData)
+Extending Parsing · PowerSystems.jl

Extending Parsing Capabilities

Extending PowerSystemTableData parsing

This page describes how developers should read columns from raw data files.

The main point is that you should not read individual hard-coded column names from DataFrames. The parsing code includes mapping functionality that allows you to use PowerSystems-standard names while letting the users define their own custom names.

Note: This assumes that you are familiar with the PowerSystems Table Data Parser.

Procedure

  1. Add an entry to the array of parameters for your category in src/descriptors/power_system_inputs.json according to the following:

    1. Use snake_case for the name field.
    2. The fields name and description are required.
    3. Try to use a name that is generic and not specific to one dataset.
    4. It is recommended that you define unit.
    5. If PowerSystems expects the value to be per-unit then you must specify system_per_unit=true.
  2. PowerSystems has two commonly-used datasets with customized user config files: PowerSystemsTestData and RTS_GMLC. Update both of these files and submit pull requests.

  3. Parse the raw data like in this example:

function demo_bus_csv_parser!(data::PowerSystemTableData)
     for bus in iterate_rows(data, BUS::InputCategory)
         @show bus.name, bus.max_active_power, bus.max_reactive_power
     end
-end

iterate_rows returns a NamedTuple where each name defined in src/descriptors/power_system_inputs.json is a field.

Extending PSS/e Dynamic Parsing Capabilities

UNDER CONSTRUCTION

+end

iterate_rows returns a NamedTuple where each name defined in src/descriptors/power_system_inputs.json is a field.

Extending PSS/e Dynamic Parsing Capabilities

UNDER CONSTRUCTION

diff --git a/dev/model_library/cost_curves/index.html b/dev/model_library/cost_curves/index.html new file mode 100644 index 0000000000..d6f93d7407 --- /dev/null +++ b/dev/model_library/cost_curves/index.html @@ -0,0 +1,11 @@ + +Variable Cost Curves · PowerSystems.jl

Variable Cost Curves

PowerSystems.CostCurveType
@kwdef struct CostCurve{T <: ValueCurve} <: ProductionVariableCostCurve{T}
+    value_curve::T
+    power_units::UnitSystem = UnitSystem.NATURAL_UNITS
+    vom_cost::LinearCurve = LinearCurve(0.0)
+end

Direct representation of the variable operation cost of a power plant in currency. Composed of a ValueCurve that may represent input-output, incremental, or average rate data. The default units for the x-axis are megawatts and can be specified with power_units.

Arguments

  • value_curve::T: The underlying ValueCurve representation of this ProductionVariableCostCurve
  • power_units::UnitSystem = UnitSystem.NATURAL_UNITS: The units for the x-axis of the curve; defaults to natural units (megawatts)
  • vom_cost::LinearCurve = LinearCurve(0.0): Additional proportional Variable Operation and Maintenance cost in currency/(power_unit h)
source
PowerSystems.FuelCurveType
@kwdef struct FuelCurve{T <: ValueCurve} <: ProductionVariableCostCurve{T}
+    value_curve::T
+    power_units::UnitSystem = UnitSystem.NATURAL_UNITS
+    fuel_cost::Union{Float64, TimeSeriesKey}
+    vom_cost::LinearCurve = LinearCurve(0.0)
+end

Representation of the variable operation cost of a power plant in terms of fuel (MBTU, liters, m^3, etc.), coupled with a conversion factor between fuel and currency. Composed of a ValueCurve that may represent input-output, incremental, or average rate data. The default units for the x-axis are megawatts and can be specified with power_units.

Arguments

  • value_curve::T: The underlying ValueCurve representation of this ProductionVariableCostCurve
  • power_units::UnitSystem = UnitSystem.NATURAL_UNITS: The units for the x-axis of the curve; defaults to natural units (megawatts)
  • fuel_cost::Union{Float64, TimeSeriesKey}: Either a fixed value for fuel cost or the key to a fuel cost time series
  • vom_cost::LinearCurve = LinearCurve(0.0): Additional proportional Variable Operation and Maintenance cost in currency/(power_unit h)
source

ValueCurves

PowerSystems.LinearCurveType
LinearCurve(proportional_term::Float64, constant_term::Float64)

A linear input-output curve, representing a constant marginal rate. May have zero no-load cost (i.e., constant average rate) or not.

Arguments

  • proportional_term::Float64: marginal rate
  • constant_term::Float64: optional, cost at zero production, defaults to 0.0
source
PowerSystems.QuadraticCurveType
QuadraticCurve(quadratic_term::Float64, proportional_term::Float64, constant_term::Float64)

A quadratic input-output curve, may have nonzero no-load cost.

Arguments

  • quadratic_term::Float64: quadratic term of the curve
  • proportional_term::Float64: proportional term of the curve
  • constant_term::Float64: constant term of the curve
source
PowerSystems.PiecewisePointCurveType
PiecewisePointCurve(points::Vector{Tuple{Float64, Float64}})

A piecewise linear curve specified by cost values at production points.

Arguments

  • points::Vector{Tuple{Float64, Float64}} or similar: vector of (production, cost) pairs
source
PowerSystems.PiecewiseIncrementalCurveType
PiecewiseIncrementalCurve(initial_input::Float64, x_coords::Vector{Float64}, slopes::Vector{Float64})

A piecewise linear curve specified by marginal rates (slopes) between production points. May have nonzero initial value.

Arguments

  • initial_input::Float64: cost at minimum production point
  • x_coords::Vector{Float64}: vector of n production points
  • slopes::Vector{Float64}: vector of n-1 marginal rates/slopes of the curve segments between the points
source
PowerSystems.PiecewiseAverageCurveType
PiecewiseAverageCurve(initial_input::Float64, x_coords::Vector{Float64}, slopes::Vector{Float64})

A piecewise linear curve specified by average rates between production points. May have nonzero initial value.

Arguments

  • initial_input::Float64: cost at minimum production point
  • x_coords::Vector{Float64}: vector of n production points
  • slopes::Vector{Float64}: vector of n-1 average rates/slopes of the curve segments between the points
source
diff --git a/dev/model_library/costs/index.html b/dev/model_library/costs/index.html new file mode 100644 index 0000000000..4710c2c8f6 --- /dev/null +++ b/dev/model_library/costs/index.html @@ -0,0 +1,33 @@ + +Operating Costs · PowerSystems.jl

Operating Costs

PowerSystems.ThermalGenerationCostType
mutable struct ThermalGenerationCost <: OperationalCost
+    variable::ProductionVariableCostCurve
+    fixed::Float64
+    start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}
+    shut_down::Float64
+end

Data Structure Operational Cost Data which includes fixed, variable cost, multiple start up cost and stop costs.

Arguments

  • variable::ProductionVariableCostCurve: Production Variable Cost. Can take fuel curves or cost curve represenations
  • fixed::Union{Nothing, Float64}: Fixed cost of keeping the unit online. For some cost represenations this field can be duplicative.
  • start_up::Union{NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}, Float64}: start-up cost can take linear of multi-stage costs
  • shut_down::Float64: cost of turning the unit offline.
source
PowerSystems.HydroGenerationCostType
mutable struct HydroGenerationCost <: OperationalCost
+    variable::ProductionVariableCostCurve
+    fixed::Float64
+end

Data Structure for the Operational Cost of Hydro Power Plants which includes fixed and variable cost. Variable Costs can be used to represent the cost of curtailment if negative values are used or the opportunity cost of water if the costs are positive. It also supports fuel curves to model specific water intake.

Arguments

  • variable::ProductionVariableCostCurve: Production variable cost represented by a FuelCurve, where the fuel is water, or a CostCurve in currency.
  • fixed::Union{Nothing, Float64}: Fixed cost of keeping the unit online. For some cost represenations this field can be duplicative.
source
PowerSystems.RenewableGenerationCostType
mutable struct RenewableGenerationCost <: OperationalCost
+    variable::CostCurve
+    curtailment_cost::CostCurve
+end

Data Structure for the Operational Cost of Renewable Power Plants which includes the variable cost of energy (like a PPA) and the cost of curtailing power. For example, curtailment Costs can be used to represent the loss of tax incentives.

Arguments

  • variable::CostCurve: Variable cost.
  • curtailment_cost::CostCurve: Input/output cost of curtailing power.
source
PowerSystems.StorageCostType
mutable struct StorageCost <: OperationalCost
+    charge_variable_cost::CostCurve
+    discharge_variable_cost::CostCurve
+    fixed::Float64
+    start_up::Union{STORAGE_OPERATION_MODES, Float64}
+    shut_down::Float64
+    energy_shortage_cost::Float64
+    energy_surplus_cost::Float64
+end

Data Structure for Operational Cost Data like variable cost and start - stop costs and energy storage cost. This data structure is not intended to represent market storage systems market operations like the submission of buy/sell bids.

Arguments

  • charge_variable_cost::CostCurve: variable cost represented as a CostCurve
  • discharge_variable_cost::CostCurve: variable cost represented as a CostCurve
  • fixed::Float64: fixed cost of operating the storage system
  • start_up::Union{STORAGE_OPERATION_MODES, Float64}: start-up cost, validation range:, action if invalid
  • shut_down::Float64: shut-down cost, validation range: action if invalid
  • energy_shortage_cost::Float64: Cost incurred by the model for being short of the energy target.
  • energy_surplus_cost::Float64: Cost incurred by the model for surplus energy stored.
source
PowerSystems.LoadCostType
mutable struct LoadCost <: OperationalCost
+    "variable cost"
+    variable::CostCurve
+    "fixed cost"
+    fixed::Float64
+end

Data structure for the operational cost of loads (e.g., InterruptiblePowerLoad), including fixed and variable cost components.

Arguments

  • variable::CostCurve: Variable cost.
  • fixed::Union{Nothing, Float64}: Fixed cost of keeping the unit online. For some cost represenations this field can be duplicative.
source
PowerSystems.MarketBidCostType
mutable struct MarketBidCost <: OperationalCost
+    no_load_cost::Float64
+    start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}
+    shut_down::Float64
+    incremental_offer_curves::Union{Nothing, TimeSeriesKey, PiecewiseLinearData}  # TODO update docs given struct
+    decremental_offer_curves::Union{Nothing, TimeSeriesKey, PiecewiseLinearData}
+    ancillary_service_offers::Vector{Service}
+end

Data Structure Operational Cost to reflect market bids of energy and ancilliary services for any asset. Compatible with most US Market bidding mechanisms that support demand and generation side.

Arguments

  • no_load_cost::Float64: no load cost
  • start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}: start-up cost at different stages of the thermal cycle. Warm is also refered as intermediate in some markets
  • shut_down::Float64: shut-down cost, validation range: (0, nothing), action if invalid: warn
  • incremental_offer_curves::Union{Nothing, TimeSeriesKey, PiecewiseLinearData}: Sell Offer Curves data, can be a time series or a fixed PiecewiseLinearData
  • decremental_offer_curves::Union{Nothing, TimeSeriesKey, PiecewiseLinearData}: Buy Offer Curves data, can be a time series or a fixed PiecewiseLinearData
  • ancillary_service_offers::Vector{Service}: Bids for the ancillary services
source
diff --git a/dev/model_library/dynamic_branch/index.html b/dev/model_library/dynamic_branch/index.html index fefdae9f22..a5a0d04aea 100644 --- a/dev/model_library/dynamic_branch/index.html +++ b/dev/model_library/dynamic_branch/index.html @@ -1,50 +1,50 @@ -Dynamic Lines · PowerSystems.jl

Dynamic Branch

PowerSystems.DynamicBranchType

Extends the branch type to add the information required for dynamic modeling of branches. Includes the fields for the states and the number of states

Arguments

  • branch::ACBranch
source
PowerSystems.get_angle_limitsMethod
get_angle_limits(
+Dynamic Lines · PowerSystems.jl

Dynamic Branch

PowerSystems.DynamicBranchType

Extends the branch type to add the information required for dynamic modeling of branches. Includes the fields for the states and the number of states

Arguments

  • branch::ACBranch
source
PowerSystems.get_bMethod
get_b(
     value::DynamicBranch
 ) -> @NamedTuple{from::Float64, to::Float64}
-

Get DynamicBranch b.

source
PowerSystems.set_angle_limits!Method
set_angle_limits!(
     value::DynamicBranch,
     val::@NamedTuple{min::Float64, max::Float64}
 ) -> @NamedTuple{min::Float64, max::Float64}
-

Set DynamicBranch angle_limits.

source
+

Set states

source
diff --git a/dev/model_library/dynamic_generator/index.html b/dev/model_library/dynamic_generator/index.html index 1a2ad405ae..6e2aad934c 100644 --- a/dev/model_library/dynamic_generator/index.html +++ b/dev/model_library/dynamic_generator/index.html @@ -1,5 +1,5 @@ -Dynamic Generator · PowerSystems.jl

DynamicGenerator

PowerSystems.DynamicGeneratorType
mutable struct DynamicGenerator{
+Dynamic Generator · PowerSystems.jl

DynamicGenerator

PowerSystems.DynamicGeneratorType
mutable struct DynamicGenerator{
     M <: Machine,
     S <: Shaft,
     A <: AVR,
@@ -18,4 +18,4 @@
     states::Vector{Symbol}
     ext::Dict{String, Any}
     internal::InfrastructureSystemsInternal
-end

A dynamic generator is composed by 5 components, namely a Machine, a Shaft, an Automatic Voltage Regulator (AVR), a Prime Mover (o Turbine Governor) and Power System Stabilizer (PSS). It requires a Static Injection device that is attached to it.

Arguments

  • name::String: Name of generator.
  • ω_ref::Float64: Frequency reference set-point in pu.
  • machine <: Machine: Machine model for modeling the electro-magnetic phenomena.
  • shaft <: Shaft: Shaft model for modeling the electro-mechanical phenomena.
  • avr <: AVR: AVR model of the excitacion system.
  • prime_mover <: TurbineGov: Prime Mover and Turbine Governor model for mechanical power.
  • pss <: PSS: Power System Stabilizer model.
  • base_power::Float64: Base power
  • n_states::Int: Number of states (will depend on the components).
  • states::Vector{Symbol}: Vector of states (will depend on the components).
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+end

A dynamic generator is composed by 5 components, namely a Machine, a Shaft, an Automatic Voltage Regulator (AVR), a Prime Mover (o Turbine Governor) and Power System Stabilizer (PSS). It requires a StaticInjection device that is attached to it.

Arguments

  • name::String: Name of generator.
  • ω_ref::Float64: Frequency reference set-point in pu.
  • machine <: Machine: Machine model for modeling the electro-magnetic phenomena.
  • shaft <: Shaft: Shaft model for modeling the electro-mechanical phenomena.
  • avr <: AVR: AVR model of the excitacion system.
  • prime_mover <: TurbineGov: Prime Mover and Turbine Governor model for mechanical power.
  • pss <: PSS: Power System Stabilizer model.
  • base_power::Float64: Base power
  • n_states::Int: Number of states (will depend on the components).
  • states::Vector{Symbol}: Vector of states (will depend on the components).
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
diff --git a/dev/model_library/dynamic_inverter/index.html b/dev/model_library/dynamic_inverter/index.html index 880fd665e1..17ad4613d1 100644 --- a/dev/model_library/dynamic_inverter/index.html +++ b/dev/model_library/dynamic_inverter/index.html @@ -1,5 +1,5 @@ -Dynamic Inverter · PowerSystems.jl

DynamicInverter

PowerSystems.DynamicInverterType
mutable struct DynamicInverter{
+Dynamic Inverter · PowerSystems.jl

DynamicInverter

PowerSystems.DynamicInverterType
mutable struct DynamicInverter{
     C <: Converter,
     O <: OuterControl,
     IC <: InnerControl,
@@ -15,10 +15,10 @@
     dc_source::DC
     freq_estimator::P
     filter::F
-    limiter::Union{nothing, InverterLimiter}
+    limiter::Union{nothing, OutputCurrentLimiter}
     base_power::Float64
     n_states::Int
     states::Vector{Symbol}
     ext::Dict{String, Any}
     internal::InfrastructureSystemsInternal
-end

A dynamic inverter is composed by 6 components, namely a Converter, an Outer Control, an Inner Control, a DC Source, a Frequency Estimator and a Filter. It requires a Static Injection device that is attached to it.

Arguments

  • name::String: Name of inverter.
  • ω_ref::Float64: Frequency reference set-point in pu.
  • converter <: Converter: Converter model for the PWM transformation.
  • outer_control <: OuterControl: Outer-control controller model.
  • inner_control <: InnerControl: Inner-control controller model.
  • dc_source <: DCSource: DC Source model.
  • freq_estimator <: FrequencyEstimator: Frequency Estimator (typically a PLL) model.
  • filter <: Filter: Filter model.
  • limiter <: Union{nothing, InverterLimiter}: Inverter Inner Control Limiter model
  • base_power::Float64: Base power
  • n_states::Int: Number of states (will depend on the components).
  • states::Vector{Symbol}: Vector of states (will depend on the components).
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+end

A dynamic inverter is composed by 6 components, namely a Converter, an Outer Control, an Inner Control, a DC Source, a Frequency Estimator and a Filter. It requires a StaticInjection device that is attached to it.

Arguments

  • name::String: Name of inverter.
  • ω_ref::Float64: Frequency reference set-point in pu.
  • converter <: Converter: Converter model for the PWM transformation.
  • outer_control <: OuterControl: Outer-control controller model.
  • inner_control <: InnerControl: Inner-control controller model.
  • dc_source <: DCSource: DC Source model.
  • freq_estimator <: FrequencyEstimator: Frequency Estimator (typically a PLL) model.
  • filter <: Filter: Filter model.
  • limiter <: Union{nothing, OutputCurrentLimiter}: Inverter Inner Control Limiter model
  • base_power::Float64: Base power
  • n_states::Int: Number of states (will depend on the components).
  • states::Vector{Symbol}: Vector of states (will depend on the components).
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
diff --git a/dev/model_library/generated_ACBus/index.html b/dev/model_library/generated_ACBus/index.html index 3682767e5a..f664f5aac8 100644 --- a/dev/model_library/generated_ACBus/index.html +++ b/dev/model_library/generated_ACBus/index.html @@ -1,5 +1,5 @@ -ACBus · PowerSystems.jl

ACBus

PowerSystems.ACBusType
mutable struct ACBus <: Bus
+ACBus · PowerSystems.jl

ACBus

PowerSystems.ACBusType
mutable struct ACBus <: Bus
     number::Int
     name::String
     bustype::Union{Nothing, ACBusTypes}
@@ -11,25 +11,25 @@
     load_zone::Union{Nothing, LoadZone}
     ext::Dict{String, Any}
     internal::InfrastructureSystemsInternal
-end

A power-system bus.

Arguments

  • number::Int: number associated with the bus
  • name::String: the name of the bus
  • bustype::Union{Nothing, ACBusTypes}: bus type
  • angle::Union{Nothing, Float64}: angle of the bus in radians, validation range: (-1.571, 1.571), action if invalid: error
  • magnitude::Union{Nothing, Float64}: voltage as a multiple of basevoltage, validation range: voltage_limits, action if invalid: warn
  • voltage_limits::Union{Nothing, MinMax}: limits on the voltage variation as multiples of basevoltage
  • base_voltage::Union{Nothing, Float64}: the base voltage in kV, validation range: (0, nothing), action if invalid: error
  • area::Union{Nothing, Area}: the area containing the bus
  • load_zone::Union{Nothing, LoadZone}: the load zone containing the bus
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_voltage_limitsMethod
get_voltage_limits(
+end

An AC bus

Arguments

  • number::Int: A unique bus identification number (positive integer)
  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • bustype::Union{Nothing, ACBusTypes}: Used to describe the connectivity and behavior of this bus. Options are listed here.
  • angle::Union{Nothing, Float64}: angle of the bus in radians, validation range: (-1.571, 1.571)
  • magnitude::Union{Nothing, Float64}: voltage as a multiple of base_voltage, validation range: voltage_limits
  • voltage_limits::Union{Nothing, MinMax}: limits on the voltage variation as multiples of base_voltage
  • base_voltage::Union{Nothing, Float64}: the base voltage in kV, validation range: (0, nothing)
  • area::Union{Nothing, Area}: (default: nothing) the area containing the bus
  • load_zone::Union{Nothing, LoadZone}: (default: nothing) the load zone containing the bus
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get ACBus voltage_limits.

source
diff --git a/dev/model_library/generated_AGC/index.html b/dev/model_library/generated_AGC/index.html index 2362a7b291..bd87a1967a 100644 --- a/dev/model_library/generated_AGC/index.html +++ b/dev/model_library/generated_AGC/index.html @@ -1,5 +1,5 @@ -AGC · PowerSystems.jl

AGC

PowerSystems.AGCType
mutable struct AGC <: Service
+AGC · PowerSystems.jl

AGC

PowerSystems.AGCType
mutable struct AGC <: Service
     name::String
     available::Bool
     bias::Float64
@@ -11,23 +11,23 @@
     initial_ace::Float64
     ext::Dict{String, Any}
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • bias::Float64
  • K_p::Float64: PID Proportional Constant
  • K_i::Float64: PID Integral Constant
  • K_d::Float64: PID Derrivative Constant
  • delta_t::Float64: PID Discretization period [Seconds]
  • area::Union{Nothing, Area}: the area controlled by the AGC
  • initial_ace::Float64: PID Discretization period [Seconds]
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+end

Automatic generation control (AGC) for the system or a certain Area within the system.

This model uses a proportional–integral–derivative (PID) control to simulate a "smooth" response of the AGC to the area control error (ACE). Refer to "AGC Simulation Model for Large Renewable Energy Penetration Studies."

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bias::Float64: Area frequency bias in MW/Hz
  • K_p::Float64: PID Proportional Constant
  • K_i::Float64: PID Integral Constant
  • K_d::Float64: PID Derivative Constant
  • delta_t::Float64: PID Discretization period [Seconds]
  • area::Union{Nothing, Area}: (default: nothing) the area controlled by the AGC
  • initial_ace::Float64: (default: 0.0) Initial condition for ACE
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_AVR/index.html b/dev/model_library/generated_AVR/index.html index aa235cbc3c..d25f7d5be6 100644 --- a/dev/model_library/generated_AVR/index.html +++ b/dev/model_library/generated_AVR/index.html @@ -1,5 +1,5 @@ -AVR · PowerSystems.jl

AVR

AVRFixed

PowerSystems.AVRFixedType
mutable struct AVRFixed <: AVR
+AVR · PowerSystems.jl

AVR

AVRFixed

PowerSystems.AVRFixedType
mutable struct AVRFixed <: AVR
     Vf::Float64
     V_ref::Float64
     ext::Dict{String, Any}
@@ -7,17 +7,17 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Parameters of a AVR that returns a fixed voltage to the rotor winding

Arguments

  • Vf::Float64: Fixed voltage field applied to the rotor winding, validation range: (0, nothing)
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: Fixed AVR has no states
  • n_states::Int: Fixed AVR has no states
  • states_types::Vector{StateTypes}: Fixed AVR has no states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

AVRSimple

PowerSystems.AVRSimpleType
mutable struct AVRSimple <: AVR
+end

Parameters of a AVR that returns a fixed voltage to the rotor winding

Arguments

  • Vf::Float64: Fixed voltage field applied to the rotor winding in pu (DEVICE_BASE), validation range: (0, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) Fixed AVR has no states
  • n_states::Int: (Do not modify.) Fixed AVR has no states
  • states_types::Vector{StateTypes}: (Do not modify.) Fixed AVR has no states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

AVRSimple

PowerSystems.AVRSimpleType
mutable struct AVRSimple <: AVR
     Kv::Float64
     V_ref::Float64
     ext::Dict{String, Any}
@@ -25,17 +25,17 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Parameters of a simple proportional AVR in the derivative of EMF i.e. an integrator controller on EMF

Arguments

  • Kv::Float64: Proportional Gain, validation range: (0, nothing)
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vf: field voltage
  • n_states::Int: Fixed AVR has 1 states
  • states_types::Vector{StateTypes}: Simple AVR has 1 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

AVRTypeI

PowerSystems.AVRTypeIType
mutable struct AVRTypeI <: AVR
+end

Parameters of a simple proportional AVR in the derivative of EMF i.e. an integrator controller on EMF

Arguments

  • Kv::Float64: Proportional Gain, validation range: (0, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vf: field voltage
  • n_states::Int: (Do not modify.) Fixed AVR has 1 state
  • states_types::Vector{StateTypes}: (Do not modify.) Simple AVR has 1 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

AVRTypeI

PowerSystems.AVRTypeIType
mutable struct AVRTypeI <: AVR
     Ka::Float64
     Ke::Float64
     Kf::Float64
@@ -52,40 +52,40 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Parameters of an Automatic Voltage Regulator Type I - Resembles IEEE Type DC1

Arguments

  • Ka::Float64: Amplifier Gain, validation range: (0, nothing)
  • Ke::Float64: Field circuit integral deviation, validation range: (0, nothing)
  • Kf::Float64: Stabilizer Gain in s * pu/pu, validation range: (0, nothing)
  • Ta::Float64: Amplifier Time Constant in s, validation range: (0, nothing)
  • Te::Float64: Field Circuit Time Constant in s, validation range: (0, nothing)
  • Tf::Float64: Stabilizer Time Constant in s, validation range: (0, nothing)
  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing)
  • Va_lim::MinMax: Limits for pi controler (Va_min, Va_max)
  • Ae::Float64: 1st ceiling coefficient, validation range: (0, nothing)
  • Be::Float64: 2nd ceiling coefficient, validation range: (0, nothing)
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vf: Voltage field,
+end

Parameters of an Automatic Voltage Regulator Type I - Resembles IEEE Type DC1

Arguments

  • Ka::Float64: Amplifier Gain, validation range: (0, nothing)
  • Ke::Float64: Field circuit integral deviation, validation range: (0, nothing)
  • Kf::Float64: Stabilizer Gain in s * pu/pu, validation range: (0, nothing)
  • Ta::Float64: Amplifier Time Constant in s, validation range: (0, nothing)
  • Te::Float64: Field Circuit Time Constant in s, validation range: (0, nothing)
  • Tf::Float64: Stabilizer Time Constant in s, validation range: (0, nothing)
  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing)
  • Va_lim::MinMax: Limits for pi controler (Va_min, Va_max)
  • Ae::Float64: 1st ceiling coefficient, validation range: (0, nothing)
  • Be::Float64: 2nd ceiling coefficient, validation range: (0, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vf: Voltage field,
 Vr1: Amplifier State,
 Vr2: Stabilizing Feedback State,
-Vm: Measured voltage
  • n_states::Int: The AVR Type I has 4 states
  • states_types::Vector{StateTypes}: AVR Type I has 4 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Va_limMethod
get_Va_lim(
+Vm: Measured voltage
  • n_states::Int: (Do not modify.) The AVR Type I has 4 states
  • states_types::Vector{StateTypes}: (Do not modify.) AVR Type I has 4 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

AVRTypeII

AVRTypeII

PowerSystems.AVRTypeIIType
mutable struct AVRTypeII <: AVR
     K0::Float64
     T1::Float64
     T2::Float64
@@ -102,40 +102,40 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Parameters of an Automatic Voltage Regulator Type II - Typical static exciter model

Arguments

  • K0::Float64: Regulator Gain, validation range: (0, nothing)
  • T1::Float64: First Pole in s, validation range: (0, nothing)
  • T2::Float64: First zero in s, validation range: (0, nothing)
  • T3::Float64: First Pole in s, validation range: (0, nothing)
  • T4::Float64: First zero in s, validation range: (0, nothing)
  • Te::Float64: Field Circuit Time Constant in s, validation range: (0, nothing)
  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing)
  • Va_lim::MinMax: Limits for pi controler (Va_min, Va_max)
  • Ae::Float64: 1st ceiling coefficient, validation range: (0, nothing)
  • Be::Float64: 2nd ceiling coefficient, validation range: (0, nothing)
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vf: Voltage field,
+end

Parameters of an Automatic Voltage Regulator Type II - Typical static exciter model

Arguments

  • K0::Float64: Regulator Gain, validation range: (0, nothing)
  • T1::Float64: First Pole in s, validation range: (0, nothing)
  • T2::Float64: First zero in s, validation range: (0, nothing)
  • T3::Float64: First Pole in s, validation range: (0, nothing)
  • T4::Float64: First zero in s, validation range: (0, nothing)
  • Te::Float64: Field Circuit Time Constant in s, validation range: (0, nothing)
  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing)
  • Va_lim::MinMax: Limits for pi controler (Va_min, Va_max)
  • Ae::Float64: 1st ceiling coefficient, validation range: (0, nothing)
  • Be::Float64: 2nd ceiling coefficient, validation range: (0, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vf: Voltage field,
 Vr1: First Lead-Lag state,
 Vr2: Second lead-lag state,
-Vm: Measured voltage
  • n_states::Int: AVR Type II has 4 states
  • states_types::Vector{StateTypes}: AVR Type II has 4 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Va_limMethod
get_Va_lim(
+Vm: Measured voltage
  • n_states::Int: (Do not modify.) AVR Type II has 4 states
  • states_types::Vector{StateTypes}: (Do not modify.) AVR Type II has 4 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

ESAC1A

ESAC1A

PowerSystems.ESAC1AType
mutable struct ESAC1A <: AVR
     Tr::Float64
     Tb::Float64
     Tc::Float64
@@ -158,57 +158,57 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A Excitacion System. This model corresponds to ESAC1A in PSSE and PSLF

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn
  • Tb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20), action if invalid: warn
  • Tc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20), action if invalid: warn
  • Ka::Float64: Regulator output gain, validation range: (0, 1000), action if invalid: warn
  • Ta::Float64: Regulator output time constant in s, validation range: (0, 10)
  • Va_lim::MinMax: Limits for regulator output (Va_min, Va_max)
  • Te::Float64: Exciter field time constant in s, validation range: (eps(), 2), action if invalid: error
  • Kf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3), action if invalid: warn
  • Tf::Float64: Rate feedback time constant, validation range: (eps(), 1.5), action if invalid: error
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1), action if invalid: warn
  • Kd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1), action if invalid: warn
  • Ke::Float64: Exciter field proportional constant, validation range: (0, 1), action if invalid: warn
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • Vr_lim::MinMax: Limits for exciter field voltage: (Vr_min, Vr_max)
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(x) = B(x - A)^2/x
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vm: Sensed terminal voltage,
+end

This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A Excitacion System. This model corresponds to ESAC1A in PSSE and PSLF

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)
  • Tb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20)
  • Tc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20)
  • Ka::Float64: Regulator output gain, validation range: (0, 1000)
  • Ta::Float64: Regulator output time constant in s, validation range: (0, 10)
  • Va_lim::MinMax: Limits for regulator output (Va_min, Va_max)
  • Te::Float64: Exciter field time constant in s, validation range: (eps(), 2)
  • Kf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3)
  • Tf::Float64: Rate feedback time constant, validation range: (eps(), 1.5)
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)
  • Kd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1)
  • Ke::Float64: Exciter field proportional constant, validation range: (0, 1)
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • Vr_lim::MinMax: Limits for exciter field voltage: (Vr_min, Vr_max)
  • V_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(x) = B(x - A)^2/x
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed terminal voltage,
 Vr1: Lead-lag state,
 Vr2: Regulator output state,
 Ve: Integrator output state,
-Vr3: Feedback output state
  • n_states::Int: ESAC1A has 5 states
  • states_types::Vector{StateTypes}: ESAC1A has 5 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Va_limMethod
get_Va_lim(
+Vr3: Feedback output state
  • n_states::Int: (Do not modify.) ESAC1A has 5 states
  • states_types::Vector{StateTypes}: (Do not modify.) ESAC1A has 5 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

ESAC6A

ESAC6A

PowerSystems.ESAC6AType
mutable struct ESAC6A <: AVR
     Tr::Float64
     Ka::Float64
     Ta::Float64
@@ -235,65 +235,65 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Modified AC6A. Used to represent field-controlled alternator-rectifier excitation systems with system-supplied electronic voltage regulators. Parameters of IEEE Std 421.5 Type AC6A Excitacion System. ESAC6A in PSSE and PSLF.

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn
  • Ka::Float64: Regulator output gain, validation range: (0, 1000), action if invalid: warn
  • Ta::Float64: Regulator output lag time constant in s, validation range: (0, 10), action if invalid: warn
  • Tk::Float64: Voltage Regulator lead time constant, validation range: (0, 10), action if invalid: warn
  • Tb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20), action if invalid: warn
  • Tc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20), action if invalid: warn
  • Va_lim::MinMax: Limits for regulator output (Va_min, Va_max)
  • Vr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)
  • Te::Float64: Exciter field time constant, validation range: (eps(), 2), action if invalid: error
  • VFE_lim::Float64: Exciter field current limiter reference, validation range: (-5, 20), action if invalid: warn
  • Kh::Float64: Exciter field current regulator feedback gain, validation range: (0, 100), action if invalid: warn
  • VH_max::Float64: Exciter field current limiter maximum output, validation range: (0, 100), action if invalid: warn
  • Th::Float64: Exciter field current limiter denominator (lag) time constant, validation range: (0, 1)
  • Tj::Float64: Exciter field current limiter numerator (lead) time constant, validation range: (0, 1), action if invalid: warn
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)
  • Kd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 2), action if invalid: warn
  • Ke::Float64: Exciter field proportional constant, validation range: (0, 2), action if invalid: warn
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vm: Sensed terminal voltage,
+end

Modified AC6A. Used to represent field-controlled alternator-rectifier excitation systems with system-supplied electronic voltage regulators. Parameters of IEEE Std 421.5 Type AC6A Excitacion System. ESAC6A in PSSE and PSLF

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)
  • Ka::Float64: Regulator output gain, validation range: (0, 1000)
  • Ta::Float64: Regulator output lag time constant in s, validation range: (0, 10)
  • Tk::Float64: Voltage Regulator lead time constant, validation range: (0, 10)
  • Tb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20)
  • Tc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20)
  • Va_lim::MinMax: Limits for regulator output (Va_min, Va_max)
  • Vr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)
  • Te::Float64: Exciter field time constant, validation range: (eps(), 2)
  • VFE_lim::Float64: Exciter field current limiter reference, validation range: (-5, 20)
  • Kh::Float64: Exciter field current regulator feedback gain, validation range: (0, 100)
  • VH_max::Float64: Exciter field current limiter maximum output, validation range: (0, 100)
  • Th::Float64: Exciter field current limiter denominator (lag) time constant, validation range: (0, 1)
  • Tj::Float64: Exciter field current limiter numerator (lead) time constant, validation range: (0, 1)
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)
  • Kd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 2)
  • Ke::Float64: Exciter field proportional constant, validation range: (0, 2)
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed terminal voltage,
 Vr1: Lead-lag state,
 Vr2: Regulator output state,
 Ve: Integrator output state,
-Vr3: Feedback output state
  • n_states::Int: ESAC6A has 5 states
  • states_types::Vector{StateTypes}: ESAC6A has 5 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Va_limMethod
get_Va_lim(
+Vr3: Feedback output state
  • n_states::Int: (Do not modify.) ESAC6A has 5 states
  • states_types::Vector{StateTypes}: (Do not modify.) ESAC6A has 5 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

ESDC1A

ESDC1A

PowerSystems.ESDC1AType
mutable struct ESDC1A <: AVR
     Tr::Float64
     Ka::Float64
     Ta::Float64
@@ -314,51 +314,51 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Self-excited shunt fields with the voltage regulator operating in a mode commonly termed buck-boost. Parameters of IEEE Std 421.5 Type DC1A Excitacion System. This model corresponds to ESDC1A in PSSE and PSLF

Arguments

  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5), action if invalid: warn
  • Ka::Float64: Amplifier Gain, validation range: (10, 500), action if invalid: warn
  • Ta::Float64: Amplifier Time Constant in s, validation range: (0, 1), action if invalid: warn
  • Tb::Float64: Regulator input Time Constant in s, validation range: (0, nothing), action if invalid: warn
  • Tc::Float64: Regulator input Time Constant in s, validation range: (0, nothing), action if invalid: warn
  • Vr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)
  • Ke::Float64: Exciter constant related to self-excited field, validation range: (0, nothing)
  • Te::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 1), action if invalid: error
  • Kf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3), action if invalid: error
  • Tf::Float64: Excitation control system stabilizer time constant, validation range: (eps(), nothing), action if invalid: error
  • switch::Int: Switch, validation range: (0, 1), action if invalid: error
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vt: Terminal Voltage,
+end

Self-excited shunt fields with the voltage regulator operating in a mode commonly termed buck-boost. Parameters of IEEE Std 421.5 Type DC1A Excitacion System. This model corresponds to ESDC1A in PSSE and PSLF

Arguments

  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5)
  • Ka::Float64: Amplifier Gain, validation range: (10, 500)
  • Ta::Float64: Amplifier Time Constant in s, validation range: (0, 1)
  • Tb::Float64: Regulator input Time Constant in s, validation range: (0, nothing)
  • Tc::Float64: Regulator input Time Constant in s, validation range: (0, nothing)
  • Vr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)
  • Ke::Float64: Exciter constant related to self-excited field, validation range: (0, nothing)
  • Te::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 1)
  • Kf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3)
  • Tf::Float64: Excitation control system stabilizer time constant, validation range: (eps(), nothing)
  • switch::Int: Switch, validation range: (0, 1)
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vt: Terminal Voltage,
 Vr1: input lead lag,
 Vr2: Regulator Output,
 Vf: Exciter Output, 
-Vr3: Rate feedback integrator
  • n_states::Int: The ESDC1A has 5 states
  • states_types::Vector{StateTypes}: ESDC1A has 5 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Vr_limMethod
get_Vr_lim(
+Vr3: Rate feedback integrator
  • n_states::Int: (Do not modify.) The ESDC1A has 5 states
  • states_types::Vector{StateTypes}: (Do not modify.) ESDC1A has 5 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

ESDC2A

ESDC2A

PowerSystems.ESDC2AType
mutable struct ESDC2A <: AVR
     Tr::Float64
     Ka::Float64
     Ta::Float64
@@ -379,51 +379,51 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Is used to represent field-controlled dc commutator exciters with continuously acting voltage regulators having power supplies derived from the generator or auxiliaries bus. Parameters of IEEE Std 421.5 Type DC2A Excitacion System. This model corresponds to ESDC2A in PSSE and PSLF

Arguments

  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5), action if invalid: warn
  • Ka::Float64: Amplifier Gain, validation range: (10, 500), action if invalid: warn
  • Ta::Float64: Amplifier Time Constant in s, validation range: (0, 1), action if invalid: warn
  • Tb::Float64: Regulator input Time Constant in s, validation range: (0, nothing), action if invalid: warn
  • Tc::Float64: Regulator input Time Constant in s, validation range: (0, nothing), action if invalid: warn
  • Vr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)
  • Ke::Float64: Exciter constant related to self-excited field, validation range: (-1, 1), action if invalid: warn
  • Te::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 2), action if invalid: error
  • Kf::Float64: Excitation control system stabilizer gain, validation range: (0, 0.3), action if invalid: warn
  • Tf::Float64: Excitation control system stabilizer time constant. Appropiate Data: 5.0 <= Tf/Kf <= 15.0, validation range: (eps(), 1.5), action if invalid: error
  • switch::Int: Switch, validation range: (0, 1), action if invalid: error
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vt: Terminal Voltage,
+end

Is used to represent field-controlled dc commutator exciters with continuously acting voltage regulators having power supplies derived from the generator or auxiliaries bus. Parameters of IEEE Std 421.5 Type DC2A Excitacion System. This model corresponds to ESDC2A in PSSE and PSLF

Arguments

  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5)
  • Ka::Float64: Amplifier Gain, validation range: (10, 500)
  • Ta::Float64: Amplifier Time Constant in s, validation range: (0, 1)
  • Tb::Float64: Regulator input Time Constant in s, validation range: (0, nothing)
  • Tc::Float64: Regulator input Time Constant in s, validation range: (0, nothing)
  • Vr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)
  • Ke::Float64: Exciter constant related to self-excited field, validation range: (-1, 1)
  • Te::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 2)
  • Kf::Float64: Excitation control system stabilizer gain, validation range: (0, 0.3)
  • Tf::Float64: Excitation control system stabilizer time constant. Appropiate Data: 5.0 <= Tf/Kf <= 15.0, validation range: (eps(), 1.5)
  • switch::Int: Switch, validation range: (0, 1)
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vt: Terminal Voltage,
 Vr1: input lead lag,
 Vr2: Regulator Output,
 Vf: Exciter Output, 
-Vr3: Rate feedback integrator
  • n_states::Int: The ESDC2A has 5 states
  • states_types::Vector{StateTypes}: ESDC2A has 5 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Vr_limMethod
get_Vr_lim(
+Vr3: Rate feedback integrator
  • n_states::Int: (Do not modify.) The ESDC2A has 5 states
  • states_types::Vector{StateTypes}: (Do not modify.) ESDC2A has 5 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

ESST1A

ESST1A

PowerSystems.ESST1AType
mutable struct ESST1A <: AVR
     UEL_flags::Int
     PSS_flags::Int
     Tr::Float64
@@ -447,57 +447,57 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

This excitation system supplies power through a transformer from the generator terminals and its regulated by a controlled rectifier (via thyristors). Parameters of IEEE Std 421.5 Type ST1A Excitacion System. ESST1A in PSSE and PSLF

Arguments

  • UEL_flags::Int: Code input for Underexcitization limiter (UEL) entry. Not supported., validation range: (1, 3), action if invalid: warn
  • PSS_flags::Int: Code input for Power System Stabilizer (PSS) or (VOS) entry., validation range: (1, 2)
  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.1), action if invalid: warn
  • Vi_lim::Tuple{Float64, Float64}: Voltage error limits (regulator input) (Vimin, Vimax)
  • Tc::Float64: First regulator denominator (lead) time constant in s, validation range: (0, 10), action if invalid: warn
  • Tb::Float64: First regulator denominator (lag) time constant in s, validation range: (0, 20)
  • Tc1::Float64: Second regulator denominator (lead) time constant in s, validation range: (0, 10), action if invalid: warn
  • Tb1::Float64: Second regulator denominator (lead) time constant in s, validation range: (0, 20), action if invalid: warn
  • Ka::Float64: Voltage regulator gain, validation range: (50, 1000), action if invalid: warn
  • Ta::Float64: Voltage regulator time constant in s, validation range: (0, 0.5), action if invalid: warn
  • Va_lim::MinMax: Limits for regulator output (Va_min, Va_max)
  • Vr_lim::MinMax: Limits for exciter output (Vr_min, Vr_max)
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 0.3), action if invalid: warn
  • Kf::Float64: Rate feedback gain, validation range: (0, 0.3), action if invalid: warn
  • Tf::Float64: Rate feedback time constant in s, validation range: (eps(), 1.5), action if invalid: error
  • K_lr::Float64: Exciter output current limiter gain, validation range: (0, 5), action if invalid: warn
  • I_lr::Float64: Exciter output current limit reference, validation range: (0, 5), action if invalid: warn
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vm: Sensed terminal voltage,
+end

This excitation system supplies power through a transformer from the generator terminals and its regulated by a controlled rectifier (via thyristors). Parameters of IEEE Std 421.5 Type ST1A Excitacion System. ESST1A in PSSE and PSLF

Arguments

  • UEL_flags::Int: Code input for Underexcitization limiter (UEL) entry. Not supported, validation range: (1, 3)
  • PSS_flags::Int: Code input for Power System Stabilizer (PSS) or (VOS) entry, validation range: (1, 2)
  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.1)
  • Vi_lim::Tuple{Float64, Float64}: Voltage error limits (regulator input) (Vimin, Vimax)
  • Tc::Float64: First regulator denominator (lead) time constant in s, validation range: (0, 10)
  • Tb::Float64: First regulator denominator (lag) time constant in s, validation range: (0, 20)
  • Tc1::Float64: Second regulator denominator (lead) time constant in s, validation range: (0, 10)
  • Tb1::Float64: Second regulator denominator (lead) time constant in s, validation range: (0, 20)
  • Ka::Float64: Voltage regulator gain, validation range: (50, 1000)
  • Ta::Float64: Voltage regulator time constant in s, validation range: (0, 0.5)
  • Va_lim::MinMax: Limits for regulator output (Va_min, Va_max)
  • Vr_lim::MinMax: Limits for exciter output (Vr_min, Vr_max)
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 0.3)
  • Kf::Float64: Rate feedback gain, validation range: (0, 0.3)
  • Tf::Float64: Rate feedback time constant in s, validation range: (eps(), 1.5)
  • K_lr::Float64: Exciter output current limiter gain, validation range: (0, 5)
  • I_lr::Float64: Exciter output current limit reference, validation range: (0, 5)
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed terminal voltage,
 Vr1: First Lead-lag state,
 Vr2: Second lead-lag state,
 Va: Regulator output state,
-Vr3: Feedback output state
  • n_states::Int: ST1A has 5 states
  • states_types::Vector{StateTypes}: ST1A has 5 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Va_limMethod
get_Va_lim(
+Vr3: Feedback output state
  • n_states::Int: (Do not modify.) ST1A has 5 states
  • states_types::Vector{StateTypes}: (Do not modify.) ST1A has 5 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

ESST4B

ESST4B

PowerSystems.ESST4BType
mutable struct ESST4B <: AVR
     Tr::Float64
     K_pr::Float64
     K_ir::Float64
@@ -520,55 +520,55 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

In these excitation systems, voltage (and also current in compounded systems) is transformed to an appropriate level. Rectifiers, either controlled or non-controlled, provide the necessary direct current for the generator field. Parameters of IEEE Std 421.5 Type ST4B Excitacion System. ESST4B in PSSE and PSLF

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn
  • K_pr::Float64: Regulator propotional gain, validation range: (0, 75), action if invalid: warn
  • K_ir::Float64: Regulator integral gain, validation range: (0, 75), action if invalid: warn
  • Vr_lim::MinMax: Voltage regulator limits (Vimin, Vimax)
  • Ta::Float64: Voltage regulator time constant in s, validation range: (0, 1), action if invalid: warn
  • K_pm::Float64: Voltage regulator proportional gain output, validation range: (0, 1.2), action if invalid: warn
  • K_im::Float64: Voltage regulator integral gain output, validation range: (0, 18), action if invalid: warn
  • Vm_lim::MinMax: Limits for inner loop output (Vm_min, Vm_max)
  • Kg::Float64: Feedback gain constant of the inner loop field regulator, validation range: (0, 1.1), action if invalid: warn
  • Kp::Float64: Potential circuit (voltage) gain coefficient, validation range: (0, 10), action if invalid: warn
  • Ki::Float64: Compound circuit (current) gain coefficient, validation range: (0, 1.1), action if invalid: warn
  • VB_max::Float64: Maximum available exciter voltage, validation range: (1, 20), action if invalid: warn
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1), action if invalid: warn
  • Xl::Float64: Reactance associated with potential source, validation range: (0, 0.5), action if invalid: warn
  • θp::Float64: Potential circuit phase angle (degrees), validation range: (-90, 90), action if invalid: error
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • θp_rad::Float64: Potential circuit phase angle (radians)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vm: Sensed terminal voltage,
+end

In these excitation systems, voltage (and also current in compounded systems) is transformed to an appropriate level. Rectifiers, either controlled or non-controlled, provide the necessary direct current for the generator field. Parameters of IEEE Std 421.5 Type ST4B Excitacion System. ESST4B in PSSE and PSLF

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)
  • K_pr::Float64: Regulator propotional gain, validation range: (0, 75)
  • K_ir::Float64: Regulator integral gain, validation range: (0, 75)
  • Vr_lim::MinMax: Voltage regulator limits (Vimin, Vimax)
  • Ta::Float64: Voltage regulator time constant in s, validation range: (0, 1)
  • K_pm::Float64: Voltage regulator proportional gain output, validation range: (0, 1.2)
  • K_im::Float64: Voltage regulator integral gain output, validation range: (0, 18)
  • Vm_lim::MinMax: Limits for inner loop output (Vm_min, Vm_max)
  • Kg::Float64: Feedback gain constant of the inner loop field regulator, validation range: (0, 1.1)
  • Kp::Float64: Potential circuit (voltage) gain coefficient, validation range: (0, 10)
  • Ki::Float64: Compound circuit (current) gain coefficient, validation range: (0, 1.1)
  • VB_max::Float64: Maximum available exciter voltage, validation range: (1, 20)
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)
  • Xl::Float64: Reactance associated with potential source, validation range: (0, 0.5)
  • θp::Float64: Potential circuit phase angle (degrees), validation range: (-90, 90)
  • V_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)
  • θp_rad::Float64: (default: θp*π*inv(180)) (Do not modify.) Potential circuit phase angle (radians)
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed terminal voltage,
 Vt: Sensed Terminal Voltage,
 Vr1: Regulator Integrator,
 Vr2: Regulator Output,
-Vm: Output integrator
  • n_states::Int: ST4B has 4 states
  • states_types::Vector{StateTypes}: ST4B has 4 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Vm_limMethod
get_Vm_lim(
+Vm: Output integrator
  • n_states::Int: (Do not modify.) ST4B has 4 states
  • states_types::Vector{StateTypes}: (Do not modify.) ST4B has 4 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

EXAC1

EXAC1

PowerSystems.EXAC1Type
mutable struct EXAC1 <: AVR
     Tr::Float64
     Tb::Float64
     Tc::Float64
@@ -590,53 +590,53 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Modified ESAC1A. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A. EXAC1 in PSSE and PSLF

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn
  • Tb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20), action if invalid: warn
  • Tc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20), action if invalid: warn
  • Ka::Float64: Regulator output gain, validation range: (0, 1000)
  • Ta::Float64: Regulator output time constant in s, validation range: (0, 10), action if invalid: warn
  • Vr_lim::MinMax: Limits for regulator output (Vr_min, Vr_max)
  • Te::Float64: Exciter field time constant in s, validation range: (eps(), 2), action if invalid: error
  • Kf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3), action if invalid: warn
  • Tf::Float64: Rate feedback time constant, validation range: (eps(), 1.5), action if invalid: error
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)
  • Kd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1), action if invalid: warn
  • Ke::Float64: Exciter field proportional constant, validation range: (0, 1), action if invalid: warn
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vm: Sensed terminal voltage,
+end

Modified ESAC1A. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A. EXAC1 in PSSE and PSLF

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)
  • Tb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20)
  • Tc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20)
  • Ka::Float64: Regulator output gain, validation range: (0, 1000)
  • Ta::Float64: Regulator output time constant in s, validation range: (0, 10)
  • Vr_lim::MinMax: Limits for regulator output (Vr_min, Vr_max)
  • Te::Float64: Exciter field time constant in s, validation range: (eps(), 2)
  • Kf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3)
  • Tf::Float64: Rate feedback time constant, validation range: (eps(), 1.5)
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)
  • Kd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1)
  • Ke::Float64: Exciter field proportional constant, validation range: (0, 1)
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed terminal voltage,
 Vr1: Lead-lag state,
 Vr2: Regulator output state,
 Ve: Integrator output state,
-Vr3: Feedback output state
  • n_states::Int: EXAC1 has 5 states
  • states_types::Vector{StateTypes}: EXAC1 has 5 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Vr_limMethod
get_Vr_lim(
+Vr3: Feedback output state
  • n_states::Int: (Do not modify.) EXAC1 has 5 states
  • states_types::Vector{StateTypes}: (Do not modify.) EXAC1 has 5 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

EXAC1A

EXAC1A

PowerSystems.EXAC1AType
mutable struct EXAC1A <: AVR
     Tr::Float64
     Tb::Float64
     Tc::Float64
@@ -659,57 +659,57 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Modified ESAC1A. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A Excitacion System. EXAC1A in PSSE and PSLF

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn
  • Tb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20), action if invalid: warn
  • Tc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20), action if invalid: warn
  • Ka::Float64: Regulator output gain, validation range: (0, 1000), action if invalid: warn
  • Ta::Float64: Regulator output time constant in s, validation range: (0, 10)
  • Va_lim::MinMax: Limits for regulator output (Va_min, Va_max)
  • Te::Float64: Exciter field time constant in s, validation range: (eps(), 2), action if invalid: error
  • Kf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3), action if invalid: warn
  • Tf::Float64: Rate feedback time constant, validation range: (eps(), 1.5), action if invalid: error
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1), action if invalid: warn
  • Kd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1), action if invalid: warn
  • Ke::Float64: Exciter field proportional constant, validation range: (0, 1)
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • Vr_lim::MinMax: Limits for exciter field voltage: (Vr_min, Vr_max)
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(x) = B(x - A)^2/x
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vm: Sensed terminal voltage,
+end

Modified ESAC1A. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A Excitacion System. EXAC1A in PSSE and PSLF

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)
  • Tb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20)
  • Tc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20)
  • Ka::Float64: Regulator output gain, validation range: (0, 1000)
  • Ta::Float64: Regulator output time constant in s, validation range: (0, 10)
  • Va_lim::MinMax: Limits for regulator output (Va_min, Va_max)
  • Te::Float64: Exciter field time constant in s, validation range: (eps(), 2)
  • Kf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3)
  • Tf::Float64: Rate feedback time constant, validation range: (eps(), 1.5)
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)
  • Kd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1)
  • Ke::Float64: Exciter field proportional constant, validation range: (0, 1)
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • Vr_lim::MinMax: Limits for exciter field voltage: (Vr_min, Vr_max)
  • V_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(x) = B(x - A)^2/x
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed terminal voltage,
 Vr1: Lead-lag state,
 Vr2: Regulator output state,
 Ve: Integrator output state,
-Vr3: Feedback output state
  • n_states::Int: EXAC1A has 5 states
  • states_types::Vector{StateTypes}: EXAC1A has 5 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Va_limMethod
get_Va_lim(
+Vr3: Feedback output state
  • n_states::Int: (Do not modify.) EXAC1A has 5 states
  • states_types::Vector{StateTypes}: (Do not modify.) EXAC1A has 5 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

EXAC2

EXAC2

PowerSystems.EXAC2Type
mutable struct EXAC2 <: AVR
     Tr::Float64
     Tb::Float64
     Tc::Float64
@@ -736,65 +736,65 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Modified AC2. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC2A Excitacion System. The alternator main exciter is used, feeding its output via non-controlled rectifiers. The Type AC2C model is similar to that of Type AC1C except for the inclusion of exciter time constant compensation and exciter field current limiting elements. EXAC2 in PSSE and PSLF.

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn
  • Tb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20), action if invalid: warn
  • Tc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20), action if invalid: warn
  • Ka::Float64: Regulator output gain, validation range: (0, 1000)
  • Ta::Float64: Regulator output time constant in s, validation range: (0, 10), action if invalid: warn
  • Va_lim::MinMax: Limits for regulator output (Va_min, Va_max)
  • Kb::Float64: Second Stage regulator gain, validation range: (eps(), 500), action if invalid: error
  • Vr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)
  • Te::Float64: Exciter field time constant, validation range: (eps(), 2), action if invalid: error
  • Kl::Float64: Exciter field current limiter gain, validation range: (0, 1.1), action if invalid: warn
  • Kh::Float64: Exciter field current regulator feedback gain, validation range: (0, 1.1), action if invalid: warn
  • Kf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3), action if invalid: warn
  • Tf::Float64: Rate feedback time constant, validation range: (eps(), nothing), action if invalid: error
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1), action if invalid: warn
  • Kd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1), action if invalid: warn
  • Ke::Float64: Exciter field proportional constant, validation range: (0, 1), action if invalid: warn
  • V_lr::Float64: Maximum exciter field current, validation range: (0, nothing), action if invalid: warn
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vm: Sensed terminal voltage,
+end

Modified AC2. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC2A Excitacion System. The alternator main exciter is used, feeding its output via non-controlled rectifiers. The Type AC2C model is similar to that of Type AC1C except for the inclusion of exciter time constant compensation and exciter field current limiting elements. EXAC2 in PSSE and PSLF

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)
  • Tb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20)
  • Tc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20)
  • Ka::Float64: Regulator output gain, validation range: (0, 1000)
  • Ta::Float64: Regulator output time constant in s, validation range: (0, 10)
  • Va_lim::MinMax: Limits for regulator output (Va_min, Va_max)
  • Kb::Float64: Second Stage regulator gain, validation range: (eps(), 500)
  • Vr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)
  • Te::Float64: Exciter field time constant, validation range: (eps(), 2)
  • Kl::Float64: Exciter field current limiter gain, validation range: (0, 1.1)
  • Kh::Float64: Exciter field current regulator feedback gain, validation range: (0, 1.1)
  • Kf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3)
  • Tf::Float64: Rate feedback time constant, validation range: (eps(), nothing)
  • Kc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)
  • Kd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1)
  • Ke::Float64: Exciter field proportional constant, validation range: (0, 1)
  • V_lr::Float64: Maximum exciter field current, validation range: (0, nothing)
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed terminal voltage,
 Vr1: Lead-lag state,
 Vr2: Regulator output state,
 Ve: Integrator output state,
-Vr3: Feedback output state
  • n_states::Int: EXAC2 has 5 states
  • states_types::Vector{StateTypes}: EXAC2 has 5 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Va_limMethod
get_Va_lim(
+Vr3: Feedback output state
  • n_states::Int: (Do not modify.) EXAC2 has 5 states
  • states_types::Vector{StateTypes}: (Do not modify.) EXAC2 has 5 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

EXPIC1

EXPIC1

PowerSystems.EXPIC1Type
mutable struct EXPIC1 <: AVR
     Tr::Float64
     Ka::Float64
     Ta::Float64
@@ -821,69 +821,69 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Generic Proportional/Integral Excitation System

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn
  • Ka::Float64: Voltage regulator gain, validation range: (1, 500), action if invalid: warn
  • Ta::Float64: Voltage regulator time constant in s, validation range: (0, 10), action if invalid: warn
  • Va_lim::MinMax: Limits for pi controler (Vr_min, Vr_max)
  • Ta_2::Float64: Voltage regulator time constant in s, validation range: (0, nothing)
  • Ta_3::Float64: Voltage regulator time constant in s, validation range: (0, nothing), action if invalid: warn
  • Ta_4::Float64: Voltage regulator time constant in s, validation range: (0, nothing), action if invalid: warn
  • Vr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)
  • Kf::Float64: Rate feedback gain, validation range: (0, 0.3), action if invalid: warn
  • Tf_1::Float64: Rate Feedback time constant in s, validation range: (eps(), 15)
  • Tf_2::Float64: Rate Feedback time constant in s, validation range: (0, 5), action if invalid: warn
  • Efd_lim::MinMax: Field Voltage regulator limits (regulator output) (Efdmin, Efdmax)
  • Ke::Float64: Exciter constant, validation range: (0, 1), action if invalid: warn
  • Te::Float64: Exciter time constant, validation range: (0, 2), action if invalid: warn
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • Kp::Float64: Potential source gain, validation range: (0, 5), action if invalid: warn
  • Ki::Float64: current source gain, validation range: (0, 1.1)
  • Kc::Float64: Exciter regulation factor, validation range: (0, 2), action if invalid: warn
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vm: Sensed terminal voltage,
+end

Generic Proportional/Integral Excitation System

Arguments

  • Tr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)
  • Ka::Float64: Voltage regulator gain, validation range: (1, 500)
  • Ta::Float64: Voltage regulator time constant in s, validation range: (0, 10)
  • Va_lim::MinMax: Limits for pi controler (Vr_min, Vr_max)
  • Ta_2::Float64: Voltage regulator time constant in s, validation range: (0, nothing)
  • Ta_3::Float64: Voltage regulator time constant in s, validation range: (0, nothing)
  • Ta_4::Float64: Voltage regulator time constant in s, validation range: (0, nothing)
  • Vr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)
  • Kf::Float64: Rate feedback gain, validation range: (0, 0.3)
  • Tf_1::Float64: Rate Feedback time constant in s, validation range: (eps(), 15)
  • Tf_2::Float64: Rate Feedback time constant in s, validation range: (0, 5)
  • Efd_lim::MinMax: Field Voltage regulator limits (regulator output) (Efdmin, Efdmax)
  • Ke::Float64: Exciter constant, validation range: (0, 1)
  • Te::Float64: Exciter time constant, validation range: (0, 2)
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • Kp::Float64: Potential source gain, validation range: (0, 5)
  • Ki::Float64: current source gain, validation range: (0, 1.1)
  • Kc::Float64: Exciter regulation factor, validation range: (0, 2)
  • V_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed terminal voltage,
 Vr1: First Lead-lag state,
 Vr2: Second regulator lead-lag state,
 Vr2: Third regulator lead-lag state 
 Vf: Exciter output 
 Vr3: First feedback integrator,
-Vr4: second feedback integrator
  • n_states::Int: EXPIC1 has 6 states
  • states_types::Vector{StateTypes}: EXPIC has 6 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Efd_limMethod
get_Efd_lim(
+Vr4: second feedback integrator
  • n_states::Int: (Do not modify.) EXPIC1 has 6 states
  • states_types::Vector{StateTypes}: (Do not modify.) EXPIC has 6 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

IEEET1

IEEET1

PowerSystems.IEEET1Type
mutable struct IEEET1 <: AVR
     Tr::Float64
     Ka::Float64
     Ta::Float64
@@ -902,110 +902,110 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

1968 IEEE type 1 excitation system model

Arguments

  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5), action if invalid: warn
  • Ka::Float64: Amplifier Gain, validation range: (10, 500), action if invalid: warn
  • Ta::Float64: Amplifier Time Constant in s, validation range: (0, 1), action if invalid: warn
  • Vr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)
  • Ke::Float64: Exciter constant related to self-excited field, validation range: (-1, 1)
  • Te::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 1), action if invalid: error
  • Kf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3), action if invalid: warn
  • Tf::Float64: Excitation control system stabilizer time constant. Appropiate Data: 5 <= Tf/Kf <= 15, validation range: (eps(), nothing), action if invalid: error
  • switch::Int: Switch, validation range: (0, 1), action if invalid: error
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vt: Terminal Voltage,
+end

1968 IEEE type 1 excitation system model

Arguments

  • Tr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5)
  • Ka::Float64: Amplifier Gain, validation range: (10, 500)
  • Ta::Float64: Amplifier Time Constant in s, validation range: (0, 1)
  • Vr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)
  • Ke::Float64: Exciter constant related to self-excited field, validation range: (-1, 1)
  • Te::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 1)
  • Kf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3)
  • Tf::Float64: Excitation control system stabilizer time constant. Appropiate Data: 5 <= Tf/Kf <= 15, validation range: (eps(), nothing)
  • switch::Int: Switch, validation range: (0, 1)
  • E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
  • Se::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))
  • V_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)
  • saturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vt: Terminal Voltage,
 Vr: Regulator Output,
 Vf: Exciter Output, 
-Vr3: Rate feedback integrator
  • n_states::Int: The IEEET1 has 4 states
  • states_types::Vector{StateTypes}: IEEET1 I has 4 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Vr_limMethod
get_Vr_lim(
+Vr3: Rate feedback integrator
  • n_states::Int: (Do not modify.) The IEEET1 has 4 states
  • states_types::Vector{StateTypes}: (Do not modify.) IEEET1 I has 4 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

EX4VSA

EX4VSA

EXST1

EXST1

SCRX

SCRX

PowerSystems.SCRXType
mutable struct SCRX <: AVR
     Ta_Tb::Float64
     Tb::Float64
     K::Float64
@@ -1019,32 +1019,32 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

This exciter is based on an IEEE type SCRX solid state exciter. The output field voltage is varied by a control system to maintain the system voltage at Vref. Please note that this exciter model has no initialization capabilities - this means that it will respond to whatever inputs it receives regardless of the state of the machine model.

Arguments

  • Ta_Tb::Float64: Lead input constant ratio, validation range: (0.05, 0.3), action if invalid: error
  • Tb::Float64: Lag input constant in s, validation range: (5, 20), action if invalid: error
  • K::Float64: Regulator Gain, validation range: (20, 100), action if invalid: warn
  • Te::Float64: Regulator Time Constant, validation range: (0, 1), action if invalid: warn
  • Efd_lim::MinMax: Field Voltage regulator limits (regulator output) (Efdmin, Efdmax)
  • switch::Int: Switch, validation range: (0, 1), action if invalid: error
  • rc_rfd::Float64: Field current capability. Set = 0 for negative current capability. Typical value 10, validation range: (0, 10), action if invalid: warn
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
Vr1: First integrator,
-Vr2: Second integrator
  • n_states::Int: SCRX has 2 states
  • states_types::Vector{StateTypes}: SCRX has 2 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_Efd_limMethod
get_Efd_lim(
+end

This exciter is based on an IEEE type SCRX solid state exciter. The output field voltage is varied by a control system to maintain the system voltage at Vref. Please note that this exciter model has no initialization capabilities - this means that it will respond to whatever inputs it receives regardless of the state of the machine model

Arguments

  • Ta_Tb::Float64: Lead input constant ratio, validation range: (0.05, 0.3)
  • Tb::Float64: Lag input constant in s, validation range: (5, 20)
  • K::Float64: Regulator Gain, validation range: (20, 100)
  • Te::Float64: Regulator Time Constant, validation range: (0, 1)
  • Efd_lim::MinMax: Field Voltage regulator limits (regulator output) (Efdmin, Efdmax)
  • switch::Int: Switch, validation range: (0, 1)
  • rc_rfd::Float64: Field current capability. Set = 0 for negative current capability. Typical value 10, validation range: (0, 10)
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
Vr1: First integrator,
+Vr2: Second integrator
  • n_states::Int: (Do not modify.) SCRX has 2 states
  • states_types::Vector{StateTypes}: (Do not modify.) SCRX has 2 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SEXS

SEXS

PowerSystems.SEXSType
mutable struct SEXS <: AVR
     Ta_Tb::Float64
     Tb::Float64
     K::Float64
@@ -1056,24 +1056,24 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Parameters of Simplified Excitation System Model - SEXS in PSSE

Arguments

  • Ta_Tb::Float64: Ratio of lead and lag time constants, validation range: (0, nothing)
  • Tb::Float64: Lag time constant, validation range: (eps(), nothing)
  • K::Float64: Gain, validation range: (0, nothing)
  • Te::Float64: Field circuit time constant in s, validation range: (0, nothing)
  • V_lim::MinMax: Field voltage limits
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are: Vf: Voltage field, Vr: Lead-lag state
  • n_states::Int: SEXS has 2 states
  • states_types::Vector{StateTypes}: SEXS has 2 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_V_limMethod
get_V_lim(
+end

Parameters of Simplified Excitation System Model - SEXS in PSSE

Arguments

  • Ta_Tb::Float64: Ratio of lead and lag time constants, validation range: (0, nothing)
  • Tb::Float64: Lag time constant, validation range: (eps(), nothing)
  • K::Float64: Gain, validation range: (0, nothing)
  • Te::Float64: Field circuit time constant in s, validation range: (0, nothing)
  • V_lim::MinMax: Field voltage limits
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are: Vf: Voltage field, Vr: Lead-lag state
  • n_states::Int: (Do not modify.) SEXS has 2 states
  • states_types::Vector{StateTypes}: (Do not modify.) SEXS has 2 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get SEXS V_lim.

source
diff --git a/dev/model_library/generated_Arc/index.html b/dev/model_library/generated_Arc/index.html index 17082ffca7..d9dd63a391 100644 --- a/dev/model_library/generated_Arc/index.html +++ b/dev/model_library/generated_Arc/index.html @@ -1,10 +1,10 @@ -Arc · PowerSystems.jl

Arc

PowerSystems.ArcType
mutable struct Arc <: Topology
+Arc · PowerSystems.jl

Arc

PowerSystems.ArcType
mutable struct Arc <: Topology
     from::Bus
     to::Bus
     internal::InfrastructureSystemsInternal
-end

A topological Arc.

Arguments

  • from::Bus: The initial bus
  • to::Bus: The terminal bus
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+end

A topological directed edge connecting two buses.

Arcs are used to define the from and to buses when defining a line or transformer

Arguments

  • from::Bus: The initial bus
  • to::Bus: The terminal bus
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_Area/index.html b/dev/model_library/generated_Area/index.html index a3948e7b8c..0eddd0cf02 100644 --- a/dev/model_library/generated_Area/index.html +++ b/dev/model_library/generated_Area/index.html @@ -1,20 +1,18 @@ -Area · PowerSystems.jl

Area

PowerSystems.AreaType
mutable struct Area <: AggregationTopology
+Area · PowerSystems.jl

Area

PowerSystems.AreaType
mutable struct Area <: AggregationTopology
     name::String
     peak_active_power::Float64
     peak_reactive_power::Float64
     load_response::Float64
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
+    ext::Dict{String, Any}
     internal::InfrastructureSystemsInternal
-end

A collection of buses for control purposes.

Arguments

  • name::String
  • peak_active_power::Float64
  • peak_reactive_power::Float64
  • load_response::Float64
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+end

A collection of buses for control purposes.

The Area can be specified when defining each ACBus or DCBus in the area

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • peak_active_power::Float64: (default: 0.0) Peak active power in the area
  • peak_reactive_power::Float64: (default: 0.0) Peak reactive power in the area
  • load_response::Float64: (default: 0.0) Load-frequency damping parameter modeling how much the load in the area changes due to changes in frequency (MW/Hz). Example here.
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_AreaInterchange/index.html b/dev/model_library/generated_AreaInterchange/index.html new file mode 100644 index 0000000000..26f285360a --- /dev/null +++ b/dev/model_library/generated_AreaInterchange/index.html @@ -0,0 +1,26 @@ + +AreaInterchange · PowerSystems.jl

AreaInterchange

PowerSystems.AreaInterchangeType
mutable struct AreaInterchange <: Branch
+    name::String
+    available::Bool
+    active_power_flow::Float64
+    from_area::Area
+    to_area::Area
+    flow_limits::FromTo_ToFrom
+    ext::Dict{String, Any}
+    internal::InfrastructureSystemsInternal
+end

Flow exchanged between Areas. This Interchange is agnostic to the lines connecting the areas. It does not substitute Interface which is the total flow across a group of lines

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • active_power_flow::Float64: Initial condition of active power flow on the line (MW)
  • from_area::Area: Area from which the power is extracted
  • to_area::Area: Area to which the power is injected
  • flow_limits::FromTo_ToFrom: Max flow between the areas. It ignores lines and other branches totals
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_BatteryEMS/index.html b/dev/model_library/generated_BatteryEMS/index.html deleted file mode 100644 index 2c53140aac..0000000000 --- a/dev/model_library/generated_BatteryEMS/index.html +++ /dev/null @@ -1,87 +0,0 @@ - -BatteryEMS · PowerSystems.jl

BatteryEMS

PowerSystems.BatteryEMSType
mutable struct BatteryEMS <: Storage
-    name::String
-    available::Bool
-    bus::ACBus
-    prime_mover_type::PrimeMovers
-    initial_energy::Float64
-    state_of_charge_limits::MinMax
-    rating::Float64
-    active_power::Float64
-    input_active_power_limits::MinMax
-    output_active_power_limits::MinMax
-    efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}
-    reactive_power::Float64
-    reactive_power_limits::Union{Nothing, MinMax}
-    base_power::Float64
-    operation_cost::StorageManagementCost
-    storage_target::Float64
-    cycle_limits::Int
-    services::Vector{Service}
-    dynamic_injector::Union{Nothing, DynamicInjection}
-    ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
-    internal::InfrastructureSystemsInternal
-end

Data structure for a battery compatible with energy management formulations.

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923
  • initial_energy::Float64: State of Charge of the Battery p.u.-hr, validation range: (0, nothing), action if invalid: error
  • state_of_charge_limits::MinMax: Maximum and Minimum storage capacity in p.u.-hr, validation range: (0, nothing), action if invalid: error
  • rating::Float64
  • active_power::Float64
  • input_active_power_limits::MinMax, validation range: (0, nothing), action if invalid: error
  • output_active_power_limits::MinMax, validation range: (0, nothing), action if invalid: error
  • efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}, validation range: (0, 1), action if invalid: warn
  • reactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn
  • reactive_power_limits::Union{Nothing, MinMax}
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • operation_cost::StorageManagementCost
  • storage_target::Float64: Storage target at the end of simulation as ratio of storage capacity.
  • cycle_limits::Int: Storage Maximum number of cycles per year
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
diff --git a/dev/model_library/generated_ConstantReserveNonSpinning/index.html b/dev/model_library/generated_ConstantReserveNonSpinning/index.html new file mode 100644 index 0000000000..edebb4176a --- /dev/null +++ b/dev/model_library/generated_ConstantReserveNonSpinning/index.html @@ -0,0 +1,61 @@ + +ConstantReserveNonSpinning · PowerSystems.jl

ConstantReserveNonSpinning

PowerSystems.ConstantReserveNonSpinningType
mutable struct ConstantReserveNonSpinning <: ReserveNonSpinning
+    name::String
+    available::Bool
+    time_frame::Float64
+    requirement::Float64
+    sustained_time::Float64
+    max_output_fraction::Float64
+    max_participation_factor::Float64
+    deployed_fraction::Float64
+    ext::Dict{String, Any}
+    internal::InfrastructureSystemsInternal
+end

A non-spinning reserve product with a constant procurement requirement, such as 3% of the system base power at all times.

This reserve product includes back-up generators that might not be currently synchronized with the power system, but can come online quickly after an unexpected contingency, such as a transmission line or generator outage. This is only an upwards reserve. For faster-responding upwards or downwards reserves from components already synchronized with the system, see ConstantReserve

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • time_frame::Float64: the saturation time frame in minutes that a participating device must provide its reserve contribution, validation range: (0, nothing)
  • requirement::Float64: the value of required reserves in p.u. (SYSTEM_BASE), validation range: (0, nothing)
  • sustained_time::Float64: (default: 3600.0) the time in seconds reserve contribution must sustained at a specified level, validation range: (0, nothing)
  • max_output_fraction::Float64: (default: 1.0) the maximum fraction of each device's output that can be assigned to the service, validation range: (0, 1)
  • max_participation_factor::Float64: (default: 1.0) the maximum portion [0, 1.0] of the reserve that can be contributed per device, validation range: (0, 1)
  • deployed_fraction::Float64: (default: 0.0) Fraction of service procurement that is assumed to be actually deployed. Most commonly, this is assumed to be either 0.0 or 1.0, validation range: (0, 1)
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_Converter/index.html b/dev/model_library/generated_Converter/index.html index 979960e375..1f02433316 100644 --- a/dev/model_library/generated_Converter/index.html +++ b/dev/model_library/generated_Converter/index.html @@ -1,19 +1,19 @@ -Converter · PowerSystems.jl

Converter

AverageConverter

PowerSystems.AverageConverterType
mutable struct AverageConverter <: Converter
+Converter · PowerSystems.jl

Converter

AverageConverter

PowerSystems.AverageConverterType
mutable struct AverageConverter <: Converter
     rated_voltage::Float64
     rated_current::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of an average converter model

Arguments

  • rated_voltage::Float64: rated voltage, validation range: (0, nothing)
  • rated_current::Float64: rated VA, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}
  • n_states::Int: AverageConverter has no states
source

RenewableEnergyConverterTypeA

PowerSystems.RenewableEnergyConverterTypeAType
mutable struct RenewableEnergyConverterTypeA <: Converter
+end

Parameters of an average converter model

Arguments

  • rated_voltage::Float64: Rated voltage (V), validation range: (0, nothing)
  • rated_current::Float64: Rated current (A), 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) AverageConverter has no states
  • n_states::Int: (Do not modify.) AverageConverter has no states
source

RenewableEnergyConverterTypeA

PowerSystems.RenewableEnergyConverterTypeAType
mutable struct RenewableEnergyConverterTypeA <: Converter
     T_g::Float64
     Rrpwr::Float64
     Brkpt::Float64
@@ -33,79 +33,79 @@
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of a renewable energy generator/converter model, this model corresponds to REGCA1 in PSSE

Arguments

  • T_g::Float64: Converter time constant (s), validation range: (0, nothing)
  • Rrpwr::Float64: Low Voltage Power Logic (LVPL) ramp rate limit (pu/s), validation range: (0, nothing)
  • Brkpt::Float64: LVPL characteristic voltage 2 (pu), validation range: (0, nothing)
  • Zerox::Float64: LVPL characteristic voltage 1 (pu), validation range: (0, nothing)
  • Lvpl1::Float64: LVPL gain (pu), validation range: (0, nothing)
  • Vo_lim::Float64: Voltage limit for high voltage reactive current management (pu), validation range: (0, nothing)
  • Lv_pnts::MinMax: Voltage points for low voltage active current management (pu) (Lvpnt0, Lvpnt1)
  • Io_lim::Float64: Current limit (pu) for high voltage reactive current management (specified as a negative value), validation range: (nothing, 0)
  • T_fltr::Float64: Voltage filter time constant for low voltage active current management (s), validation range: (0, nothing)
  • K_hv::Float64: Overvoltage compensation gain used in the high voltage reactive current management, validation range: (0, nothing)
  • Iqr_lims::MinMax: Limit on rate of change for reactive current (pu/s) (Iqrmin, Iqrmax)
  • Accel::Float64: Acceleration factor, validation range: (0, 1)
  • Lvpl_sw::Int: Low voltage power logic (LVPL) switch. (0: LVPL not present, 1: LVPL present), validation range: (0, 1)
  • Q_ref::Float64: Initial machine reactive power from power flow, validation range: (0, nothing)
  • R_source::Float64: Output resistor used for the Thevenin Equivalent, validation range: (0, nothing)
  • X_source::Float64: Output resistor used for the Thevenin Equivalent, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are: Ip: Converter lag for Ipcmd, Iq: Converter lag for Iqcmd, Vmeas: Voltage filter for low voltage active current management
  • n_states::Int: RenewableEnergyConverterTypeA has 3 states
source
PowerSystems.get_Iqr_limsMethod
get_Iqr_lims(
+end

Parameters of a renewable energy generator/converter model, this model corresponds to REGCA1 in PSSE

Arguments

  • T_g::Float64: Converter time constant (s), validation range: (0, nothing)
  • Rrpwr::Float64: Low Voltage Power Logic (LVPL) ramp rate limit (pu/s), validation range: (0, nothing)
  • Brkpt::Float64: LVPL characteristic voltage 2 (pu), validation range: (0, nothing)
  • Zerox::Float64: LVPL characteristic voltage 1 (pu), validation range: (0, nothing)
  • Lvpl1::Float64: LVPL gain (pu), validation range: (0, nothing)
  • Vo_lim::Float64: Voltage limit for high voltage reactive current management (pu), validation range: (0, nothing)
  • Lv_pnts::MinMax: Voltage points for low voltage active current management (pu) (Lvpnt0, Lvpnt1)
  • Io_lim::Float64: Current limit (pu) for high voltage reactive current management (specified as a negative value), validation range: (nothing, 0)
  • T_fltr::Float64: Voltage filter time constant for low voltage active current management (s), validation range: (0, nothing)
  • K_hv::Float64: Overvoltage compensation gain used in the high voltage reactive current management, validation range: (0, nothing)
  • Iqr_lims::MinMax: Limit on rate of change for reactive current (pu/s) (Iqrmin, Iqrmax)
  • Accel::Float64: Acceleration factor, validation range: (0, 1)
  • Lvpl_sw::Int: Low voltage power logic (LVPL) switch. (0: LVPL not present, 1: LVPL present), validation range: (0, 1)
  • Q_ref::Float64: (default: 1.0) Initial condition of reactive power from power flow, validation range: (0, nothing)
  • R_source::Float64: (default: 0.0) Output resistor used for the Thevenin Equivalent, validation range: (0, nothing)
  • X_source::Float64: (default: 1.0e5) Output reactance used for the Thevenin Equivalent, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are: Ip: Converter lag for Ipcmd, Iq: Converter lag for Iqcmd, Vmeas: Voltage filter for low voltage active current management
  • n_states::Int: (Do not modify.) RenewableEnergyConverterTypeA has 3 states
source

RenewableEnergyVoltageConverterTypeA

RenewableEnergyVoltageConverterTypeA

PowerSystems.RenewableEnergyVoltageConverterTypeAType
mutable struct RenewableEnergyVoltageConverterTypeA <: Converter
     T_g::Float64
     Rrpwr::Float64
     Brkpt::Float64
@@ -123,115 +123,115 @@
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of a renewable energy generator/converter model, this model corresponds to REGCA1 in PSSE, but to be interfaced using a Voltage Source instead of a Current Source.

Arguments

  • T_g::Float64: Converter time constant (s), validation range: (0, nothing)
  • Rrpwr::Float64: Low Voltage Power Logic (LVPL) ramp rate limit (pu/s), validation range: (0, nothing)
  • Brkpt::Float64: LVPL characteristic voltage 2 (pu), validation range: (0, nothing)
  • Zerox::Float64: LVPL characteristic voltage 1 (pu), validation range: (0, nothing)
  • Lvpl1::Float64: LVPL gain (pu), validation range: (0, nothing)
  • Vo_lim::Float64: Voltage limit for high voltage reactive current management (pu), validation range: (0, nothing)
  • Lv_pnts::MinMax: Voltage points for low voltage active current management (pu) (Lvpnt0, Lvpnt1)
  • Io_lim::Float64: Current limit (pu) for high voltage reactive current management (specified as a negative value), validation range: (nothing, 0)
  • T_fltr::Float64: Voltage filter time constant for low voltage active current management (s), validation range: (0, nothing)
  • K_hv::Float64: Overvoltage compensation gain used in the high voltage reactive current management, validation range: (0, nothing)
  • Iqr_lims::MinMax: Limit on rate of change for reactive current (pu/s) (Iqrmin, Iqrmax)
  • Accel::Float64: Acceleration factor, validation range: (0, 1)
  • Lvpl_sw::Int: Low voltage power logic (LVPL) switch. (0: LVPL not present, 1: LVPL present), validation range: (0, 1)
  • Q_ref::Float64: Initial machine reactive power from power flow, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are: Ip: Converter lag for Ipcmd, Iq: Converter lag for Iqcmd, Vmeas: Voltage filter for low voltage active current management
  • n_states::Int: RenewableEnergyVoltageConverterTypeA has 3 states
source
PowerSystems.get_AccelMethod
get_Accel(
+end

Parameters of a renewable energy generator/converter model, this model corresponds to REGCA1 in PSSE, but to be interfaced using a Voltage Source instead of a Current Source

Arguments

  • T_g::Float64: Converter time constant (s), validation range: (0, nothing)
  • Rrpwr::Float64: Low Voltage Power Logic (LVPL) ramp rate limit (pu/s), validation range: (0, nothing)
  • Brkpt::Float64: LVPL characteristic voltage 2 (pu), validation range: (0, nothing)
  • Zerox::Float64: LVPL characteristic voltage 1 (pu), validation range: (0, nothing)
  • Lvpl1::Float64: LVPL gain (pu), validation range: (0, nothing)
  • Vo_lim::Float64: Voltage limit for high voltage reactive current management (pu), validation range: (0, nothing)
  • Lv_pnts::MinMax: Voltage points for low voltage active current management (pu) (Lvpnt0, Lvpnt1)
  • Io_lim::Float64: Current limit (pu) for high voltage reactive current management (specified as a negative value), validation range: (nothing, 0)
  • T_fltr::Float64: Voltage filter time constant for low voltage active current management (s), validation range: (0, nothing)
  • K_hv::Float64: Overvoltage compensation gain used in the high voltage reactive current management, validation range: (0, nothing)
  • Iqr_lims::MinMax: Limit on rate of change for reactive current (pu/s) (Iqrmin, Iqrmax)
  • Accel::Float64: Acceleration factor, validation range: (0, 1)
  • Lvpl_sw::Int: Low voltage power logic (LVPL) switch. (0: LVPL not present, 1: LVPL present), validation range: (0, 1)
  • Q_ref::Float64: (default: 1.0) Initial condition of reactive power from power flow, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are: Ip: Converter lag for Ipcmd, Iq: Converter lag for Iqcmd, Vmeas: Voltage filter for low voltage active current management
  • n_states::Int: (Do not modify.) RenewableEnergyVoltageConverterTypeA has 3 states
source
+

Set RenewableEnergyVoltageConverterTypeA ext.

source
diff --git a/dev/model_library/generated_DCBus/index.html b/dev/model_library/generated_DCBus/index.html index 24c1f0f43d..8589138108 100644 --- a/dev/model_library/generated_DCBus/index.html +++ b/dev/model_library/generated_DCBus/index.html @@ -1,5 +1,5 @@ -DCBus · PowerSystems.jl

DCBus

PowerSystems.DCBusType
mutable struct DCBus <: Bus
+DCBus · PowerSystems.jl

DCBus

PowerSystems.DCBusType
mutable struct DCBus <: Bus
     number::Int
     name::String
     magnitude::Union{Nothing, Float64}
@@ -9,21 +9,21 @@
     load_zone::Union{Nothing, LoadZone}
     ext::Dict{String, Any}
     internal::InfrastructureSystemsInternal
-end

A power-system DC bus.

Arguments

  • number::Int: number associated with the DC bus
  • name::String: the name of the DC bus
  • magnitude::Union{Nothing, Float64}: voltage as a multiple of basevoltage, validation range: voltage_limits, action if invalid: warn
  • voltage_limits::Union{Nothing, MinMax}: limits on the voltage variation as multiples of basevoltage
  • base_voltage::Union{Nothing, Float64}: the base voltage in kV, validation range: (0, nothing), action if invalid: error
  • area::Union{Nothing, Area}: the area containing the DC bus
  • load_zone::Union{Nothing, LoadZone}: the load zone containing the DC bus
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_voltage_limitsMethod
get_voltage_limits(
+end

A DC bus

Arguments

  • number::Int: A unique bus identification number (positive integer)
  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • magnitude::Union{Nothing, Float64}: voltage as a multiple of base_voltage, validation range: voltage_limits
  • voltage_limits::Union{Nothing, MinMax}: limits on the voltage variation as multiples of base_voltage
  • base_voltage::Union{Nothing, Float64}: the base voltage in kV, validation range: (0, nothing)
  • area::Union{Nothing, Area}: (default: nothing) the area containing the DC bus
  • load_zone::Union{Nothing, LoadZone}: (default: nothing) the load zone containing the DC bus
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get DCBus voltage_limits.

source
diff --git a/dev/model_library/generated_DCSource/index.html b/dev/model_library/generated_DCSource/index.html index de5f7bd196..d1575b91a9 100644 --- a/dev/model_library/generated_DCSource/index.html +++ b/dev/model_library/generated_DCSource/index.html @@ -1,17 +1,17 @@ -DCSource · PowerSystems.jl

DCSource

FixedDCSource

PowerSystems.FixedDCSourceType
mutable struct FixedDCSource <: DCSource
+DCSource · PowerSystems.jl

DCSource

FixedDCSource

PowerSystems.FixedDCSourceType
mutable struct FixedDCSource <: DCSource
     voltage::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of a Fixed DC Source that returns a fixed DC voltage

Arguments

  • voltage::Float64: rated VA, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}
  • n_states::Int: FixedDCSource has no states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

ZeroOrderBESS

PowerSystems.ZeroOrderBESSType
mutable struct ZeroOrderBESS <: DCSource
+end

Parameters of a Fixed DC Source that returns a fixed DC voltage

Arguments

  • voltage::Float64: Voltage (V), 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) FixedDCSource has no states
  • n_states::Int: (Do not modify.) FixedDCSource has no states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

ZeroOrderBESS

PowerSystems.ZeroOrderBESSType
mutable struct ZeroOrderBESS <: DCSource
     rated_voltage::Float64
     rated_current::Float64
     battery_voltage::Float64
@@ -27,35 +27,35 @@
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters for the DC-side with a Battery Energy Storage System from paper at https://arxiv.org/abs/2007.11776

Arguments

  • rated_voltage::Float64: rated voltage, validation range: (0, nothing)
  • rated_current::Float64: rated current, validation range: (0, nothing)
  • battery_voltage::Float64: battery voltage, validation range: (0, nothing)
  • battery_resistance::Float64: battery_resistance, validation range: (0, nothing)
  • dc_dc_inductor::Float64: DC/DC inductance, validation range: (0, nothing)
  • dc_link_capacitance::Float64: DC-link capacitor, validation range: (0, nothing)
  • fs::Float64: DC/DC converter switching frequency, validation range: (0, nothing)
  • kpv::Float64: voltage controller proportional gain, validation range: (0, nothing)
  • kiv::Float64: voltage controller integral gain, validation range: (0, nothing)
  • kpi::Float64: current controller proportional gain, validation range: (0, nothing)
  • kii::Float64: current controller integral gain, validation range: (0, nothing)
  • Vdc_ref::Float64: Reference DC-Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the ZeroOrderBESS model are:
v_dc: DC-link votlage,
+end

Parameters for the DC-side with a Battery Energy Storage System from "Grid-Coupled Dynamic Response of Battery-Driven Voltage Source Converters."

Arguments

  • rated_voltage::Float64: Rated voltage (V), validation range: (0, nothing)
  • rated_current::Float64: Rated current (A), validation range: (0, nothing)
  • battery_voltage::Float64: battery voltage in pu (DEVICE_BASE), validation range: (0, nothing)
  • battery_resistance::Float64: Battery resistance in pu (DEVICE_BASE), validation range: (0, nothing)
  • dc_dc_inductor::Float64: DC/DC inductance in pu (DEVICE_BASE), validation range: (0, nothing)
  • dc_link_capacitance::Float64: DC-link capacitance in pu (DEVICE_BASE), validation range: (0, nothing)
  • fs::Float64: DC/DC converter switching frequency (kHz), validation range: (0, nothing)
  • kpv::Float64: voltage controller proportional gain, validation range: (0, nothing)
  • kiv::Float64: voltage controller integral gain, validation range: (0, nothing)
  • kpi::Float64: current controller proportional gain, validation range: (0, nothing)
  • kii::Float64: current controller integral gain, validation range: (0, nothing)
  • Vdc_ref::Float64: (default: 1.1) Reference DC-Voltage Set-point in pu (DEVICE_BASE), 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the ZeroOrderBESS model are:
v_dc: DC-link voltage,
 i_b: Battery current,
  ν: integrator state of the voltage controller,
- ζ: integrator state of the PI current controller
  • n_states::Int: ZeroOrderBESS has 4 states
source
+ ζ: integrator state of the PI current controller
  • n_states::Int: (Do not modify.) ZeroOrderBESS has 4 states
source
diff --git a/dev/model_library/generated_EnergyReservoirStorage/index.html b/dev/model_library/generated_EnergyReservoirStorage/index.html new file mode 100644 index 0000000000..5b782b5565 --- /dev/null +++ b/dev/model_library/generated_EnergyReservoirStorage/index.html @@ -0,0 +1,131 @@ + +EnergyReservoirStorage · PowerSystems.jl

EnergyReservoirStorage

PowerSystems.EnergyReservoirStorageType
mutable struct EnergyReservoirStorage <: Storage
+    name::String
+    available::Bool
+    bus::ACBus
+    prime_mover_type::PrimeMovers
+    storage_technology_type::StorageTech
+    storage_capacity::Float64
+    storage_level_limits::MinMax
+    initial_storage_capacity_level::Float64
+    rating::Float64
+    active_power::Float64
+    input_active_power_limits::MinMax
+    output_active_power_limits::MinMax
+    efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}
+    reactive_power::Float64
+    reactive_power_limits::Union{Nothing, MinMax}
+    base_power::Float64
+    operation_cost::StorageCost
+    conversion_factor::Float64
+    storage_target::Float64
+    cycle_limits::Int
+    services::Vector{Service}
+    dynamic_injector::Union{Nothing, DynamicInjection}
+    ext::Dict{String, Any}
+    internal::InfrastructureSystemsInternal
+end

An energy storage device, modeled as a generic energy reservoir.

This is suitable for modeling storage charging and discharging with average efficiency losses, ignoring the physical dynamics of the storage unit. A variety of energy storage types and chemistries can be modeled with this approach. For pumped hydro storage, alternatively see HydroPumpedStorage

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here
  • storage_technology_type::StorageTech: Storage Technology Complementary to EIA 923
  • storage_capacity::Float64: Maximum storage capacity (can be in units of, e.g., MWh for batteries or liters for hydrogen), validation range: (0, nothing)
  • storage_level_limits::MinMax: Minimum and maximum allowable storage levels [0, 1], which can be used to model derates or other restrictions, such as state-of-charge restrictions on battery cycling, validation range: (0, 1)
  • initial_storage_capacity_level::Float64: Initial storage capacity level as a ratio [0, 1.0] of storage_capacity, validation range: (0, 1)
  • rating::Float64: Maximum output power rating of the unit (MVA)
  • active_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used
  • input_active_power_limits::MinMax: Minimum and maximum limits on the input active power (i.e., charging), validation range: (0, nothing)
  • output_active_power_limits::MinMax: Minimum and maximum limits on the output active power (i.e., discharging), validation range: (0, nothing)
  • efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}: Average efficiency [0, 1] in (charging/filling) and out (discharging/consuming) of the storage system, validation range: (0, 1)
  • reactive_power::Float64: Initial reactive power set point of the unit (MVAR), validation range: reactive_power_limits
  • reactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable
  • base_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)
  • operation_cost::StorageCost: (default: StorageCost(nothing)) Operating cost of storage
  • conversion_factor::Float64: (default: 1.0) Conversion factor of storage_capacity to MWh, if different than 1.0. For example, X MWh/liter hydrogen
  • storage_target::Float64: (default: 0.0) Storage target at the end of simulation as ratio of storage capacity
  • cycle_limits::Int: (default: 1e4) Storage Maximum number of cycles per year
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_ExponentialLoad/index.html b/dev/model_library/generated_ExponentialLoad/index.html index c50fa98707..f8bffd665d 100644 --- a/dev/model_library/generated_ExponentialLoad/index.html +++ b/dev/model_library/generated_ExponentialLoad/index.html @@ -1,78 +1,43 @@ -ExponentialLoad · PowerSystems.jl

ExponentialLoad

PowerSystems.get_dynamic_injectorMethod
get_dynamic_injector(
-    value::PowerSystems.ExponentialLoad
+ExponentialLoad · PowerSystems.jl

ExponentialLoad

PowerSystems.ExponentialLoadType
mutable struct ExponentialLoad <: StaticLoad
+    name::String
+    available::Bool
+    bus::ACBus
+    active_power::Float64
+    reactive_power::Float64
+    α::Float64
+    β::Float64
+    base_power::Float64
+    max_active_power::Float64
+    max_reactive_power::Float64
+    services::Vector{Service}
+    dynamic_injector::Union{Nothing, DynamicInjection}
+    ext::Dict{String, Any}
+    internal::InfrastructureSystemsInternal
+end

A voltage-dependent ZIP load, most commonly used for dynamics modeling.

An ExponentialLoad models active power as P = P0 * V^α and reactive power as Q = Q0 * V^β, where the exponents α and β select govern the voltage dependency. For an alternative three-part formulation of the ZIP model, see StandardLoad. For a simpler load model with no voltage dependency, see PowerLoad

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Active power coefficient, P0 (MW)
  • reactive_power::Float64: Reactive power coefficient, Q0 (MVAR)
  • α::Float64: Exponent relating voltage dependency for active power. 0 = constant power only, 1 = constant current only, and 2 = constant impedance only, validation range: (0, nothing)
  • β::Float64: Exponent relating voltage dependency for reactive power. 0 = constant power only, 1 = constant current only, and 2 = constant impedance only, validation range: (0, nothing)
  • base_power::Float64: Base power (MVA) for per unitization, validation range: (0, nothing)
  • max_active_power::Float64: Maximum active power (MW) that this load can demand
  • max_reactive_power::Float64: Maximum reactive power (MVAR) that this load can demand
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get ExponentialLoad dynamic_injector.

source
diff --git a/dev/model_library/generated_Filter/index.html b/dev/model_library/generated_Filter/index.html index 8bc4ed53f7..761e346463 100644 --- a/dev/model_library/generated_Filter/index.html +++ b/dev/model_library/generated_Filter/index.html @@ -1,23 +1,23 @@ -Filter · PowerSystems.jl

Filter

LCFilter

PowerSystems.LCFilterType
mutable struct LCFilter <: Filter
+Filter · PowerSystems.jl

Filter

LCFilter

PowerSystems.LCFilterType
mutable struct LCFilter <: Filter
     lf::Float64
     rf::Float64
     cf::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of a LCL filter outside the converter

Arguments

  • lf::Float64: filter inductance, validation range: (0, nothing)
  • rf::Float64: filter resistance, validation range: (0, nothing)
  • cf::Float64: filter capacitance, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the LCFilter model are:
ir_filter: Real current out of the filter,
-ii_filter: Imaginary current out of the filter
  • n_states::Int: LCFilter has two states
source

LCLFilter

PowerSystems.LCLFilterType
mutable struct LCLFilter <: Filter
+end

Parameters of a LCL filter outside the converter

Arguments

  • lf::Float64: filter inductance, validation range: (0, nothing)
  • rf::Float64: filter resistance, validation range: (0, nothing)
  • cf::Float64: filter capacitance, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the LCFilter model are:
ir_filter: Real current out of the filter,
+ii_filter: Imaginary current out of the filter
  • n_states::Int: (Do not modify.) LCFilter has two states
source

LCLFilter

PowerSystems.LCLFilterType
mutable struct LCLFilter <: Filter
     lf::Float64
     rf::Float64
     cf::Float64
@@ -26,37 +26,37 @@
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of a LCL filter outside the converter, the states are in the grid's reference frame

Arguments

  • lf::Float64: Series inductance in p.u. of converter filter, validation range: (0, nothing)
  • rf::Float64: Series resistance in p.u. of converter filter, validation range: (0, nothing)
  • cf::Float64: Shunt capacitance in p.u. of converter filter, validation range: (0, nothing)
  • lg::Float64: Series inductance in p.u. of converter filter to the grid, validation range: (0, nothing)
  • rg::Float64: Series resistance in p.u. of converter filter to the grid, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the LCLFilter model are:
ir_cnv: Real current out of the converter,
+end

Parameters of a LCL filter outside the converter, the states are in the grid's reference frame

Arguments

  • lf::Float64: Series inductance in p.u. of converter filter, validation range: (0, nothing)
  • rf::Float64: Series resistance in p.u. of converter filter, validation range: (0, nothing)
  • cf::Float64: Shunt capacitance in p.u. of converter filter, validation range: (0, nothing)
  • lg::Float64: Series inductance in p.u. of converter filter to the grid, validation range: (0, nothing)
  • rg::Float64: Series resistance in p.u. of converter filter to the grid, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the LCLFilter model are:
ir_cnv: Real current out of the converter,
 ii_cnv: Imaginary current out of the converter,
 vr_filter: Real voltage at the filter's capacitor,
 vi_filter: Imaginary voltage at the filter's capacitor,
 ir_filter: Real current out of the filter,
-ii_filter: Imaginary current out of the filter
  • n_states::Int: LCLFilter has 6 states
source

RLFilter

PowerSystems.RLFilterType
mutable struct RLFilter <: Filter
+ii_filter: Imaginary current out of the filter
  • n_states::Int: (Do not modify.) LCLFilter has 6 states
source

RLFilter

PowerSystems.RLFilterType
mutable struct RLFilter <: Filter
     rf::Float64
     lf::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of RL series filter in algebraic representation

Arguments

  • rf::Float64: Series resistance in p.u. of converter filter to the grid, validation range: (0, nothing)
  • lf::Float64: Series inductance in p.u. of converter filter to the grid, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: RLFilter has zero states
  • n_states::Int: RLFilter has zero states
source
+end

Parameters of RL series filter in algebraic representation

Arguments

  • rf::Float64: Series resistance in p.u. of converter filter to the grid, validation range: (0, nothing)
  • lf::Float64: Series inductance in p.u. of converter filter to the grid, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) RLFilter has zero states
  • n_states::Int: (Do not modify.) RLFilter has zero states
source
diff --git a/dev/model_library/generated_FixedAdmittance/index.html b/dev/model_library/generated_FixedAdmittance/index.html index 3e69303eb2..2c7b8e052e 100644 --- a/dev/model_library/generated_FixedAdmittance/index.html +++ b/dev/model_library/generated_FixedAdmittance/index.html @@ -1,5 +1,5 @@ -FixedAdmittance · PowerSystems.jl

FixedAdmittance

PowerSystems.FixedAdmittanceType
mutable struct FixedAdmittance <: ElectricLoad
+FixedAdmittance · PowerSystems.jl

FixedAdmittance

PowerSystems.FixedAdmittanceType
mutable struct FixedAdmittance <: ElectricLoad
     name::String
     available::Bool
     bus::ACBus
@@ -7,27 +7,19 @@
     dynamic_injector::Union{Nothing, DynamicInjection}
     services::Vector{Service}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • Y::Complex{Float64}: System per-unit value
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection model for admittance
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_dynamic_injectorMethod
get_dynamic_injector(
+end

A fixed admittance.

Most often used in dynamics or AC power flow studies as a source of reactive power

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • Y::Complex{Float64}: Fixed admittance in p.u. (SYSTEM_BASE)
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection model for admittance
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get FixedAdmittance dynamic_injector.

source
diff --git a/dev/model_library/generated_FrequencyEstimator/index.html b/dev/model_library/generated_FrequencyEstimator/index.html index 9d4ad6dab3..a9e2cebf40 100644 --- a/dev/model_library/generated_FrequencyEstimator/index.html +++ b/dev/model_library/generated_FrequencyEstimator/index.html @@ -1,52 +1,52 @@ -FrequencyEstimator · PowerSystems.jl

FrequencyEstimator

FixedFrequency

PowerSystems.FixedFrequencyType
mutable struct FixedFrequency <: FrequencyEstimator
+FrequencyEstimator · PowerSystems.jl

FrequencyEstimator

FixedFrequency

PowerSystems.FixedFrequencyType
mutable struct FixedFrequency <: FrequencyEstimator
     frequency::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of a Fixed Frequency Estimator (i.e. no PLL).

Arguments

  • frequency::Float64: Reference used
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: FixedFrequency has no states
  • n_states::Int: FixedFrequency has no states
source

KauraPLL

PowerSystems.KauraPLLType
mutable struct KauraPLL <: FrequencyEstimator
+end

Parameters of a Fixed Frequency Estimator (i.e. no PLL)

Arguments

  • frequency::Float64: (default: 1.0) Reference Frequency (pu)
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) FixedFrequency has no states
  • n_states::Int: (Do not modify.) FixedFrequency has no states
source

KauraPLL

PowerSystems.KauraPLLType
mutable struct KauraPLL <: FrequencyEstimator
     ω_lp::Float64
     kp_pll::Float64
     ki_pll::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of a Phase-Locked Loop (PLL) based on Kaura, Vikram, and Vladimir Blasko. "Operation of a phase locked loop system under distorted utility conditions." IEEE Transactions on Industry applications 33.1 (1997): 58-63.

Arguments

  • ω_lp::Float64: PLL low-pass filter frequency (rad/sec), validation range: (0, nothing)
  • kp_pll::Float64: PLL proportional gain, validation range: (0, nothing)
  • ki_pll::Float64: PLL integral gain, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the KauraPLL model are:
vd_pll: d-axis of the measured voltage in the PLL synchronous reference frame (SRF),
+end

Parameters of a Phase-Locked Loop (PLL) based on "Operation of a phase locked loop system under distorted utility conditions" by Vikram Kaura, and Vladimir Blasko

Arguments

  • ω_lp::Float64: PLL low-pass filter frequency (rad/sec), validation range: (0, nothing)
  • kp_pll::Float64: PLL proportional gain, validation range: (0, nothing)
  • ki_pll::Float64: PLL integral gain, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the KauraPLL model are:
vd_pll: d-axis of the measured voltage in the PLL synchronous reference frame (SRF),
 vq_pll: q-axis of the measured voltage in the PLL SRF,
 ε_pll: Integrator state of the PI controller,
-θ_pll: Phase angle displacement in the PLL SRF
  • n_states::Int: KauraPLL has 4 states
source

ReducedOrderPLL

PowerSystems.ReducedOrderPLLType
mutable struct ReducedOrderPLL <: FrequencyEstimator
+θ_pll: Phase angle displacement in the PLL SRF
  • n_states::Int: (Do not modify.) KauraPLL has 4 states
source

ReducedOrderPLL

PowerSystems.ReducedOrderPLLType
mutable struct ReducedOrderPLL <: FrequencyEstimator
     ω_lp::Float64
     kp_pll::Float64
     ki_pll::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of a Phase-Locked Loop (PLL) based on Purba, Dhople, Jafarpour, Bullo and Johnson. "Reduced-order Structure-preserving Model for Parallel-connected Three-phase Grid-tied Inverters." 2017 IEEE 18th Workshop on Control and Modeling for Power Electronics (COMPEL): 1-7.

Arguments

  • ω_lp::Float64: PLL low-pass filter frequency (rad/sec), validation range: (0, nothing)
  • kp_pll::Float64: PLL proportional gain, validation range: (0, nothing)
  • ki_pll::Float64: PLL integral gain, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the ReducedOrderPLL model are:
vq_pll: q-axis of the measured voltage in the PLL synchronous reference frame (SRF),
+end

Parameters of a Phase-Locked Loop (PLL) based on "Reduced-order Structure-preserving Model for Parallel-connected Three-phase Grid-tied Inverters."

Arguments

  • ω_lp::Float64: PLL low-pass filter frequency (rad/sec), validation range: (0, nothing)
  • kp_pll::Float64: PLL proportional gain, validation range: (0, nothing)
  • ki_pll::Float64: PLL integral gain, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the ReducedOrderPLL model are:
vq_pll: q-axis of the measured voltage in the PLL synchronous reference frame (SRF),
 ε_pll: Integrator state of the PI controller,
-θ_pll: Phase angle displacement in the PLL SRF
  • n_states::Int: ReducedOrderPLL has 3 states
source
+θ_pll: Phase angle displacement in the PLL SRF
  • n_states::Int: (Do not modify.) ReducedOrderPLL has 3 states
source
diff --git a/dev/model_library/generated_GenericBattery/index.html b/dev/model_library/generated_GenericBattery/index.html deleted file mode 100644 index cb86ca6745..0000000000 --- a/dev/model_library/generated_GenericBattery/index.html +++ /dev/null @@ -1,90 +0,0 @@ - -GenericBattery · PowerSystems.jl

GenericBattery

PowerSystems.GenericBatteryType
mutable struct GenericBattery <: Storage
-    name::String
-    available::Bool
-    bus::ACBus
-    prime_mover_type::PrimeMovers
-    initial_energy::Float64
-    state_of_charge_limits::MinMax
-    rating::Float64
-    active_power::Float64
-    input_active_power_limits::MinMax
-    output_active_power_limits::MinMax
-    efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}
-    reactive_power::Float64
-    reactive_power_limits::Union{Nothing, MinMax}
-    base_power::Float64
-    operation_cost::Union{StorageManagementCost, MarketBidCost}
-    services::Vector{Service}
-    dynamic_injector::Union{Nothing, DynamicInjection}
-    ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
-    internal::InfrastructureSystemsInternal
-end

Data structure for a generic battery

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923
  • initial_energy::Float64: State of Charge of the Battery p.u.-hr, validation range: (0, nothing), action if invalid: error
  • state_of_charge_limits::MinMax: Maximum and Minimum storage capacity in p.u.-hr, validation range: (0, nothing), action if invalid: error
  • rating::Float64
  • active_power::Float64
  • input_active_power_limits::MinMax, validation range: (0, nothing), action if invalid: error
  • output_active_power_limits::MinMax, validation range: (0, nothing), action if invalid: error
  • efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}, validation range: (0, 1), action if invalid: warn
  • reactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn
  • reactive_power_limits::Union{Nothing, MinMax}
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • operation_cost::Union{StorageManagementCost, MarketBidCost}
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
diff --git a/dev/model_library/generated_HybridSystem/index.html b/dev/model_library/generated_HybridSystem/index.html deleted file mode 100644 index ed44298d50..0000000000 --- a/dev/model_library/generated_HybridSystem/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -HybridSystem · PowerSystems.jl
diff --git a/dev/model_library/generated_HydroDispatch/index.html b/dev/model_library/generated_HydroDispatch/index.html index 321f84c955..39bd8cbfd4 100644 --- a/dev/model_library/generated_HydroDispatch/index.html +++ b/dev/model_library/generated_HydroDispatch/index.html @@ -1,5 +1,5 @@ -HydroDispatch · PowerSystems.jl

HydroDispatch

PowerSystems.HydroDispatchType
mutable struct HydroDispatch <: HydroGen
+HydroDispatch · PowerSystems.jl

HydroDispatch

PowerSystems.HydroDispatchType
mutable struct HydroDispatch <: HydroGen
     name::String
     available::Bool
     bus::ACBus
@@ -12,56 +12,51 @@
     ramp_limits::Union{Nothing, UpDown}
     time_limits::Union{Nothing, UpDown}
     base_power::Float64
-    operation_cost::OperationalCost
+    operation_cost::Union{HydroGenerationCost, MarketBidCost}
     services::Vector{Service}
     dynamic_injector::Union{Nothing, DynamicInjection}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • active_power::Float64
  • reactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn
  • rating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923
  • active_power_limits::MinMax, validation range: (0, nothing), action if invalid: warn
  • reactive_power_limits::Union{Nothing, MinMax}, action if invalid: warn
  • ramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW (in component base per unit) per minute, validation range: (0, nothing), action if invalid: error
  • time_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing), action if invalid: error
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • operation_cost::OperationalCost: Operation Cost of Generation OperationalCost
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_active_power_limitsMethod
get_active_power_limits(
+end

A hydropower generator without a reservoir, suitable for modeling run-of-river hydropower.

For hydro generators with an upper reservoir, see HydroEnergyReservoir

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used
  • reactive_power::Float64: Initial reactive power set point of the unit (MVAR), validation range: reactive_power_limits
  • rating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here
  • active_power_limits::MinMax: Minimum and maximum stable active power levels (MW), validation range: (0, nothing)
  • reactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable
  • ramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min, validation range: (0, nothing)
  • time_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing)
  • base_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)
  • operation_cost::Union{HydroGenerationCost, MarketBidCost}: (default: HydroGenerationCost(nothing)) Operating cost of generation
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get HydroDispatch time_limits.

source
diff --git a/dev/model_library/generated_HydroEnergyReservoir/index.html b/dev/model_library/generated_HydroEnergyReservoir/index.html index e193bf795a..58c4655e0d 100644 --- a/dev/model_library/generated_HydroEnergyReservoir/index.html +++ b/dev/model_library/generated_HydroEnergyReservoir/index.html @@ -1,5 +1,5 @@ -HydroEnergyReservoir · PowerSystems.jl

HydroEnergyReservoir

PowerSystems.HydroEnergyReservoirType
mutable struct HydroEnergyReservoir <: HydroGen
+HydroEnergyReservoir · PowerSystems.jl

HydroEnergyReservoir

PowerSystems.HydroEnergyReservoirType
mutable struct HydroEnergyReservoir <: HydroGen
     name::String
     available::Bool
     bus::ACBus
@@ -15,96 +15,91 @@
     storage_capacity::Float64
     inflow::Float64
     initial_storage::Float64
-    operation_cost::OperationalCost
+    operation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}
     storage_target::Float64
     conversion_factor::Float64
+    status::Bool
     time_at_status::Float64
     services::Vector{Service}
     dynamic_injector::Union{Nothing, DynamicInjection}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • active_power::Float64
  • reactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn
  • rating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923
  • active_power_limits::MinMax
  • reactive_power_limits::Union{Nothing, MinMax}, action if invalid: warn
  • ramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW (in component base per unit) per minute, validation range: (0, nothing), action if invalid: error
  • time_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing), action if invalid: error
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • storage_capacity::Float64: Maximum storage capacity in the reservoir (units can be p.u-hr or m^3)., validation range: (0, nothing), action if invalid: error
  • inflow::Float64: Baseline inflow into the reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing), action if invalid: error
  • initial_storage::Float64: Initial storage capacity in the reservoir (units can be p.u-hr or m^3)., validation range: (0, nothing), action if invalid: error
  • operation_cost::OperationalCost: Operation Cost of Generation OperationalCost
  • storage_target::Float64: Storage target at the end of simulation as ratio of storage capacity.
  • conversion_factor::Float64: Conversion factor from flow/volume to energy: m^3 -> p.u-hr.
  • time_at_status::Float64
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_active_power_limitsMethod
get_active_power_limits(
+end

A hydropower generator with an upper reservoir, offering some energy storage and operational flexibility.

For hydro generators with pumped storage, see HydroPumpedStorage

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used
  • reactive_power::Float64: Initial reactive power set point of the unit (MVAR), validation range: reactive_power_limits
  • rating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here
  • active_power_limits::MinMax: Minimum and maximum stable active power levels (MW)
  • reactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable
  • ramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min, validation range: (0, nothing)
  • time_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing)
  • base_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)
  • storage_capacity::Float64: Maximum storage capacity in the reservoir (units can be p.u-hr or m^3), validation range: (0, nothing)
  • inflow::Float64: Baseline inflow into the reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing)
  • initial_storage::Float64: Initial storage capacity in the reservoir (units can be p.u-hr or m^3), validation range: (0, nothing)
  • operation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}: (default: HydroGenerationCost(nothing)) Operating cost of generation
  • storage_target::Float64: (default: 1.0) Storage target at the end of simulation as a fraction of storage capacity
  • conversion_factor::Float64: (default: 1.0) Conversion factor from flow/volume to energy: m^3 -> p.u-hr
  • status::Bool: (default: false) Initial commitment condition at the start of a simulation (true = on or false = off)
  • time_at_status::Float64: (default: INFINITE_TIME) Time (e.g., Hours(6)) the generator has been on or off, as indicated by status
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set HydroEnergyReservoir storage_capacity.

source
diff --git a/dev/model_library/generated_HydroPumpedStorage/index.html b/dev/model_library/generated_HydroPumpedStorage/index.html index db0e80658b..7bd03ffaf7 100644 --- a/dev/model_library/generated_HydroPumpedStorage/index.html +++ b/dev/model_library/generated_HydroPumpedStorage/index.html @@ -1,5 +1,5 @@ -HydroPumpedStorage · PowerSystems.jl

HydroPumpedStorage

PowerSystems.HydroPumpedStorageType
mutable struct HydroPumpedStorage <: HydroGen
+HydroPumpedStorage · PowerSystems.jl

HydroPumpedStorage

PowerSystems.HydroPumpedStorageType
mutable struct HydroPumpedStorage <: HydroGen
     name::String
     available::Bool
     bus::ACBus
@@ -22,119 +22,116 @@
     outflow::Float64
     initial_storage::UpDown
     storage_target::UpDown
-    operation_cost::OperationalCost
+    operation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}
     pump_efficiency::Float64
     conversion_factor::Float64
+    status::PumpHydroStatus
     time_at_status::Float64
     services::Vector{Service}
     dynamic_injector::Union{Nothing, DynamicInjection}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • active_power::Float64
  • reactive_power::Float64
  • rating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923
  • active_power_limits::MinMax, validation range: (0, nothing), action if invalid: warn
  • reactive_power_limits::Union{Nothing, MinMax}, action if invalid: warn
  • ramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW (in component base per unit) per minute, validation range: (0, nothing), action if invalid: error
  • time_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing), action if invalid: error
  • rating_pump::Float64: Thermal limited MVA Power Withdrawl of the pump. <= Capacity, validation range: (0, nothing), action if invalid: error
  • active_power_limits_pump::MinMax
  • reactive_power_limits_pump::Union{Nothing, MinMax}, action if invalid: warn
  • ramp_limits_pump::Union{Nothing, UpDown}: ramp up and ramp down limits in MW (in component base per unit) per minute of pump, validation range: (0, nothing), action if invalid: error
  • time_limits_pump::Union{Nothing, UpDown}: Minimum up and Minimum down time limits of pump in hours, validation range: (0, nothing), action if invalid: error
  • storage_capacity::UpDown: Maximum storage capacity in the upper and lower reservoirs (units can be p.u-hr or m^3)., validation range: (0, nothing), action if invalid: error
  • inflow::Float64: Baseline inflow into the upper reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing), action if invalid: error
  • outflow::Float64: Baseline outflow from the lower reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing), action if invalid: error
  • initial_storage::UpDown: Initial storage capacity in the upper and lower reservoir (units can be p.u-hr or m^3)., validation range: (0, nothing), action if invalid: error
  • storage_target::UpDown: Storage target of upper reservoir at the end of simulation as ratio of storage capacity.
  • operation_cost::OperationalCost: Operation Cost of Generation OperationalCost
  • pump_efficiency::Float64: Efficiency of pump, validation range: (0, 1), action if invalid: warn
  • conversion_factor::Float64: Conversion factor from flow/volume to energy: m^3 -> p.u-hr.
  • time_at_status::Float64
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_active_power_limitsMethod
get_active_power_limits(
+end

A hydropower generator with pumped storage and upper and lower reservoirs.

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used
  • reactive_power::Float64: Initial reactive power set point of the unit (MVAR)
  • rating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)
  • base_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here
  • active_power_limits::MinMax: Minimum and maximum stable active power levels (MW), validation range: (0, nothing)
  • reactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable
  • ramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min, validation range: (0, nothing)
  • time_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing)
  • rating_pump::Float64: Maximum power withdrawal (MVA) of the pump, validation range: (0, nothing)
  • active_power_limits_pump::MinMax:
  • reactive_power_limits_pump::Union{Nothing, MinMax}:
  • ramp_limits_pump::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min of pump, validation range: (0, nothing)
  • time_limits_pump::Union{Nothing, UpDown}: Minimum up and Minimum down time limits of pump in hours, validation range: (0, nothing)
  • storage_capacity::UpDown: Maximum storage capacity in the upper and lower reservoirs (units can be p.u-hr or m^3), validation range: (0, nothing)
  • inflow::Float64: Baseline inflow into the upper reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing)
  • outflow::Float64: Baseline outflow from the lower reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing)
  • initial_storage::UpDown: Initial storage capacity in the upper and lower reservoir (units can be p.u-hr or m^3), validation range: (0, nothing)
  • storage_target::UpDown: (default: (up=1.0, down=1.0)) Storage target of upper reservoir at the end of simulation as ratio of storage capacity
  • operation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}: (default: HydroGenerationCost(nothing)) Operating cost of generation
  • pump_efficiency::Float64: (default: 1.0) Pumping efficiency [0, 1.0], validation range: (0, 1)
  • conversion_factor::Float64: (default: 1.0) Conversion factor from flow/volume to energy: m^3 -> p.u-hr
  • status::PumpHydroStatus: (default: PumpHydroStatus.OFF) Initial commitment condition at the start of a simulation (PumpHydroStatus.PUMP, PumpHydroStatus.GEN, or PumpHydroStatus.OFF)
  • time_at_status::Float64: (default: INFINITE_TIME) Time (e.g., Hours(6)) the generator has been generating, pumping, or off, as indicated by status
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set HydroPumpedStorage reactive_power_limits_pump.

source
diff --git a/dev/model_library/generated_InnerControl/index.html b/dev/model_library/generated_InnerControl/index.html index 700e6218ec..938d416f0d 100644 --- a/dev/model_library/generated_InnerControl/index.html +++ b/dev/model_library/generated_InnerControl/index.html @@ -1,23 +1,23 @@ -InnerControl · PowerSystems.jl

InnerControl

CurrentModeControl

PowerSystems.CurrentModeControlType
mutable struct CurrentModeControl <: InnerControl
+InnerControl · PowerSystems.jl

InnerControl

CurrentModeControl

PowerSystems.CurrentModeControlType
mutable struct CurrentModeControl <: InnerControl
     kpc::Float64
     kic::Float64
     kffv::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of an inner loop PI current control using based on Purba, Dhople, Jafarpour, Bullo and Johnson. "Reduced-order Structure-preserving Model for Parallel-connected Three-phase Grid-tied Inverters." 2017 IEEE 18th Workshop on Control and Modeling for Power Electronics (COMPEL): 1-7.

Arguments

  • kpc::Float64: Current controller proportional gain, validation range: (0, nothing)
  • kic::Float64: Current controller integral gain, validation range: (0, nothing)
  • kffv::Float64: Gain to enable feed-forward gain of voltage., validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the CurrentModeControl model are:
γd_ic: d-axis integrator state of the PI current controller,
-γq_ic: q-axis integrator state of the PI current controller
  • n_states::Int: CurrentControl has 2 states
source

RECurrentControlB

PowerSystems.RECurrentControlBType
mutable struct RECurrentControlB <: InnerControl
+end

Parameters of an inner loop proportional integral (PI) current control based on "Reduced-order Structure-preserving Model for Parallel-connected Three-phase Grid-tied Inverters."

Arguments

  • kpc::Float64: Current controller proportional gain, validation range: (0, nothing)
  • kic::Float64: Current controller integral gain, validation range: (0, nothing)
  • kffv::Float64: Gain to enable feed-forward gain of voltage, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the CurrentModeControl model are:
γd_ic: d-axis integrator state of the PI current controller,
+γq_ic: q-axis integrator state of the PI current controller
  • n_states::Int: (Do not modify.) CurrentControl has 2 states
source

RECurrentControlB

PowerSystems.RECurrentControlBType
mutable struct RECurrentControlB <: InnerControl
     Q_Flag::Int
     PQ_Flag::Int
     Vdip_lim::MinMax
@@ -33,41 +33,41 @@
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of the Inner Control part of the REECB model in PSS/E

Arguments

  • Q_Flag::Int: Q Flag used for I_qinj, validation range: (0, 1)
  • PQ_Flag::Int: PQ Flag used for the Current Limit Logic, validation range: (0, 1)
  • Vdip_lim::MinMax: Limits for Voltage Dip Logic (Vdip, Vup)
  • T_rv::Float64: Voltage Filter Time Constant, validation range: (0, nothing)
  • dbd_pnts::Tuple{Float64, Float64}: Voltage error deadband thresholds (dbd1, dbd2)
  • K_qv::Float64: Reactive current injection gain during over and undervoltage conditions, validation range: (0, nothing)
  • Iqinj_lim::MinMax: Limits for Iqinj (I_qh1, I_ql1)
  • V_ref0::Float64: User defined reference. If 0, PSID initializes to initial terminal voltage, validation range: (0, nothing)
  • K_vp::Float64: Voltage regulator proportional gain (used when QFlag = 1), validation range: (0, nothing)
  • K_vi::Float64: Voltage regulator integral gain (used when QFlag = 1), validation range: (0, nothing)
  • T_iq::Float64: Time constant for low-pass filter for state q_V when QFlag = 0, validation range: (0, nothing)
  • I_max::Float64: Maximum limit on total converter current, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the RECurrentControlB depends on the Flags
  • n_states::Int: The states of the RECurrentControlB depends on the Flags
source
PowerSystems.get_Iqinj_limMethod
get_Iqinj_lim(
+end

Parameters of the Inner Control part of the REECB model in PSS/E

Arguments

  • Q_Flag::Int: Q Flag used for I_qinj, validation range: (0, 1)
  • PQ_Flag::Int: PQ Flag used for the Current Limit Logic, validation range: (0, 1)
  • Vdip_lim::MinMax: Limits for Voltage Dip Logic (Vdip, Vup)
  • T_rv::Float64: Voltage Filter Time Constant, validation range: (0, nothing)
  • dbd_pnts::Tuple{Float64, Float64}: Voltage error deadband thresholds (dbd1, dbd2)
  • K_qv::Float64: Reactive current injection gain during over and undervoltage conditions, validation range: (0, nothing)
  • Iqinj_lim::MinMax: Limits for Iqinj (I_qh1, I_ql1)
  • V_ref0::Float64: User defined reference. If 0, PowerSimulationsDynamics.jl initializes to initial terminal voltage, validation range: (0, nothing)
  • K_vp::Float64: Voltage regulator proportional gain (used when QFlag = 1), validation range: (0, nothing)
  • K_vi::Float64: Voltage regulator integral gain (used when QFlag = 1), validation range: (0, nothing)
  • T_iq::Float64: Time constant for low-pass filter for state q_V when QFlag = 0, validation range: (0, nothing)
  • I_max::Float64: Maximum limit on total converter current, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the RECurrentControlB depends on the Flags
  • n_states::Int: (Do not modify.) The states of the RECurrentControlB depends on the Flags
source

VoltageModeControl

VoltageModeControl

PowerSystems.VoltageModeControlType
mutable struct VoltageModeControl <: InnerControl
     kpv::Float64
     kiv::Float64
     kffv::Float64
@@ -81,33 +81,33 @@
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of an inner loop current control PID using virtual impedance based on D'Arco, Suul and Fosso. "A Virtual Synchronous Machine implementation for distributed control of power converters in SmartGrids." Electric Power Systems Research 122 (2015) 180–197.

Arguments

  • kpv::Float64: voltage controller proportional gain, validation range: (0, nothing)
  • kiv::Float64: voltage controller integral gain, validation range: (0, nothing)
  • kffv::Float64: Binary variable to enable feed-forward gain of voltage., validation range: (0, nothing)
  • rv::Float64: virtual resistance, validation range: (0, nothing)
  • lv::Float64: virtual inductance, validation range: (0, nothing)
  • kpc::Float64: current controller proportional gain, validation range: (0, nothing)
  • kic::Float64: current controller integral gain, validation range: (0, nothing)
  • kffi::Float64: Binary variable to enable feed-forward gain of current, validation range: (0, nothing)
  • ωad::Float64: active damping filter cutoff frequency (rad/sec), validation range: (0, nothing)
  • kad::Float64: active damping gain, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the VoltageModeControl model are:
ξd_ic: d-axis integrator state of the PI voltage controller,
+end

Parameters of an inner loop current control PID using virtual impedance based on "A Virtual Synchronous Machine implementation for distributed control of power converters in SmartGrids."

Arguments

  • kpv::Float64: voltage controller proportional gain, validation range: (0, nothing)
  • kiv::Float64: voltage controller integral gain, validation range: (0, nothing)
  • kffv::Float64: Binary variable to enable feed-forward gain of voltage, validation range: (0, nothing)
  • rv::Float64: virtual resistance, validation range: (0, nothing)
  • lv::Float64: virtual inductance, validation range: (0, nothing)
  • kpc::Float64: current controller proportional gain, validation range: (0, nothing)
  • kic::Float64: current controller integral gain, validation range: (0, nothing)
  • kffi::Float64: Binary variable to enable feed-forward gain of current, validation range: (0, nothing)
  • ωad::Float64: active damping filter cutoff frequency (rad/sec), validation range: (0, nothing)
  • kad::Float64: active damping gain, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the VoltageModeControl model are:
ξd_ic: d-axis integrator state of the PI voltage controller,
 ξq_ic: q-axis integrator state of the PI voltage controller,
 γd_ic: d-axis integrator state of the PI current controller,
 γq_ic: q-axis integrator state of the PI current controller,
 ϕd_ic: d-axis low-pass filter of active damping,
-ϕq_ic: q-axis low-pass filter of active damping
  • n_states::Int: VoltageModeControl has 6 states
source
+ϕq_ic: q-axis low-pass filter of active damping
  • n_states::Int: (Do not modify.) VoltageModeControl has 6 states
source
diff --git a/dev/model_library/generated_InterconnectingConverter/index.html b/dev/model_library/generated_InterconnectingConverter/index.html index 7d3e47d925..4795920f90 100644 --- a/dev/model_library/generated_InterconnectingConverter/index.html +++ b/dev/model_library/generated_InterconnectingConverter/index.html @@ -1,5 +1,5 @@ -InterconnectingConverter · PowerSystems.jl

InterconnectingConverter

PowerSystems.InterconnectingConverterType
mutable struct InterconnectingConverter <: StaticInjection
+InterconnectingConverter · PowerSystems.jl

InterconnectingConverter

PowerSystems.InterconnectingConverterType
mutable struct InterconnectingConverter <: StaticInjection
     name::String
     available::Bool
     bus::ACBus
@@ -8,61 +8,50 @@
     rating::Float64
     active_power_limits::MinMax
     base_power::Float64
-    operation_cost::OperationalCost
-    efficiency::Float64
+    loss_function::Union{LinearCurve, QuadraticCurve}
     services::Vector{Service}
     dynamic_injector::Union{Nothing, DynamicInjection}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Interconnecting Power Converter (IPC) for transforming power from an ACBus to a DCBus

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • dc_bus::DCBus
  • active_power::Float64: Active Power on the DCSide, validation range: active_power_limits, action if invalid: warn
  • rating::Float64: Thermal limited MVA Power Output of the converter. <= Capacity, validation range: (0, nothing), action if invalid: error
  • active_power_limits::MinMax
  • base_power::Float64: Base power of the converter in MVA, validation range: (0, nothing), action if invalid: warn
  • operation_cost::OperationalCost: Operation Cost of Generation OperationalCost
  • efficiency::Float64: Conversion efficiency from AC Power to DC Power
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_active_power_limitsMethod
get_active_power_limits(
+end

Interconnecting Power Converter (IPC) for transforming power from an ACBus to a DCBus

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus on the AC side of this converter
  • dc_bus::DCBus: Bus on the DC side of this converter
  • active_power::Float64: Active power (MW) on the DC side, validation range: active_power_limits
  • rating::Float64: Maximum output power rating of the converter (MVA), validation range: (0, nothing)
  • active_power_limits::MinMax: Minimum and maximum stable active power levels (MW)
  • base_power::Float64: Base power of the converter in MVA, validation range: (0, nothing)
  • loss_function::Union{LinearCurve, QuadraticCurve}: (default: LinearCurve(0.0)) Linear or quadratic loss function with respect to the converter current
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set InterconnectingConverter loss_function.

source
diff --git a/dev/model_library/generated_InterruptiblePowerLoad/index.html b/dev/model_library/generated_InterruptiblePowerLoad/index.html index 7441bddaf4..45cad17db2 100644 --- a/dev/model_library/generated_InterruptiblePowerLoad/index.html +++ b/dev/model_library/generated_InterruptiblePowerLoad/index.html @@ -1,5 +1,5 @@ -InterruptiblePowerLoad · PowerSystems.jl

InterruptiblePowerLoad

PowerSystems.InterruptiblePowerLoadType
mutable struct InterruptiblePowerLoad <: ControllableLoad
+InterruptiblePowerLoad · PowerSystems.jl

InterruptiblePowerLoad

PowerSystems.InterruptiblePowerLoadType
mutable struct InterruptiblePowerLoad <: ControllableLoad
     name::String
     available::Bool
     bus::ACBus
@@ -8,57 +8,49 @@
     max_active_power::Float64
     max_reactive_power::Float64
     base_power::Float64
-    operation_cost::TwoPartCost
+    operation_cost::Union{LoadCost, MarketBidCost}
     services::Vector{Service}
     dynamic_injector::Union{Nothing, DynamicInjection}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • active_power::Float64
  • reactive_power::Float64
  • max_active_power::Float64
  • max_reactive_power::Float64
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • operation_cost::TwoPartCost: Operation Cost of Generation TwoPartCost
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_dynamic_injectorMethod
get_dynamic_injector(
+end

A static power load that can be compensated for temporary or continuous interruptions to its requested demand.

These loads are most commonly used for operational optimizations and can be used to model, for example, large commercial and industrial customers enrolled in demand response programs. This load has a target demand profile (set by a max_active_power time series for an operational simulation) that can be reduced to satisfy other system needs. For simpler loads without an operating cost for demand response, see PowerLoad

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial steady state active power demand (MW)
  • reactive_power::Float64: Initial steady state reactive power demand (MVAR)
  • max_active_power::Float64: Maximum active power (MW) that this load can demand
  • max_reactive_power::Float64: Maximum reactive power (MVAR) that this load can demand
  • base_power::Float64: Base power (MVA) for per unitization, validation range: (0, nothing)
  • operation_cost::Union{LoadCost, MarketBidCost}: Operating cost of interrupting load
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set InterruptiblePowerLoad reactive_power.

source
diff --git a/dev/model_library/generated_InverterLimiter/index.html b/dev/model_library/generated_InverterLimiter/index.html deleted file mode 100644 index d519e51891..0000000000 --- a/dev/model_library/generated_InverterLimiter/index.html +++ /dev/null @@ -1,31 +0,0 @@ - -InverterLimiter · PowerSystems.jl

PowerSystems.InverterLimiter

InstantaneousCurrentLimiter

PowerSystems.InstantaneousCurrentLimiterType
mutable struct InstantaneousCurrentLimiter <: InverterLimiter
-    Id_max::Float64
-    Iq_max::Float64
-    ext::Dict{String, Any}
-end

Parameters of Instantaneous (Square) Current Controller Limiter

Arguments

  • Id_max::Float64: Maximum limit on d-axis current controller input current (device base), validation range: (0, nothing)
  • Iq_max::Float64: Maximum limit on d-axis current controller input current (device base), validation range: (0, nothing)
  • ext::Dict{String, Any}
source

MagnitudeCurrentLimiter

PowerSystems.MagnitudeCurrentLimiterType
mutable struct MagnitudeCurrentLimiter <: InverterLimiter
-    I_max::Float64
-    ext::Dict{String, Any}
-end

Parameters of Magnitude (Circular) Current Controller Limiter

Arguments

  • I_max::Float64: Maximum limit on current controller input current (device base), validation range: (0, nothing)
  • ext::Dict{String, Any}
source

PriorityCurrentLimiter

PowerSystems.PriorityCurrentLimiterType
mutable struct PriorityCurrentLimiter <: InverterLimiter
-    I_max::Float64
-    ϕ_I::Float64
-    ext::Dict{String, Any}
-end

Parameters of Priority-Based Current Controller Limiter

Arguments

  • I_max::Float64: Maximum limit on current controller input current (device base), validation range: (0, nothing)
  • ϕ_I::Float64: Pre-defined angle (measured against the d-axis) for Iref once limit is hit, validation range: (-1.571, 1.571)
  • ext::Dict{String, Any}
source
diff --git a/dev/model_library/generated_Line/index.html b/dev/model_library/generated_Line/index.html index ebf19ea453..5e9de4313f 100644 --- a/dev/model_library/generated_Line/index.html +++ b/dev/model_library/generated_Line/index.html @@ -1,5 +1,5 @@ -Line · PowerSystems.jl

Line

PowerSystems.LineType
mutable struct Line <: ACBranch
+Line · PowerSystems.jl

Line

PowerSystems.LineType
mutable struct Line <: ACBranch
     name::String
     available::Bool
     active_power_flow::Float64
@@ -8,41 +8,36 @@
     r::Float64
     x::Float64
     b::FromTo
-    rate::Float64
+    rating::Float64
     angle_limits::MinMax
     services::Vector{Service}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • active_power_flow::Float64
  • reactive_power_flow::Float64
  • arc::Arc
  • r::Float64: System per-unit value, validation range: (0, 4), action if invalid: warn
  • x::Float64: System per-unit value, validation range: (0, 4), action if invalid: warn
  • b::FromTo: System per-unit value, validation range: (0, 100), action if invalid: warn
  • rate::Float64
  • angle_limits::MinMax, validation range: (-1.571, 1.571), action if invalid: error
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_angle_limitsMethod
get_angle_limits(
+end

An AC transmission line

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • active_power_flow::Float64: Initial condition of active power flow on the line (MW)
  • reactive_power_flow::Float64: Initial condition of reactive power flow on the line (MVAR)
  • arc::Arc: An Arc defining this line from a bus to another bus
  • r::Float64: Resistance in pu (SYSTEM_BASE), validation range: (0, 4)
  • x::Float64: Reactance in pu (SYSTEM_BASE), validation range: (0, 4)
  • b::FromTo: Shunt susceptance in pu (SYSTEM_BASE), specified both on the from and to ends of the line. These are commonly modeled with the same value, validation range: (0, 100)
  • rating::Float64: Thermal rating (MVA). Flow on the line must be between -rating and rating
  • angle_limits::MinMax: Minimum and maximum angle limits (radians), validation range: (-1.571, 1.571)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get Line b.

source
diff --git a/dev/model_library/generated_LoadZone/index.html b/dev/model_library/generated_LoadZone/index.html index f12552b679..e24c2f458b 100644 --- a/dev/model_library/generated_LoadZone/index.html +++ b/dev/model_library/generated_LoadZone/index.html @@ -1,17 +1,15 @@ -LoadZone · PowerSystems.jl

LoadZone

PowerSystems.LoadZoneType
mutable struct LoadZone <: AggregationTopology
+LoadZone · PowerSystems.jl

LoadZone

PowerSystems.LoadZoneType
mutable struct LoadZone <: AggregationTopology
     name::String
     peak_active_power::Float64
     peak_reactive_power::Float64
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
+    ext::Dict{String, Any}
     internal::InfrastructureSystemsInternal
-end

A collection of buses for electricity price analysis.

Arguments

  • name::String
  • peak_active_power::Float64
  • peak_reactive_power::Float64
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+end

A load zone for electricity price analysis.

The load zone can be specified when defining each ACBus or DCBus in the zone

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • peak_active_power::Float64: Peak active power in the zone (MW)
  • peak_reactive_power::Float64: Peak reactive power in the zone (MVAR)
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_Machine/index.html b/dev/model_library/generated_Machine/index.html index bbc4016404..ecabbe1d29 100644 --- a/dev/model_library/generated_Machine/index.html +++ b/dev/model_library/generated_Machine/index.html @@ -1,5 +1,5 @@ -Machine · PowerSystems.jl

Machine

AndersonFouadMachine

PowerSystems.AndersonFouadMachineType
mutable struct AndersonFouadMachine <: Machine
+Machine · PowerSystems.jl

Machine

AndersonFouadMachine

PowerSystems.AndersonFouadMachineType
mutable struct AndersonFouadMachine <: Machine
     R::Float64
     Xd::Float64
     Xq::Float64
@@ -15,38 +15,38 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of 6-states synchronous machine: Anderson-Fouad model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
ψq: q-axis stator flux,
+end

Parameters of 6-states synchronous machine: Anderson-Fouad model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
ψq: q-axis stator flux,
 ψd: d-axis stator flux,
 eq_p: q-axis transient voltage,
 ed_p: d-axis transient voltage,
 eq_pp: q-axis subtransient voltage,
-ed_pp: d-axis subtransient voltage
  • n_states::Int: AndersonFouadMachine has 6 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

BaseMachine

PowerSystems.BaseMachineType
mutable struct BaseMachine <: Machine
+ed_pp: d-axis subtransient voltage
  • n_states::Int: (Do not modify.) The states AndersonFouadMachine has 6 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

BaseMachine

PowerSystems.BaseMachineType
mutable struct BaseMachine <: Machine
     R::Float64
     Xd_p::Float64
     eq_p::Float64
@@ -54,17 +54,17 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of a Classic Machine: GENCLS in PSSE and PSLF

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd_p::Float64: Reactance after EMF in machine per unit, validation range: (0, nothing)
  • eq_p::Float64: Fixed EMF behind the impedance, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: BaseMachine has no states
  • n_states::Int: BaseMachine has no states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

FullMachine

PowerSystems.FullMachineType
mutable struct FullMachine <: Machine
+end

Parameters of a Classic Machine: GENCLS in PSSE and PSLF

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd_p::Float64: Reactance after EMF in machine per unit, validation range: (0, nothing)
  • eq_p::Float64: Fixed EMF behind the impedance, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) BaseMachine has no states
  • n_states::Int: (Do not modify.) BaseMachine has no states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

FullMachine

PowerSystems.FullMachineType
mutable struct FullMachine <: Machine
     R::Float64
     R_f::Float64
     R_1d::Float64
@@ -83,43 +83,43 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameter of a full order flux stator-rotor model without zero sequence flux in the stator. The derivative of stator fluxes (ψd and ψq) is NOT neglected. Only one q-axis damping circuit is considered. All parameters are in machine per unit. Refer to Chapter 3 of Power System Stability and Control by P. Kundur or Chapter 11 of Power System Dynamics: Stability and Control, by J. Machowski, J. Bialek and J. Bumby, for more details. Note that the models are somewhat different (but equivalent) due to the different Park Transformation used in both books.

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • R_f::Float64: Field rotor winding resistance in per unit, validation range: (0, nothing)
  • R_1d::Float64: Damping rotor winding resistance on d-axis in per unit. This value is denoted as RD in Machowski., validation range: (0, nothing)
  • R_1q::Float64: Damping rotor winding resistance on q-axis in per unit. This value is denoted as RQ in Machowski., validation range: (0, nothing)
  • L_d::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the d-axis of the rotor, in per unit. This value is denoted as Lad + Ll in Kundur (and Ld in Machowski)., validation range: (0, nothing)
  • L_q::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the q-axis of the rotor, in per unit. This value is denoted as Laq + Ll in Kundur., validation range: (0, nothing)
  • L_ad::Float64: Mutual inductance between stator winding and rotor field (and damping) winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_aq::Float64: Mutual inductance between stator winding and rotor damping winding inductance on q-axis, in per unit, validation range: (0, nothing)
  • L_f1d::Float64: Mutual inductance between rotor field winding and rotor damping winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_ff::Float64: Field rotor winding inductance, in per unit, validation range: (0, nothing)
  • L_1d::Float64: Inductance of the d-axis rotor damping circuit, in per unit, validation range: (0, nothing)
  • L_1q::Float64: Inductance of the q-axis rotor damping circuit, in per unit, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • inv_d_fluxlink::Array{Float64,2}: Equations 3.127, 3.130, 3.131 From Kundur
  • inv_q_fluxlink::Array{Float64,2}: Equations 3.128, 3.132 From Kundur
  • states::Vector{Symbol}: The states are:
ψd: d-axis stator flux,
+end

Parameter of a full order flux stator-rotor model without zero sequence flux in the stator. The derivative of stator fluxes (ψd and ψq) is NOT neglected. Only one q-axis damping circuit is considered. All parameters are in machine per unit. Refer to Chapter 3 of Power System Stability and Control by P. Kundur or Chapter 11 of Power System Dynamics: Stability and Control, by J. Machowski, J. Bialek and J. Bumby, for more details. Note that the models are somewhat different (but equivalent) due to the different Park Transformation used in both books

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • R_f::Float64: Field rotor winding resistance in per unit, validation range: (0, nothing)
  • R_1d::Float64: Damping rotor winding resistance on d-axis in per unit. This value is denoted as RD in Machowski, validation range: (0, nothing)
  • R_1q::Float64: Damping rotor winding resistance on q-axis in per unit. This value is denoted as RQ in Machowski, validation range: (0, nothing)
  • L_d::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the d-axis of the rotor, in per unit. This value is denoted as Lad + Ll in Kundur (and Ld in Machowski), validation range: (0, nothing)
  • L_q::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the q-axis of the rotor, in per unit. This value is denoted as Laq + Ll in Kundur, validation range: (0, nothing)
  • L_ad::Float64: Mutual inductance between stator winding and rotor field (and damping) winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_aq::Float64: Mutual inductance between stator winding and rotor damping winding inductance on q-axis, in per unit, validation range: (0, nothing)
  • L_f1d::Float64: Mutual inductance between rotor field winding and rotor damping winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_ff::Float64: Field rotor winding inductance, in per unit, validation range: (0, nothing)
  • L_1d::Float64: Inductance of the d-axis rotor damping circuit, in per unit, validation range: (0, nothing)
  • L_1q::Float64: Inductance of the q-axis rotor damping circuit, in per unit, 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. See Adding additional fields
  • inv_d_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.127, 3.130, 3.131 From Kundur
  • inv_q_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.128, 3.132 From Kundur
  • states::Vector{Symbol}: (Do not modify.) The states are:
ψd: d-axis stator flux,
 ψq: q-axis stator flux,
 ψf: field rotor flux,
 ψ1d: d-axis rotor damping flux,
-ψ1q: q-axis rotor damping flux
  • n_states::Int: FullMachine has 5 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

MarconatoMachine

PowerSystems.MarconatoMachineType
mutable struct MarconatoMachine <: Machine
+ψ1q: q-axis rotor damping flux
  • n_states::Int: (Do not modify.) FullMachine has 5 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

MarconatoMachine

PowerSystems.MarconatoMachineType
mutable struct MarconatoMachine <: Machine
     R::Float64
     Xd::Float64
     Xq::Float64
@@ -138,44 +138,44 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of 6-states synchronous machine: Marconato model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • T_AA::Float64: Time constant of d-axis additional leakage, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • γd::Float64
  • γq::Float64
  • states::Vector{Symbol}: The states are:
ψq: q-axis stator flux,
+end

Parameters of 6-states synchronous machine: Marconato model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • T_AA::Float64: Time constant of d-axis additional leakage, 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. See Adding additional fields
  • γd::Float64: (Do not modify.) Internal equation
  • γq::Float64: (Do not modify.) Internal equation
  • states::Vector{Symbol}: (Do not modify.) The states are:
ψq: q-axis stator flux,
 ψd: d-axis stator flux,
 eq_p: q-axis transient voltage,
 ed_p: d-axis transient voltage,
 eq_pp: q-axis subtransient voltage,
-ed_pp: d-axis subtransient voltage
  • n_states::Int: MarconatoMachine has 6 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

OneDOneQMachine

PowerSystems.OneDOneQMachineType
mutable struct OneDOneQMachine <: Machine
+ed_pp: d-axis subtransient voltage
  • n_states::Int: (Do not modify.) MarconatoMachine has 6 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

OneDOneQMachine

PowerSystems.OneDOneQMachineType
mutable struct OneDOneQMachine <: Machine
     R::Float64
     Xd::Float64
     Xq::Float64
@@ -187,28 +187,28 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of 4-states synchronous machine: Simplified Marconato model The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected.

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
eq_p: q-axis transient voltage,
-ed_p: d-axis transient voltage
  • n_states::Int: OneDOneQMachine has 2 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

RoundRotorExponential

PowerSystems.RoundRotorExponentialType
mutable struct RoundRotorExponential <: Machine
+end

Parameters of 4-states synchronous machine: Simplified Marconato model The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
eq_p: q-axis transient voltage,
+ed_p: d-axis transient voltage
  • n_states::Int: (Do not modify.) OneDOneQMachine has 2 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

RoundRotorExponential

PowerSystems.RoundRotorExponentialType
mutable struct RoundRotorExponential <: Machine
     base_machine::RoundRotorMachine
-    saturation_coeffs::Tuple{Float64, Float64}

4-states round-rotor synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROE model in PSSE and PSLF.

Arguments

  • base_machine::RoundRotorMachine: Round Rotor Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for exponential model.
source

RoundRotorMachine

PowerSystems.RoundRotorMachineType
mutable struct RoundRotorMachine <: Machine
+    saturation_coeffs::Tuple{Float64, Float64}

4-states round-rotor synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROE model in PSSE and PSLF.

Arguments

  • base_machine::RoundRotorMachine: Round Rotor Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for exponential model.
source

RoundRotorMachine

PowerSystems.RoundRotorMachineType
mutable struct RoundRotorMachine <: Machine
     R::Float64
     Td0_p::Float64
     Td0_pp::Float64
@@ -230,52 +230,52 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of 4-states round-rotor synchronous machine with quadratic/exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROU or GENROE model in PSSE and PSLF.

Arguments

  • R::Float64: Armature resistance, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit. Note: Xdpp = Xqpp, validation range: (0, nothing)
  • Xl::Float64: Stator leakage reactance, validation range: (0, nothing)
  • Se::Tuple{Float64, Float64}: Saturation factor at 1 and 1.2 pu flux: S(1.0) = B(|ψ_pp|-A)^2
  • ext::Dict{String, Any}
  • γ_d1::Float64: γ_d1 parameter
  • γ_q1::Float64: γ_q1 parameter
  • γ_d2::Float64: γ_d2 parameter
  • γ_q2::Float64: γ_q2 parameter
  • γ_qd::Float64: γ_qd parameter
  • states::Vector{Symbol}: The states are:
eq_p: q-axis generator voltage behind the transient reactance,
+end

Parameters of 4-states round-rotor synchronous machine with quadratic/exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROU or GENROE model in PSSE and PSLF

Arguments

  • R::Float64: Armature resistance, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit. Note: Xdpp = Xqpp, validation range: (0, nothing)
  • Xl::Float64: Stator leakage reactance, validation range: (0, nothing)
  • Se::Tuple{Float64, Float64}: Saturation factor at 1 and 1.2 pu flux: S(1.0) = B(|ψ_pp|-A)^2
  • 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. See Adding additional fields
  • γ_d1::Float64: (Do not modify.) γ_d1 parameter
  • γ_q1::Float64: (Do not modify.) γ_q1 parameter
  • γ_d2::Float64: (Do not modify.) γ_d2 parameter
  • γ_q2::Float64: (Do not modify.) γ_q2 parameter
  • γ_qd::Float64: (Do not modify.) γ_qd parameter
  • states::Vector{Symbol}: (Do not modify.) The states are:
eq_p: q-axis generator voltage behind the transient reactance,
 ed_p: d-axis generator voltage behind the transient reactance,
 ψ_kd: flux linkage in the first equivalent damping circuit in the d-axis,
-ψ_kq: flux linkage in the first equivalent damping circuit in the d-axis
  • n_states::Int: RoundRotorMachine has 4 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

RoundRotorQuadratic

PowerSystems.RoundRotorQuadraticType
mutable struct RoundRotorQuadratic <: Machine
+ψ_kq: flux linkage in the first equivalent damping circuit in the d-axis
  • n_states::Int: (Do not modify.) RoundRotorMachine has 4 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

RoundRotorQuadratic

PowerSystems.RoundRotorQuadraticType
mutable struct RoundRotorQuadratic <: Machine
     base_machine::RoundRotorMachine
-    saturation_coeffs::Tuple{Float64, Float64}

4-states round-rotor synchronous machine with quadratic saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROU model in PSSE and PSLF.

Arguments

  • base_machine::RoundRotorMachine: Round Rotor Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for quadratic model.
source

SalientPoleExponential

PowerSystems.SalientPoleExponentialType
mutable struct SalientPoleExponential <: Machine
+    saturation_coeffs::Tuple{Float64, Float64}

4-states round-rotor synchronous machine with quadratic saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROU model in PSSE and PSLF.

Arguments

  • base_machine::RoundRotorMachine: Round Rotor Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for quadratic model.
source

SalientPoleExponential

PowerSystems.SalientPoleExponentialType
mutable struct SalientPoleExponential <: Machine
     base_machine::SalientPoleMachine
-    saturation_coeffs::Tuple{Float64, Float64}

3-states salient-pole synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.1). GENSAE in PSSE and PSLF.

Arguments:

  • base_machine::SalientPoleMachine: Salient Pole Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for exponential model.
source

SalientPoleMachine

PowerSystems.SalientPoleMachineType
mutable struct SalientPoleMachine <: Machine
+    saturation_coeffs::Tuple{Float64, Float64}

3-states salient-pole synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.1). GENSAE in PSSE and PSLF.

Arguments:

  • base_machine::SalientPoleMachine: Salient Pole Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for exponential model.
source

SalientPoleMachine

PowerSystems.SalientPoleMachineType
mutable struct SalientPoleMachine <: Machine
     R::Float64
     Td0_p::Float64
     Td0_pp::Float64
@@ -293,41 +293,41 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of 3-states salient-pole synchronous machine with quadratic/exponential saturation: IEEE Std 1110 §5.3.1 (Model 2.1). GENSAL or GENSAE model in PSSE and PSLF.

Arguments

  • R::Float64: Armature resistance, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit. Note: Xdpp = Xqpp, validation range: (0, nothing)
  • Xl::Float64: Stator leakage reactance, validation range: (0, nothing)
  • Se::Tuple{Float64, Float64}: Saturation factor at 1 and 1.2 pu flux: Se(eqp) = B(eqp-A)^2
  • ext::Dict{String, Any}
  • γ_d1::Float64: γ_d1 parameter
  • γ_q1::Float64: γ_q1 parameter
  • γ_d2::Float64: γ_d2 parameter
  • states::Vector{Symbol}: The states are:
eq_p: q-axis generator voltage behind the transient reactance,
+end

Parameters of 3-states salient-pole synchronous machine with quadratic/exponential saturation: IEEE Std 1110 §5.3.1 (Model 2.1). GENSAL or GENSAE model in PSSE and PSLF

Arguments

  • R::Float64: Armature resistance, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit. Note: Xdpp = Xqpp, validation range: (0, nothing)
  • Xl::Float64: Stator leakage reactance, validation range: (0, nothing)
  • Se::Tuple{Float64, Float64}: Saturation factor at 1 and 1.2 pu flux: Se(eqp) = B(eqp-A)^2
  • 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. See Adding additional fields
  • γ_d1::Float64: (Do not modify.) γ_d1 parameter
  • γ_q1::Float64: (Do not modify.) γ_q1 parameter
  • γ_d2::Float64: (Do not modify.) γ_d2 parameter
  • states::Vector{Symbol}: (Do not modify.) The states are:
eq_p: q-axis generator voltage behind the transient reactance,
 ψ_kd: flux linkage in the first equivalent damping circuit in the d-axis,
-ψq_pp: phasonf of the subtransient flux linkage in the q-axis
  • n_states::Int: SalientPoleMachine has 3 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

SalientPoleQuadratic

PowerSystems.SalientPoleQuadraticType
mutable struct SalientPoleQuadratic <: Machine
+ψq_pp: phasonf of the subtransient flux linkage in the q-axis
  • n_states::Int: (Do not modify.) SalientPoleMachine has 3 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SalientPoleQuadratic

PowerSystems.SalientPoleQuadraticType
mutable struct SalientPoleQuadratic <: Machine
     base_machine::SalientPoleMachine
-    saturation_coeffs::Tuple{Float64, Float64}

3-states salient-pole synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.1). GENSAL in PSSE and PSLF.

Arguments:

  • base_machine::SalientPoleMachine: Salient Pole Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for quadratic model.
source

SauerPaiMachine

PowerSystems.SauerPaiMachineType
mutable struct SauerPaiMachine <: Machine
+    saturation_coeffs::Tuple{Float64, Float64}

3-states salient-pole synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.1). GENSAL in PSSE and PSLF.

Arguments:

  • base_machine::SalientPoleMachine: Salient Pole Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for quadratic model.
source

SauerPaiMachine

PowerSystems.SauerPaiMachineType
mutable struct SauerPaiMachine <: Machine
     R::Float64
     Xd::Float64
     Xq::Float64
@@ -348,48 +348,48 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of synchronous machine: Sauer Pai model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xl::Float64: Stator Leakage Reactance, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • γ_d1::Float64
  • γ_q1::Float64
  • γ_d2::Float64
  • γ_q2::Float64
  • states::Vector{Symbol}: The states are:
ψq: q-axis stator flux,
+end

Parameters of synchronous machine: Sauer Pai model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xl::Float64: Stator Leakage Reactance, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, 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. See Adding additional fields
  • γ_d1::Float64: (Do not modify.) Internal equation
  • γ_q1::Float64: (Do not modify.) Internal equation
  • γ_d2::Float64: (Do not modify.) Internal equation
  • γ_q2::Float64: (Do not modify.) Internal equation
  • states::Vector{Symbol}: (Do not modify.) The states are:
ψq: q-axis stator flux,
 ψd: d-axis stator flux,
 eq_p: q-axis transient voltage,
 ed_p: d-axis transient voltage
 ψd_pp: subtransient flux linkage in the d-axis
-ψq_pp: subtransient flux linkage in the q-axis
  • n_states::Int: SauerPaiMachine has 6 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

SimpleAFMachine

PowerSystems.SimpleAFMachineType
mutable struct SimpleAFMachine <: Machine
+ψq_pp: subtransient flux linkage in the q-axis
  • n_states::Int: (Do not modify.) SauerPaiMachine has 6 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SimpleAFMachine

PowerSystems.SimpleAFMachineType
mutable struct SimpleAFMachine <: Machine
     R::Float64
     Xd::Float64
     Xq::Float64
@@ -405,36 +405,36 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of 4-states simplified Anderson-Fouad (SimpleAFMachine) model. The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected. If transmission dynamics is considered use the full order Anderson Fouad model.

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
eq_p: q-axis transient voltage,
+end

Parameters of 4-states simplified Anderson-Fouad (SimpleAFMachine) model. The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected. If transmission dynamics is considered use the full order Anderson Fouad model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
eq_p: q-axis transient voltage,
 ed_p: d-axis transient voltage,
 eq_pp: q-axis subtransient voltage,
-ed_pp: d-axis subtransient voltage
  • n_states::Int: SimpleAFMachine has 4 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

SimpleFullMachine

PowerSystems.SimpleFullMachineType
mutable struct SimpleFullMachine <: Machine
+ed_pp: d-axis subtransient voltage
  • n_states::Int: (Do not modify.) SimpleAFMachine has 4 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SimpleFullMachine

PowerSystems.SimpleFullMachineType
mutable struct SimpleFullMachine <: Machine
     R::Float64
     R_f::Float64
     R_1d::Float64
@@ -453,45 +453,45 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameter of a full order flux stator-rotor model without zero sequence flux in the stator. The derivative of stator fluxes (ψd and ψq) is neglected. This is standard when transmission network dynamics is neglected. Only one q-axis damping circuit is considered. All per unit are in machine per unit. Refer to Chapter 3 of Power System Stability and Control by P. Kundur or Chapter 11 of Power System Dynamics: Stability and Control, by J. Machowski, J. Bialek and J. Bumby, for more details. Note that the models are somewhat different (but equivalent) due to the different Park Transformation used in both books.

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • R_f::Float64: Field rotor winding resistance in per unit, validation range: (0, nothing)
  • R_1d::Float64: Damping rotor winding resistance on d-axis in per unit. This value is denoted as RD in Machowski., validation range: (0, nothing)
  • R_1q::Float64: Damping rotor winding resistance on q-axis in per unit. This value is denoted as RQ in Machowski., validation range: (0, nothing)
  • L_d::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the d-axis of the rotor, in per unit. This value is denoted as Lad + Ll in Kundur (and Ld in Machowski)., validation range: (0, nothing)
  • L_q::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the q-axis of the rotor, in per unit. This value is denoted as Laq + Ll in Kundur., validation range: (0, nothing)
  • L_ad::Float64: Mutual inductance between stator winding and rotor field (and damping) winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_aq::Float64: Mutual inductance between stator winding and rotor damping winding inductance on q-axis, in per unit, validation range: (0, nothing)
  • L_f1d::Float64: Mutual inductance between rotor field winding and rotor damping winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_ff::Float64: Field rotor winding inductance, in per unit, validation range: (0, nothing)
  • L_1d::Float64: Inductance of the d-axis rotor damping circuit, in per unit, validation range: (0, nothing)
  • L_1q::Float64: Inductance of the q-axis rotor damping circuit, in per unit, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • inv_d_fluxlink::Array{Float64,2}: Equations 3.127, 3.130, 3.131 From Kundur
  • inv_q_fluxlink::Array{Float64,2}: Equations 3.128, 3.132 From Kundur
  • states::Vector{Symbol}: The states are:
ψf: field rotor flux,
+end

Parameter of a full order flux stator-rotor model without zero sequence flux in the stator. The derivative of stator fluxes (ψd and ψq) is neglected. This is standard when transmission network dynamics is neglected. Only one q-axis damping circuit is considered. All per unit are in machine per unit. Refer to Chapter 3 of Power System Stability and Control by P. Kundur or Chapter 11 of Power System Dynamics: Stability and Control, by J. Machowski, J. Bialek and J. Bumby, for more details. Note that the models are somewhat different (but equivalent) due to the different Park Transformation used in both books

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • R_f::Float64: Field rotor winding resistance in per unit, validation range: (0, nothing)
  • R_1d::Float64: Damping rotor winding resistance on d-axis in per unit. This value is denoted as RD in Machowski, validation range: (0, nothing)
  • R_1q::Float64: Damping rotor winding resistance on q-axis in per unit. This value is denoted as RQ in Machowski, validation range: (0, nothing)
  • L_d::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the d-axis of the rotor, in per unit. This value is denoted as Lad + Ll in Kundur (and Ld in Machowski), validation range: (0, nothing)
  • L_q::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the q-axis of the rotor, in per unit. This value is denoted as Laq + Ll in Kundur, validation range: (0, nothing)
  • L_ad::Float64: Mutual inductance between stator winding and rotor field (and damping) winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_aq::Float64: Mutual inductance between stator winding and rotor damping winding inductance on q-axis, in per unit, validation range: (0, nothing)
  • L_f1d::Float64: Mutual inductance between rotor field winding and rotor damping winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_ff::Float64: Field rotor winding inductance, in per unit, validation range: (0, nothing)
  • L_1d::Float64: Inductance of the d-axis rotor damping circuit, in per unit, validation range: (0, nothing)
  • L_1q::Float64: Inductance of the q-axis rotor damping circuit, in per unit, 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. See Adding additional fields
  • inv_d_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.127, 3.130, 3.131 From Kundur
  • inv_q_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.128, 3.132 From Kundur
  • states::Vector{Symbol}: (Do not modify.) The states are:
ψf: field rotor flux,
 ψ1d: d-axis rotor damping flux,
-ψ1q: q-axis rotor damping flux
  • n_states::Int: SimpleFullMachine has 3 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_inv_d_fluxlinkMethod
get_inv_d_fluxlink(
+ψ1q: q-axis rotor damping flux
  • n_states::Int: (Do not modify.) SimpleFullMachine has 3 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SimpleMarconatoMachine

SimpleMarconatoMachine

PowerSystems.SimpleMarconatoMachineType
mutable struct SimpleMarconatoMachine <: Machine
     R::Float64
     Xd::Float64
     Xq::Float64
@@ -510,39 +510,39 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of 4-states synchronous machine: Simplified Marconato model The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected.

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • T_AA::Float64: Time constant of d-axis additional leakage, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • γd::Float64
  • γq::Float64
  • states::Vector{Symbol}: The states are:
eq_p: q-axis transient voltage,
+end

Parameters of 4-states synchronous machine: Simplified Marconato model The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • T_AA::Float64: Time constant of d-axis additional leakage, 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. See Adding additional fields
  • γd::Float64: (Do not modify.) Internal equation
  • γq::Float64: (Do not modify.) Internal equation
  • states::Vector{Symbol}: (Do not modify.) The states are:
eq_p: q-axis transient voltage,
 ed_p: d-axis transient voltage,
 eq_pp: q-axis subtransient voltage,
-ed_pp: d-axis subtransient voltage
  • n_states::Int: SimpleMarconatoMachine has 4 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+ed_pp: d-axis subtransient voltage
  • n_states::Int: (Do not modify.) SimpleMarconatoMachine has 4 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_MarketBidCost/index.html b/dev/model_library/generated_MarketBidCost/index.html deleted file mode 100644 index b56a6a856c..0000000000 --- a/dev/model_library/generated_MarketBidCost/index.html +++ /dev/null @@ -1,24 +0,0 @@ - -MarketBidCost · PowerSystems.jl

MarketBidCost

PowerSystems.MarketBidCostType
mutable struct MarketBidCost <: OperationalCost
-    no_load::Float64
-    start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}
-    shut_down::Float64
-    variable::Union{Nothing, IS.TimeSeriesKey}
-    ancillary_services::Vector{Service}
-end

Data Structure Operational Cost to reflect market bids of energy and ancilliary services. Compatible with most US Market bidding mechanisms

Arguments

  • no_load::Float64: no load cost
  • start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}: start-up cost at different stages of the thermal cycle. Warm is also refered as intermediate in some markets
  • shut_down::Float64: shut-down cost, validation range: (0, nothing), action if invalid: warn
  • variable::Union{Nothing, IS.TimeSeriesKey}: Variable Cost TimeSeriesKey
  • ancillary_services::Vector{Service}: Bids for the ancillary services
source
diff --git a/dev/model_library/generated_MonitoredLine/index.html b/dev/model_library/generated_MonitoredLine/index.html index 07de23b61c..23cd714462 100644 --- a/dev/model_library/generated_MonitoredLine/index.html +++ b/dev/model_library/generated_MonitoredLine/index.html @@ -1,5 +1,5 @@ -MonitoredLine · PowerSystems.jl

MonitoredLine

PowerSystems.MonitoredLineType
mutable struct MonitoredLine <: ACBranch
+MonitoredLine · PowerSystems.jl

MonitoredLine

PowerSystems.MonitoredLineType
mutable struct MonitoredLine <: ACBranch
     name::String
     available::Bool
     active_power_flow::Float64
@@ -9,45 +9,40 @@
     x::Float64
     b::FromTo
     flow_limits::FromTo_ToFrom
-    rate::Float64
+    rating::Float64
     angle_limits::MinMax
     services::Vector{Service}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • active_power_flow::Float64
  • reactive_power_flow::Float64
  • arc::Arc
  • r::Float64: System per-unit value, validation range: (0, 4), action if invalid: warn
  • x::Float64: System per-unit value, validation range: (0, 4), action if invalid: warn
  • b::FromTo: System per-unit value, validation range: (0, 2), action if invalid: warn
  • flow_limits::FromTo_ToFrom: throw warning above max SIL
  • rate::Float64: compare to SIL (warn) (theoretical limit)
  • angle_limits::MinMax, validation range: (-1.571, 1.571), action if invalid: error
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_angle_limitsMethod
get_angle_limits(
+end

An AC transmission line with additional power flow constraints specified by the system operator, more restrictive than the line's thermal limits.

For example, monitored lines can be used to restrict line flow following a contingency elsewhere in the network. See the flow_limits parameter. If monitoring is not needed, see Line

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • active_power_flow::Float64: Initial condition of active power flow on the line (MW)
  • reactive_power_flow::Float64: Initial condition of reactive power flow on the line (MVAR)
  • arc::Arc: An Arc defining this line from a bus to another bus
  • r::Float64: Resistance in pu (SYSTEM_BASE), validation range: (0, 4)
  • x::Float64: Reactance in pu (SYSTEM_BASE), validation range: (0, 4)
  • b::FromTo: Shunt susceptance in pu (SYSTEM_BASE), specified both on the from and to ends of the line. These are commonly modeled with the same value, validation range: (0, 2)
  • flow_limits::FromTo_ToFrom: Minimum and maximum permissable flow on the line (MVA), if different from the thermal rating defined in rating
  • rating::Float64: Thermal rating (MVA). Flow through the transformer must be between -rating and rating
  • angle_limits::MinMax: Minimum and maximum angle limits (radians), validation range: (-1.571, 1.571)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get MonitoredLine flow_limits.

source
diff --git a/dev/model_library/generated_MultiStartCost/index.html b/dev/model_library/generated_MultiStartCost/index.html deleted file mode 100644 index 10da4e6027..0000000000 --- a/dev/model_library/generated_MultiStartCost/index.html +++ /dev/null @@ -1,20 +0,0 @@ - -MultiStartCost · PowerSystems.jl

MultiStartCost

PowerSystems.MultiStartCostType
mutable struct MultiStartCost <: OperationalCost
-    variable::VariableCost
-    no_load::Float64
-    fixed::Float64
-    start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}
-    shut_down::Float64
-end

Data Structure Operational Cost Data which includes fixed, variable cost, multiple start up cost and stop costs.

Arguments

  • variable::VariableCost: variable cost
  • no_load::Float64: no load cost
  • fixed::Float64: fixed cost
  • start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}: start-up cost
  • shut_down::Float64: shut-down cost, validation range: (0, nothing), action if invalid: warn
source
diff --git a/dev/model_library/generated_OutputCurrentLimiter/index.html b/dev/model_library/generated_OutputCurrentLimiter/index.html new file mode 100644 index 0000000000..44ae4bda0a --- /dev/null +++ b/dev/model_library/generated_OutputCurrentLimiter/index.html @@ -0,0 +1,78 @@ + +OutputCurrentLimiter · PowerSystems.jl

PowerSystems.OutputCurrentLimiter

HybridOutputCurrentLimiter

PowerSystems.HybridOutputCurrentLimiterType
mutable struct HybridOutputCurrentLimiter <: OutputCurrentLimiter
+    I_max::Float64
+    rv::Float64
+    lv::Float64
+    ext::Dict{String, Any}
+end

Parameters of Hybrid Current Controller Limiter. Regulates the magnitude of the inverter output current, but with a closed loop feedback regulated by a virtual impedance which provides ant-windup. Described in: Novel Hybrid Current Limiter for Grid-Forming Inverter Control During Unbalanced Faults by Baeckland and Seo, 2023

Arguments

  • I_max::Float64: Maximum limit on current controller input current (device base), validation range: (0, nothing)
  • rv::Float64: Real part of the virtual impedance, validation range: (0, nothing)
  • lv::Float64: Imaginary part of the virtual impedance, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}())
source

InstantaneousOutputCurrentLimiter

PowerSystems.InstantaneousOutputCurrentLimiterType
mutable struct InstantaneousOutputCurrentLimiter <: OutputCurrentLimiter
+    Id_max::Float64
+    Iq_max::Float64
+    ext::Dict{String, Any}
+end

Parameters of Instantaneous (Square) Current Controller Limiter. Regulates inverter output current on the d and q axis separately

Arguments

  • Id_max::Float64: Maximum limit on d-axis current controller input current in pu (DEVICE_BASE), validation range: (0, nothing)
  • Iq_max::Float64: Maximum limit on d-axis current controller input current in pu (DEVICE_BASE), 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. See Adding additional fields
source

MagnitudeOutputCurrentLimiter

PowerSystems.MagnitudeOutputCurrentLimiterType
mutable struct MagnitudeOutputCurrentLimiter <: OutputCurrentLimiter
+    I_max::Float64
+    ext::Dict{String, Any}
+end

Parameters of Magnitude (Circular) Current Controller Limiter. Regulates only the magnitude of the inverter output current

Arguments

  • I_max::Float64: Maximum limit on current controller input current in pu (DEVICE_BASE), 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. See Adding additional fields
source

PriorityOutputCurrentLimiter

PowerSystems.PriorityOutputCurrentLimiterType
mutable struct PriorityOutputCurrentLimiter <: OutputCurrentLimiter
+    I_max::Float64
+    ϕ_I::Float64
+    ext::Dict{String, Any}
+end

Parameters of Priority-Based Current Controller Limiter. Regulates the magnitude of the inverter output current and prioritizes a specific angle for the resultant current signal

Arguments

  • I_max::Float64: Maximum limit on current controller input current in pu (DEVICE_BASE), validation range: (0, nothing)
  • ϕ_I::Float64: Pre-defined angle (measured against the d-axis) for Iref once limit Imax is hit, validation range: (-1.571, 1.571)
  • 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. See Adding additional fields
source

SaturationOutputCurrentLimiter

PowerSystems.SaturationOutputCurrentLimiterType
mutable struct SaturationOutputCurrentLimiter <: OutputCurrentLimiter
+    I_max::Float64
+    kw::Float64
+    ext::Dict{String, Any}
+end

Parameters of Saturation Current Controller Limiter. Regulates the magnitude of the inverter output current, and applies a closed loop feedback regulated by a static gain which provides ant-windup

Arguments

  • I_max::Float64: Maximum limit on current controller input current (device base), validation range: (0, nothing)
  • kw::Float64: Defined feedback gain, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}())
source
diff --git a/dev/model_library/generated_PSS/index.html b/dev/model_library/generated_PSS/index.html index 9d4c843e5e..46b20c4383 100644 --- a/dev/model_library/generated_PSS/index.html +++ b/dev/model_library/generated_PSS/index.html @@ -1,5 +1,5 @@ -PSS · PowerSystems.jl

PSS

IEEEST

PowerSystems.IEEESTType
mutable struct IEEEST <: PSS
+PSS · PowerSystems.jl

PSS

IEEEST

PowerSystems.IEEESTType
mutable struct IEEEST <: PSS
     input_code::Int
     remote_bus_control::Int
     A1::Float64
@@ -23,55 +23,55 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

IEEE Stabilizing Model PSS.

Arguments

  • input_code::Int: Code input for stabilizer, validation range: (1, 6), action if invalid: error
  • remote_bus_control::Int: Remote Bus number for control.
  • A1::Float64: Filter coefficient, validation range: (0, nothing), action if invalid: warn
  • A2::Float64: Filter coefficient, validation range: (0, nothing), action if invalid: warn
  • A3::Float64: Filter coefficient, validation range: (0, nothing)
  • A4::Float64: Filter coefficient, validation range: (0, nothing), action if invalid: warn
  • A5::Float64: Filter coefficient, validation range: (0, nothing), action if invalid: warn
  • A6::Float64: Filter coefficient, validation range: (0, nothing), action if invalid: warn
  • T1::Float64: Time constant, validation range: (0, 10), action if invalid: warn
  • T2::Float64: Time constant, validation range: (0, 10), action if invalid: warn
  • T3::Float64: Time constant, validation range: (0, 10), action if invalid: warn
  • T4::Float64: Time constant, validation range: (0, 10), action if invalid: warn
  • T5::Float64: Time constant, validation range: (0, 10), action if invalid: warn
  • T6::Float64: Time constant, validation range: (eps(), 2.0), action if invalid: error
  • Ks::Float64: Proportional gain, validation range: (0, nothing), action if invalid: warn
  • Ls_lim::Tuple{Float64, Float64}: PSS output limits for regulator output (Ls_min, Ls_max)
  • Vcu::Float64: Cutoff limiter upper bound, validation range: (0, 1.25), action if invalid: warn
  • Vcl::Float64: Cutoff limiter lower bound, validation range: (0, 1.0), action if invalid: warn
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
x_p1: 1st filter integration,
+end

IEEE Stabilizing Model PSS.

Arguments

  • input_code::Int: Code input for stabilizer, validation range: (1, 6)
  • remote_bus_control::Int: ACBus identification number for control. 0 identifies the bus connected to this component
  • A1::Float64: Filter coefficient, validation range: (0, nothing)
  • A2::Float64: Filter coefficient, validation range: (0, nothing)
  • A3::Float64: Filter coefficient, validation range: (0, nothing)
  • A4::Float64: Filter coefficient, validation range: (0, nothing)
  • A5::Float64: Filter coefficient, validation range: (0, nothing)
  • A6::Float64: Filter coefficient, validation range: (0, nothing)
  • T1::Float64: Time constant, validation range: (0, 10)
  • T2::Float64: Time constant, validation range: (0, 10)
  • T3::Float64: Time constant, validation range: (0, 10)
  • T4::Float64: Time constant, validation range: (0, 10)
  • T5::Float64: Time constant, validation range: (0, 10)
  • T6::Float64: Time constant, validation range: (eps(), 2.0)
  • Ks::Float64: Proportional gain, validation range: (0, nothing)
  • Ls_lim::Tuple{Float64, Float64}: PSS output limits for regulator output (Ls_min, Ls_max)
  • Vcu::Float64: Cutoff limiter upper bound, validation range: (0, 1.25)
  • Vcl::Float64: Cutoff limiter lower bound, validation range: (0, 1.0)
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
x_p1: 1st filter integration,
 x_p2: 2nd filter integration, 
 x_p3: 3rd filter integration, 
 x_p4: 4rd filter integration, 
 x_p5: T1/T2 lead-lag integrator, 
 x_p6: T3/T4 lead-lag integrator, 
-:x_p7 last integer,
  • n_states::Int: IEEEST has 7 states
  • states_types::Vector{StateTypes}: IEEEST has 7 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

PSS2A

PowerSystems.PSS2AType
mutable struct PSS2A <: PSS
+:x_p7 last integer,
  • n_states::Int: (Do not modify.) IEEEST has 7 states
  • states_types::Vector{StateTypes}: (Do not modify.) IEEEST has 7 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

PSS2A

PowerSystems.PSS2AType
mutable struct PSS2A <: PSS
     input_code_1::Int
     remote_bus_control_1::Int
     input_code_2::Int
@@ -99,7 +99,7 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

IEEE Dual-Input Stabilizer Model

Arguments

  • input_code_1::Int: First Input Code for stabilizer, validation range: (1, 6), action if invalid: error
  • remote_bus_control_1::Int: First Input Remote Bus number for control.
  • input_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6), action if invalid: error
  • remote_bus_control_2::Int: Second Input Remote Bus number for control.
  • M_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error
  • N_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error
  • Tw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing), action if invalid: warn
  • Tw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing), action if invalid: warn
  • T6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing), action if invalid: warn
  • Tw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing), action if invalid: warn
  • Tw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing), action if invalid: warn
  • T7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn
  • Ks2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn
  • Ks3::Float64: Gain for second input, validation range: (0, nothing), action if invalid: warn
  • T8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing), action if invalid: warn
  • T9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing), action if invalid: warn
  • Ks1::Float64: Gain before lead-lag blocks, validation range: (0, nothing), action if invalid: warn
  • T1::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T2::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T3::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T4::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn
  • Vst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
x_p1: 1st washout 1st input, 
+end

IEEE Dual-Input Stabilizer Model

Arguments

  • input_code_1::Int: First Input Code for stabilizer, validation range: (1, 6)
  • remote_bus_control_1::Int: First Input remote bus identification number for control. 0 identifies the local bus connected to this component
  • input_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6)
  • remote_bus_control_2::Int: Second Input remote bus identification number for control. 0 identifies the local bus connected to this component
  • M_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8)
  • N_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8)
  • Tw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing)
  • Tw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing)
  • T6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing)
  • Tw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing)
  • Tw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing)
  • T7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing)
  • Ks2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing)
  • Ks3::Float64: Gain for second input, validation range: (0, nothing)
  • T8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing)
  • T9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing)
  • Ks1::Float64: Gain before lead-lag blocks, validation range: (0, nothing)
  • T1::Float64: Time constant for first lead-lag block, validation range: (0, nothing)
  • T2::Float64: Time constant for first lead-lag block, validation range: (0, nothing)
  • T3::Float64: Time constant for second lead-lag block, validation range: (0, nothing)
  • T4::Float64: Time constant for second lead-lag block, validation range: (0, nothing)
  • Vst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
x_p1: 1st washout 1st input, 
 x_p2: 2nd washout 1st input, 
 x_p3: transducer 1st input, 
 x_p4: 1st washout 2nd input, 
@@ -114,57 +114,57 @@
 x_p13: ramp tracking filter state 7, 
 x_p14: ramp tracking filter state 8, 
 x_p15: 1st lead-lag, 
-x_p16: 2nd lead-lag,
  • n_states::Int: IEEEST has 16 states
  • states_types::Vector{StateTypes}: IEEEST has 16 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

PSS2B

PowerSystems.PSS2BType
mutable struct PSS2B <: PSS
+x_p16: 2nd lead-lag,
  • n_states::Int: (Do not modify.) IEEEST has 16 states
  • states_types::Vector{StateTypes}: (Do not modify.) IEEEST has 16 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

PSS2B

PowerSystems.PSS2BType
mutable struct PSS2B <: PSS
     input_code_1::Int
     remote_bus_control_1::Int
     input_code_2::Int
@@ -196,7 +196,7 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

IEEE 421.5 2005 PSS2B IEEE Dual-Input Stabilizer Model

Arguments

  • input_code_1::Int: First Input Code for stabilizer, validation range: (1, 6), action if invalid: error
  • remote_bus_control_1::Int: First Input Remote Bus number for control.
  • input_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6), action if invalid: error
  • remote_bus_control_2::Int: Second Input Remote Bus number for control.
  • M_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error
  • N_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error
  • Tw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing), action if invalid: warn
  • Tw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing), action if invalid: warn
  • T6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing), action if invalid: warn
  • Tw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing), action if invalid: warn
  • Tw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing), action if invalid: warn
  • T7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn
  • Ks2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn
  • Ks3::Float64: Gain for second input, validation range: (0, nothing), action if invalid: warn
  • T8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing), action if invalid: warn
  • T9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing), action if invalid: warn
  • Ks1::Float64: Gain before lead-lag blocks, validation range: (0, nothing), action if invalid: warn
  • T1::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T2::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T3::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T4::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T10::Float64: Time constant for third lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T11::Float64: Time constant for third lead-lag block, validation range: (0, nothing), action if invalid: warn
  • Vs1_lim::Tuple{Float64, Float64}: First input limits (Vs1_min, Vs1_max)
  • Vs2_lim::Tuple{Float64, Float64}: Second input limits (Vs2_min, Vs2_max)
  • Vst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
x_p1: 1st washout 1st input, 
+end

IEEE 421.5 2005 PSS2B IEEE Dual-Input Stabilizer Model

Arguments

  • input_code_1::Int: First Input Code for stabilizer, validation range: (1, 6)
  • remote_bus_control_1::Int: First Input remote bus identification number for control. 0 identifies the local bus connected to this component
  • input_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6)
  • remote_bus_control_2::Int: Second Input remote bus identification number for control. 0 identifies the local bus connected to this component
  • M_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8)
  • N_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8)
  • Tw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing)
  • Tw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing)
  • T6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing)
  • Tw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing)
  • Tw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing)
  • T7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing)
  • Ks2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing)
  • Ks3::Float64: Gain for second input, validation range: (0, nothing)
  • T8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing)
  • T9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing)
  • Ks1::Float64: Gain before lead-lag blocks, validation range: (0, nothing)
  • T1::Float64: Time constant for first lead-lag block, validation range: (0, nothing)
  • T2::Float64: Time constant for first lead-lag block, validation range: (0, nothing)
  • T3::Float64: Time constant for second lead-lag block, validation range: (0, nothing)
  • T4::Float64: Time constant for second lead-lag block, validation range: (0, nothing)
  • T10::Float64: Time constant for third lead-lag block, validation range: (0, nothing)
  • T11::Float64: Time constant for third lead-lag block, validation range: (0, nothing)
  • Vs1_lim::Tuple{Float64, Float64}: First input limits (Vs1_min, Vs1_max)
  • Vs2_lim::Tuple{Float64, Float64}: Second input limits (Vs2_min, Vs2_max)
  • Vst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
x_p1: 1st washout 1st input, 
 x_p2: 2nd washout 1st input, 
 x_p3: transducer 1st input, 
 x_p4: 1st washout 2nd input, 
@@ -212,65 +212,65 @@
 x_p14: ramp tracking filter state 8, 
 x_p15: 1st lead-lag, 
 x_p16: 2nd lead-lag, 
-x_p17: 3rd lead-lag,
  • n_states::Int: IEEEST has 17 states
  • states_types::Vector{StateTypes}: IEEEST has 17 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

PSS2C

PowerSystems.PSS2CType
mutable struct PSS2C <: PSS
+x_p17: 3rd lead-lag,
  • n_states::Int: (Do not modify.) IEEEST has 17 states
  • states_types::Vector{StateTypes}: (Do not modify.) IEEEST has 17 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

PSS2C

PowerSystems.PSS2CType
mutable struct PSS2C <: PSS
     input_code_1::Int
     remote_bus_control_1::Int
     input_code_2::Int
@@ -308,7 +308,7 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

IEEE 421.5 2016 PSS2C IEEE Dual-Input Stabilizer Model

Arguments

  • input_code_1::Int: First Input Code for stabilizer, validation range: (1, 7), action if invalid: error
  • remote_bus_control_1::Int: First Input Remote Bus number for control.
  • input_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6), action if invalid: error
  • remote_bus_control_2::Int: Second Input Remote Bus number for control.
  • M_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error
  • N_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error
  • Tw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing), action if invalid: warn
  • Tw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing), action if invalid: warn
  • T6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing), action if invalid: warn
  • Tw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing), action if invalid: warn
  • Tw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing), action if invalid: warn
  • T7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn
  • Ks2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn
  • Ks3::Float64: Gain for second input, validation range: (0, nothing), action if invalid: warn
  • T8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing), action if invalid: warn
  • T9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing), action if invalid: warn
  • Ks1::Float64: Gain before lead-lag blocks, validation range: (0, nothing), action if invalid: warn
  • T1::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T2::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T3::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T4::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T10::Float64: Time constant for third lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T11::Float64: Time constant for third lead-lag block, validation range: (0, nothing), action if invalid: warn
  • Vs1_lim::Tuple{Float64, Float64}: First input limits (Vs1_min, Vs1_max)
  • Vs2_lim::Tuple{Float64, Float64}: Second input limits (Vs2_min, Vs2_max)
  • Vst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)
  • T12::Float64: Time constant for fourth lead-lag block, validation range: (0, nothing), action if invalid: warn
  • T13::Float64: Time constant for fourth lead-lag block, validation range: (0, nothing), action if invalid: warn
  • PSS_Hysteresis_param::Tuple{Float64, Float64}: PSS output hysteresis parameters (PSSOFF, PSSON)
  • Xcomp::Float64: Stator Leakage Reactance, validation range: (0, nothing)
  • Tcomp::Float64: Time measured with compensated frequency, validation range: (eps(), nothing), action if invalid: error
  • hysteresis_binary_logic::Int: Hysteresis memory variable
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
x_p1: 1st washout 1st input, 
+end

IEEE 421.5 2016 PSS2C IEEE Dual-Input Stabilizer Model

Arguments

  • input_code_1::Int: First Input Code for stabilizer, validation range: (1, 7)
  • remote_bus_control_1::Int: First Input remote bus identification number for control. 0 identifies the local bus connected to this component
  • input_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6)
  • remote_bus_control_2::Int: Second Input remote bus identification number for control. 0 identifies the local bus connected to this component
  • M_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8)
  • N_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8)
  • Tw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing)
  • Tw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing)
  • T6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing)
  • Tw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing)
  • Tw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing)
  • T7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing)
  • Ks2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing)
  • Ks3::Float64: Gain for second input, validation range: (0, nothing)
  • T8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing)
  • T9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing)
  • Ks1::Float64: Gain before lead-lag blocks, validation range: (0, nothing)
  • T1::Float64: Time constant for first lead-lag block, validation range: (0, nothing)
  • T2::Float64: Time constant for first lead-lag block, validation range: (0, nothing)
  • T3::Float64: Time constant for second lead-lag block, validation range: (0, nothing)
  • T4::Float64: Time constant for second lead-lag block, validation range: (0, nothing)
  • T10::Float64: Time constant for third lead-lag block, validation range: (0, nothing)
  • T11::Float64: Time constant for third lead-lag block, validation range: (0, nothing)
  • Vs1_lim::Tuple{Float64, Float64}: First input limits (Vs1_min, Vs1_max)
  • Vs2_lim::Tuple{Float64, Float64}: Second input limits (Vs2_min, Vs2_max)
  • Vst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)
  • T12::Float64: Time constant for fourth lead-lag block, validation range: (0, nothing)
  • T13::Float64: Time constant for fourth lead-lag block, validation range: (0, nothing)
  • PSS_Hysteresis_param::Tuple{Float64, Float64}: PSS output hysteresis parameters (PSSOFF, PSSON)
  • Xcomp::Float64: Stator Leakage Reactance, validation range: (0, nothing)
  • Tcomp::Float64: Time measured with compensated frequency, validation range: (eps(), nothing)
  • hysteresis_binary_logic::Int: (default: 1) Hysteresis memory variable
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
x_p1: 1st washout 1st input, 
 x_p2: 2nd washout 1st input, 
 x_p3: transducer 1st input, 
 x_p4: 1st washout 2nd input, 
@@ -326,106 +326,106 @@
 x_p16: 2nd lead-lag, 
 x_p17: 3rd lead-lag, 
 x_p18: 4th lead-lag, 
-x_p19: washout block for compensated frequency,
  • n_states::Int: IEEEST has 19 states
  • states_types::Vector{StateTypes}: IEEEST has 19 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_PSS_Hysteresis_paramMethod
get_PSS_Hysteresis_param(
+x_p19: washout block for compensated frequency,
  • n_states::Int: (Do not modify.) IEEEST has 19 states
  • states_types::Vector{StateTypes}: (Do not modify.) IEEEST has 19 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

PSSFixed

PSSFixed

PowerSystems.PSSFixedType
mutable struct PSSFixed <: PSS
     V_pss::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of a PSS that returns a fixed voltage to add to the reference for the AVR

Arguments

  • V_pss::Float64: Fixed voltage stabilization signal, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}
  • n_states::Int: PSSFixed has no states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

PSSSimple

PowerSystems.PSSSimpleType
mutable struct PSSSimple <: PSS
+end

Parameters of a PSS that returns a fixed voltage to add to the reference for the AVR

Arguments

  • V_pss::Float64: Fixed voltage stabilization signal in pu (DEVICE_BASE), 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) PSSFixed has no states
  • n_states::Int: (Do not modify.) PSSFixed has no states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

PSSSimple

PowerSystems.PSSSimpleType
mutable struct PSSSimple <: PSS
     K_ω::Float64
     K_p::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of a PSS that returns a proportional droop voltage to add to the reference for the AVR

Arguments

  • K_ω::Float64: Proportional gain for frequency, validation range: (0, nothing)
  • K_p::Float64: Proportional gain for active power, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}
  • n_states::Int: PSSSimple has no states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

STAB1

PowerSystems.STAB1Type
mutable struct STAB1 <: PSS
+end

Parameters of a PSS that returns a proportional droop voltage to add to the reference for the AVR

Arguments

  • K_ω::Float64: Proportional gain for frequency, validation range: (0, nothing)
  • K_p::Float64: Proportional gain for active power, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) PSSSimple has no states
  • n_states::Int: (Do not modify.) PSSSimple has no states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

STAB1

PowerSystems.STAB1Type
mutable struct STAB1 <: PSS
     KT::Float64
     T::Float64
     T1T3::Float64
@@ -438,26 +438,26 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Speed-Sensitive Stabilizing Model

Arguments

  • KT::Float64: K/T for washout filter, validation range: (0, nothing), action if invalid: warn
  • T::Float64: Time constant for washout filter, validation range: (0.01, nothing), action if invalid: warn
  • T1T3::Float64: Time constant division T1/T3, validation range: (0, nothing)
  • T3::Float64: Time constant, validation range: (0.01, nothing), action if invalid: warn
  • T2T4::Float64: Time constant division T2/T4, validation range: (0, nothing), action if invalid: warn
  • T4::Float64: Time constant, validation range: (0.01, nothing), action if invalid: warn
  • H_lim::Float64: PSS output limit, validation range: (0, 0.5), action if invalid: warn
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
x_p1: washout filter,
+end

Speed-Sensitive Stabilizing Model

Arguments

  • KT::Float64: K/T for washout filter, validation range: (0, nothing)
  • T::Float64: Time constant for washout filter, validation range: (0.01, nothing)
  • T1T3::Float64: Time constant division T1/T3, validation range: (0, nothing)
  • T3::Float64: Time constant, validation range: (0.01, nothing)
  • T2T4::Float64: Time constant division T2/T4, validation range: (0, nothing)
  • T4::Float64: Time constant, validation range: (0.01, nothing)
  • H_lim::Float64: PSS output limit, validation range: (0, 0.5)
  • 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
x_p1: washout filter,
 x_p2: T1/T3 lead-lag block, 
-x_p3: T2/T4 lead-lag block,
  • n_states::Int: STAB1 has 3 states
  • states_types::Vector{StateTypes}: STAB1 has 3 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+x_p3: T2/T4 lead-lag block,
  • n_states::Int: (Do not modify.) STAB1 has 3 states
  • states_types::Vector{StateTypes}: (Do not modify.) STAB1 has 3 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_PhaseShiftingTransformer/index.html b/dev/model_library/generated_PhaseShiftingTransformer/index.html index 09f05cd878..81085b2f21 100644 --- a/dev/model_library/generated_PhaseShiftingTransformer/index.html +++ b/dev/model_library/generated_PhaseShiftingTransformer/index.html @@ -1,5 +1,5 @@ -PhaseShiftingTransformer · PowerSystems.jl

PhaseShiftingTransformer

PowerSystems.PhaseShiftingTransformerType
mutable struct PhaseShiftingTransformer <: ACBranch
+PhaseShiftingTransformer · PowerSystems.jl

PhaseShiftingTransformer

PowerSystems.PhaseShiftingTransformerType
mutable struct PhaseShiftingTransformer <: ACBranch
     name::String
     available::Bool
     active_power_flow::Float64
@@ -10,68 +10,60 @@
     primary_shunt::Float64
     tap::Float64
     α::Float64
-    rate::Union{Nothing, Float64}
+    rating::Union{Nothing, Float64}
     phase_angle_limits::MinMax
     services::Vector{Service}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • active_power_flow::Float64
  • reactive_power_flow::Float64
  • arc::Arc
  • r::Float64: System per-unit value, validation range: (0, 4), action if invalid: warn
  • x::Float64: System per-unit value, validation range: (-2, 4), action if invalid: warn
  • primary_shunt::Float64, validation range: (0, 2), action if invalid: warn
  • tap::Float64, validation range: (0, 2), action if invalid: error
  • α::Float64, validation range: (-1.571, 1.571), action if invalid: warn
  • rate::Union{Nothing, Float64}, validation range: (0, nothing), action if invalid: error
  • phase_angle_limits::MinMax, validation range: (-1.571, 1.571), action if invalid: error
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_active_power_flowMethod
get_active_power_flow(
+end

A phase-shifting transformer regulating the phase angle between two buses to control active power flow in the system.

The model uses an equivalent circuit assuming the impedance is on the High Voltage Side of the transformer. The model allocates the iron losses and magnetizing susceptance to the primary side

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • active_power_flow::Float64: Initial condition of active power flow through the transformer (MW)
  • reactive_power_flow::Float64: Initial condition of reactive power flow through the transformer (MVAR)
  • arc::Arc: An Arc defining this transformer from a bus to another bus
  • r::Float64: Resistance in pu (SYSTEM_BASE), validation range: (0, 4)
  • x::Float64: Reactance in pu (SYSTEM_BASE), validation range: (-2, 4)
  • primary_shunt::Float64:, validation range: (0, 2)
  • tap::Float64: Normalized tap changer position for voltage control, varying between 0 and 2, with 1 centered at the nominal voltage, validation range: (0, 2)
  • α::Float64: Initial condition of phase shift (radians) between the from and to buses , validation range: (-1.571, 1.571)
  • rating::Union{Nothing, Float64}: Thermal rating (MVA). Flow through the transformer must be between -rating and rating, validation range: (0, nothing)
  • phase_angle_limits::MinMax: (default: (min=-1.571, max=1.571)) Minimum and maximum phase angle limits (radians), validation range: (-1.571, 1.571)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set PhaseShiftingTransformer reactive_power_flow.

source
diff --git a/dev/model_library/generated_PowerLoad/index.html b/dev/model_library/generated_PowerLoad/index.html index 1edb04b75c..c81ae33239 100644 --- a/dev/model_library/generated_PowerLoad/index.html +++ b/dev/model_library/generated_PowerLoad/index.html @@ -1,5 +1,5 @@ -PowerLoad · PowerSystems.jl

PowerLoad

PowerSystems.PowerLoadType
mutable struct PowerLoad <: StaticLoad
+PowerLoad · PowerSystems.jl

PowerLoad

PowerSystems.PowerLoadType
mutable struct PowerLoad <: StaticLoad
     name::String
     available::Bool
     bus::ACBus
@@ -11,32 +11,27 @@
     services::Vector{Service}
     dynamic_injector::Union{Nothing, DynamicInjection}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Data structure for a static power load.

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • active_power::Float64
  • reactive_power::Float64
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • max_active_power::Float64
  • max_reactive_power::Float64
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_dynamic_injectorMethod
get_dynamic_injector(
+end

A static power load, most commonly used for operational models such as power flow and operational optimizations.

This load consumes a set amount of power (set by active_power for a power flow simulation or a max_active_power time series for an operational simulation). For loads that can be compensated for load interruptions through demand response programs, see InterruptiblePowerLoad. For voltage-dependent loads used in dynamics modeling, see StandardLoad

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial steady-state active power demand (MW)
  • reactive_power::Float64: Initial steady-state reactive power demand (MVAR)
  • base_power::Float64: Base power (MVA) for per unitization, validation range: (0, nothing)
  • max_active_power::Float64: Maximum active power (MW) that this load can demand
  • max_reactive_power::Float64: Maximum reactive power (MVAR) that this load can demand
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get PowerLoad dynamic_injector.

source
diff --git a/dev/model_library/generated_RenewableDispatch/index.html b/dev/model_library/generated_RenewableDispatch/index.html index a59d3e43c7..b6bf1bf144 100644 --- a/dev/model_library/generated_RenewableDispatch/index.html +++ b/dev/model_library/generated_RenewableDispatch/index.html @@ -1,5 +1,5 @@ -RenewableDispatch · PowerSystems.jl

RenewableDispatch

PowerSystems.RenewableDispatchType
mutable struct RenewableDispatch <: RenewableGen
+RenewableDispatch · PowerSystems.jl

RenewableDispatch

PowerSystems.RenewableDispatchType
mutable struct RenewableDispatch <: RenewableGen
     name::String
     available::Bool
     bus::ACBus
@@ -9,53 +9,47 @@
     prime_mover_type::PrimeMovers
     reactive_power_limits::Union{Nothing, MinMax}
     power_factor::Float64
-    operation_cost::TwoPartCost
+    operation_cost::Union{RenewableGenerationCost, MarketBidCost}
     base_power::Float64
     services::Vector{Service}
     dynamic_injector::Union{Nothing, DynamicInjection}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • active_power::Float64
  • reactive_power::Float64
  • rating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923
  • reactive_power_limits::Union{Nothing, MinMax}
  • power_factor::Float64, validation range: (0, 1), action if invalid: error
  • operation_cost::TwoPartCost: Operation Cost of Generation TwoPartCost
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_dynamic_injectorMethod
get_dynamic_injector(
+end

A renewable (e.g., wind or solar) generator whose output can be curtailed to satisfy power system constraints.

These generators can also participate in reserves markets, including upwards reserves by proactively curtailing some available power (based on its max_active_power time series). Example uses include: a utility-scale wind or solar generator whose PPA allows curtailment. For non-curtailable or must-take renewables, see RenewableNonDispatch.

Renewable generators do not have a max_active_power parameter, which is instead calculated when calling get_max_active_power()

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used
  • reactive_power::Float64: Initial reactive power set point of the unit (MVAR)
  • rating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here
  • reactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable
  • power_factor::Float64:, validation range: (0, 1)
  • operation_cost::Union{RenewableGenerationCost, MarketBidCost}: Operating cost of generation
  • base_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set RenewableDispatch reactive_power_limits.

source
diff --git a/dev/model_library/generated_RenewableFix/index.html b/dev/model_library/generated_RenewableFix/index.html deleted file mode 100644 index a81b53e7ee..0000000000 --- a/dev/model_library/generated_RenewableFix/index.html +++ /dev/null @@ -1,45 +0,0 @@ - -RenewableFix · PowerSystems.jl

RenewableFix

PowerSystems.RenewableFixType
mutable struct RenewableFix <: RenewableGen
-    name::String
-    available::Bool
-    bus::ACBus
-    active_power::Float64
-    reactive_power::Float64
-    rating::Float64
-    prime_mover_type::PrimeMovers
-    power_factor::Float64
-    base_power::Float64
-    services::Vector{Service}
-    dynamic_injector::Union{Nothing, DynamicInjection}
-    ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
-    internal::InfrastructureSystemsInternal
-end

Data Structure for fixed renewable generation technologies.

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • active_power::Float64
  • reactive_power::Float64
  • rating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923
  • power_factor::Float64, validation range: (0, 1), action if invalid: error
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
diff --git a/dev/model_library/generated_RenewableNonDispatch/index.html b/dev/model_library/generated_RenewableNonDispatch/index.html new file mode 100644 index 0000000000..f87ae7e6f1 --- /dev/null +++ b/dev/model_library/generated_RenewableNonDispatch/index.html @@ -0,0 +1,45 @@ + +RenewableNonDispatch · PowerSystems.jl

RenewableNonDispatch

PowerSystems.RenewableNonDispatchType
mutable struct RenewableNonDispatch <: RenewableGen
+    name::String
+    available::Bool
+    bus::ACBus
+    active_power::Float64
+    reactive_power::Float64
+    rating::Float64
+    prime_mover_type::PrimeMovers
+    power_factor::Float64
+    base_power::Float64
+    services::Vector{Service}
+    dynamic_injector::Union{Nothing, DynamicInjection}
+    ext::Dict{String, Any}
+    internal::InfrastructureSystemsInternal
+end

A non-dispatchable (i.e., non-curtailable or must-take) renewable generator.

Its output is equal to its max_active_power time series by default. Example use: an aggregation of behind-the-meter distributed energy resources like rooftop solar. For curtailable or downward dispatachable generation, see RenewableDispatch.

Renewable generators do not have a max_active_power parameter, which is instead calculated when calling get_max_active_power()

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used
  • reactive_power::Float64: Initial reactive power set point of the unit (MVAR)
  • rating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here
  • power_factor::Float64:, validation range: (0, 1)
  • base_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_Shaft/index.html b/dev/model_library/generated_Shaft/index.html index 7bfe72aaa7..0c84edb4c9 100644 --- a/dev/model_library/generated_Shaft/index.html +++ b/dev/model_library/generated_Shaft/index.html @@ -1,5 +1,5 @@ -Shaft · PowerSystems.jl

Shaft

FiveMassShaft

PowerSystems.FiveMassShaftType
mutable struct FiveMassShaft <: Shaft
+Shaft · PowerSystems.jl

Shaft

FiveMassShaft

PowerSystems.FiveMassShaftType
mutable struct FiveMassShaft <: Shaft
     H::Float64
     H_hp::Float64
     H_ip::Float64
@@ -22,7 +22,7 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of 5 mass-spring shaft model. It contains a High-Pressure (HP) steam turbine, Intermediate-Pressure (IP) steam turbine, Low-Pressure (LP) steam turbine, the Rotor and an Exciter (EX) mover.

Arguments

  • H::Float64: Rotor inertia constant in MWs/MVA, validation range: (0, nothing)
  • H_hp::Float64: High pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)
  • H_ip::Float64: Intermediate pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)
  • H_lp::Float64: Low pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)
  • H_ex::Float64: Exciter inertia constant in MWs/MVA, validation range: (0, nothing)
  • D::Float64: Rotor natural damping in pu, validation range: (0, nothing)
  • D_hp::Float64: High pressure turbine natural damping in pu, validation range: (0, nothing)
  • D_ip::Float64: Intermediate pressure turbine natural damping in pu, validation range: (0, nothing)
  • D_lp::Float64: Low pressure turbine natural damping in pu, validation range: (0, nothing)
  • D_ex::Float64: Exciter natural damping in pu, validation range: (0, nothing)
  • D_12::Float64: High-Intermediate pressure turbine damping, validation range: (0, nothing)
  • D_23::Float64: Intermediate-Low pressure turbine damping, validation range: (0, nothing)
  • D_34::Float64: Low pressure turbine-Rotor damping, validation range: (0, nothing)
  • D_45::Float64: Rotor-Exciter damping, validation range: (0, nothing)
  • K_hp::Float64: High pressure turbine angle coefficient, validation range: (0, nothing)
  • K_ip::Float64: Intermediate pressure turbine angle coefficient, validation range: (0, nothing)
  • K_lp::Float64: Low pressure turbine angle coefficient, validation range: (0, nothing)
  • K_ex::Float64: Exciter angle coefficient, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
δ: rotor angle,
+end

Parameters of 5 mass-spring shaft model. It contains a High-Pressure (HP) steam turbine, Intermediate-Pressure (IP) steam turbine, Low-Pressure (LP) steam turbine, the Rotor and an Exciter (EX) mover

Arguments

  • H::Float64: Rotor inertia constant in MWs/MVA, validation range: (0, nothing)
  • H_hp::Float64: High pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)
  • H_ip::Float64: Intermediate pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)
  • H_lp::Float64: Low pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)
  • H_ex::Float64: Exciter inertia constant in MWs/MVA, validation range: (0, nothing)
  • D::Float64: Rotor natural damping in pu, validation range: (0, nothing)
  • D_hp::Float64: High pressure turbine natural damping in pu, validation range: (0, nothing)
  • D_ip::Float64: Intermediate pressure turbine natural damping in pu, validation range: (0, nothing)
  • D_lp::Float64: Low pressure turbine natural damping in pu, validation range: (0, nothing)
  • D_ex::Float64: Exciter natural damping in pu, validation range: (0, nothing)
  • D_12::Float64: High-Intermediate pressure turbine damping, validation range: (0, nothing)
  • D_23::Float64: Intermediate-Low pressure turbine damping, validation range: (0, nothing)
  • D_34::Float64: Low pressure turbine-Rotor damping, validation range: (0, nothing)
  • D_45::Float64: Rotor-Exciter damping, validation range: (0, nothing)
  • K_hp::Float64: High pressure turbine angle coefficient, validation range: (0, nothing)
  • K_ip::Float64: Intermediate pressure turbine angle coefficient, validation range: (0, nothing)
  • K_lp::Float64: Low pressure turbine angle coefficient, validation range: (0, nothing)
  • K_ex::Float64: Exciter angle coefficient, 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
δ: rotor angle,
 ω: rotor speed,
 δ_hp: rotor angle of high pressure turbine,
 ω_hp: rotor speed of high pressure turbine,
@@ -31,60 +31,60 @@
 δ_lp: rotor angle of low pressure turbine,
 ω_lp: rotor speed of low pressure turbine,
 δ_ex: rotor angle of exciter,
-ω_lp: rotor speed of exciter
  • n_states::Int: FiveMassShaft has 10 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

SingleMass

PowerSystems.SingleMassType
mutable struct SingleMass <: Shaft
+ω_lp: rotor speed of exciter
  • n_states::Int: (Do not modify.) FiveMassShaft has 10 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SingleMass

PowerSystems.SingleMassType
mutable struct SingleMass <: Shaft
     H::Float64
     D::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of single mass shaft model. Typically represents the rotor mass.

Arguments

  • H::Float64: Rotor inertia constant in MWs/MVA, validation range: (0, nothing)
  • D::Float64: Rotor natural damping in pu, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states are:
δ: rotor angle,
-ω: rotor speed
  • n_states::Int: SingleMass has 1 state
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+end

Parameters of single mass shaft model. Typically represents the rotor mass

Arguments

  • H::Float64: Rotor inertia constant in MWs/MVA, validation range: (0, nothing)
  • D::Float64: Rotor natural damping in 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states are:
δ: rotor angle,
+ω: rotor speed
  • n_states::Int: (Do not modify.) SingleMass has 1 state
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_Source/index.html b/dev/model_library/generated_Source/index.html index 3996df9e0c..11a612a5d9 100644 --- a/dev/model_library/generated_Source/index.html +++ b/dev/model_library/generated_Source/index.html @@ -1,5 +1,5 @@ -Source · PowerSystems.jl

Source

PowerSystems.SourceType
mutable struct Source <: StaticInjection
+Source · PowerSystems.jl

Source

PowerSystems.SourceType
mutable struct Source <: StaticInjection
     name::String
     available::Bool
     bus::ACBus
@@ -13,28 +13,28 @@
     services::Vector{Service}
     ext::Dict{String, Any}
     internal::InfrastructureSystemsInternal
-end

This struct acts as an infinity bus.

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • active_power::Float64
  • reactive_power::Float64
  • R_th::Float64: Source Thevenin resistance, validation range: (0, nothing)
  • X_th::Float64: Source Thevenin reactance, validation range: (0, nothing)
  • internal_voltage::Float64: Internal Voltage, validation range: (0, nothing)
  • internal_angle::Float64: Internal Angle
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_dynamic_injectorMethod
get_dynamic_injector(
+end

An infinite bus with a constant voltage output.

Commonly used in dynamics simulations to represent a very large machine on a single bus

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used
  • reactive_power::Float64: Initial reactive power set point of the unit (MVAR)
  • R_th::Float64: Source Thevenin resistance, validation range: (0, nothing)
  • X_th::Float64: Source Thevenin reactance, validation range: (0, nothing)
  • internal_voltage::Float64: (default: 1.0) Internal Voltage (pu), validation range: (0, nothing)
  • internal_angle::Float64: (default: 0.0) Internal Angle
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get Source dynamic_injector.

source
diff --git a/dev/model_library/generated_StandardLoad/index.html b/dev/model_library/generated_StandardLoad/index.html index ed8c246fa8..b1d5ee9082 100644 --- a/dev/model_library/generated_StandardLoad/index.html +++ b/dev/model_library/generated_StandardLoad/index.html @@ -1,5 +1,5 @@ -StandardLoad · PowerSystems.jl

StandardLoad

PowerSystems.StandardLoadType
mutable struct StandardLoad <: StaticLoad
+StandardLoad · PowerSystems.jl

StandardLoad

PowerSystems.StandardLoadType
mutable struct StandardLoad <: StaticLoad
     name::String
     available::Bool
     bus::ACBus
@@ -19,72 +19,67 @@
     services::Vector{Service}
     dynamic_injector::Union{Nothing, DynamicInjection}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Data structure for a standard load.

Arguments

  • name::String
  • available::Bool
  • bus::ACBus
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • constant_active_power::Float64
  • constant_reactive_power::Float64
  • impedance_active_power::Float64
  • impedance_reactive_power::Float64
  • current_active_power::Float64
  • current_reactive_power::Float64
  • max_constant_active_power::Float64
  • max_constant_reactive_power::Float64
  • max_impedance_active_power::Float64
  • max_impedance_reactive_power::Float64
  • max_current_active_power::Float64
  • max_current_reactive_power::Float64
  • services::Vector{Service}: Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_dynamic_injectorMethod
get_dynamic_injector(
+end

A voltage-dependent ZIP load, most commonly used for dynamics modeling.

A StandardLoad breaks the ZIP into three pieces: Z (constant impedance), I (constant current), and P (constant power), according to P = P_P * V^0 + P_I * V^1 + P_Z * V^2 for active power and Q = Q_P * V^0 + Q_I * V^1 + Q_Z * V^2 for reactive power. (Voltage V is in per unit.)

For an alternative exponential formulation of the ZIP model, see ExponentialLoad. For a simpler load model with no voltage dependency, see PowerLoad

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • base_power::Float64: Base power of the load (MVA) for per unitization, validation range: (0, nothing)
  • constant_active_power::Float64: (default: 0.0) Constant active power demand in MW (P_P)
  • constant_reactive_power::Float64: (default: 0.0) Constant reactive power demand in MVAR (Q_P)
  • impedance_active_power::Float64: (default: 0.0) Active power coefficient in MW for constant impedance load (P_Z)
  • impedance_reactive_power::Float64: (default: 0.0) Reactive power coefficient in MVAR for constant impedance load (Q_Z)
  • current_active_power::Float64: (default: 0.0) Active power coefficient in MW for constant current load (P_I)
  • current_reactive_power::Float64: (default: 0.0) Reactive power coefficient in MVAR for constant current load (Q_I)
  • max_constant_active_power::Float64: (default: 0.0) Maximum active power (MW) drawn by constant power load
  • max_constant_reactive_power::Float64: (default: 0.0) Maximum reactive power (MVAR) drawn by constant power load
  • max_impedance_active_power::Float64: (default: 0.0) Maximum active power (MW) drawn by constant impedance load
  • max_impedance_reactive_power::Float64: (default: 0.0) Maximum reactive power (MVAR) drawn by constant impedance load
  • max_current_active_power::Float64: (default: 0.0) Maximum active power (MW) drawn by constant current load
  • max_current_reactive_power::Float64: (default: 0.0) Maximum reactive power (MVAR) drawn by constant current load
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set StandardLoad max_impedance_reactive_power.

source
diff --git a/dev/model_library/generated_StaticReserveNonSpinning/index.html b/dev/model_library/generated_StaticReserveNonSpinning/index.html deleted file mode 100644 index ed0ab1c68f..0000000000 --- a/dev/model_library/generated_StaticReserveNonSpinning/index.html +++ /dev/null @@ -1,55 +0,0 @@ - -StaticReserveNonSpinning · PowerSystems.jl

StaticReserveNonSpinning

PowerSystems.StaticReserveNonSpinningType
mutable struct StaticReserveNonSpinning <: ReserveNonSpinning
-    name::String
-    available::Bool
-    time_frame::Float64
-    requirement::Float64
-    sustained_time::Float64
-    max_output_fraction::Float64
-    max_participation_factor::Float64
-    deployed_fraction::Float64
-    ext::Dict{String, Any}
-    internal::InfrastructureSystemsInternal
-end

Data Structure for a non-spinning reserve product for system simulations.

Arguments

  • name::String
  • available::Bool
  • time_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing), action if invalid: error
  • requirement::Float64: the static value of required reserves in system p.u., validation range: (0, nothing), action if invalid: error
  • sustained_time::Float64: the time in secounds reserve contribution must sustained at a specified level, validation range: (0, nothing), action if invalid: error
  • max_output_fraction::Float64: the maximum fraction of the device's output that can be assigned to the service, validation range: (0, 1), action if invalid: error
  • max_participation_factor::Float64: the maximum limit of reserve contribution per device, validation range: (0, 1), action if invalid: error
  • deployed_fraction::Float64: Fraction of ancillary services participation deployed from the assignment, validation range: (0, 1), action if invalid: error
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
diff --git a/dev/model_library/generated_StorageManagementCost/index.html b/dev/model_library/generated_StorageManagementCost/index.html deleted file mode 100644 index 12441ef31e..0000000000 --- a/dev/model_library/generated_StorageManagementCost/index.html +++ /dev/null @@ -1,31 +0,0 @@ - -StorageManagementCost · PowerSystems.jl

StorageManagementCost

PowerSystems.StorageManagementCostType
mutable struct StorageManagementCost <: OperationalCost
-    variable::VariableCost
-    fixed::Float64
-    start_up::Float64
-    shut_down::Float64
-    energy_shortage_cost::Float64
-    energy_surplus_cost::Float64
-end

Data Structure for Operational Cost Data like variable cost and start - stop costs and energy storage cost.

Arguments

  • variable::VariableCost: variable cost
  • fixed::Float64: fixed cost
  • start_up::Float64: start-up cost, validation range: (0, nothing), action if invalid: warn
  • shut_down::Float64: shut-down cost, validation range: (0, nothing), action if invalid: warn
  • energy_shortage_cost::Float64: Cost incurred by the model for being short of the energy target., validation range: (0, nothing), action if invalid: warn
  • energy_surplus_cost::Float64: Cost incurred by the model for surplus energy stored., validation range: (0, nothing), action if invalid: warn
source
diff --git a/dev/model_library/generated_SwitchedAdmittance/index.html b/dev/model_library/generated_SwitchedAdmittance/index.html index d8ac70264e..da94c40aa1 100644 --- a/dev/model_library/generated_SwitchedAdmittance/index.html +++ b/dev/model_library/generated_SwitchedAdmittance/index.html @@ -1,49 +1,31 @@ -SwitchedAdmittance · PowerSystems.jl

SwitchedAdmittance

PowerSystems.get_dynamic_injectorMethod
get_dynamic_injector(
-    value::PowerSystems.SwitchedAdmittance
+SwitchedAdmittance · PowerSystems.jl

SwitchedAdmittance

PowerSystems.SwitchedAdmittanceType
mutable struct SwitchedAdmittance <: ElectricLoad
+    name::String
+    available::Bool
+    bus::ACBus
+    Y::Complex{Float64}
+    number_of_steps::Int
+    Y_increase::Complex{Float64}
+    dynamic_injector::Union{Nothing, DynamicInjection}
+    services::Vector{Service}
+    ext::Dict{String, Any}
+    internal::InfrastructureSystemsInternal
+end

A switched admittance, with discrete steps to adjust the admittance.

Most often used in power flow studies, iterating over the steps to see impacts of admittance on the results. Total admittance is calculated as: Y + number_of_steps * Y_increase

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • bus::ACBus: Bus that this component is connected to
  • Y::Complex{Float64}: Initial admittance at N = 0
  • number_of_steps::Int: (default: 0) Number of steps for adjustable shunt
  • Y_increase::Complex{Float64}: (default: 0) Admittance increment for each of step increase
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection model for admittance
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get SwitchedAdmittance dynamic_injector.

source
diff --git a/dev/model_library/generated_TModelHVDCLine/index.html b/dev/model_library/generated_TModelHVDCLine/index.html index c1696c3d79..ca74561bc1 100644 --- a/dev/model_library/generated_TModelHVDCLine/index.html +++ b/dev/model_library/generated_TModelHVDCLine/index.html @@ -1,5 +1,5 @@ -TModelHVDCLine · PowerSystems.jl

TModelHVDCLine

PowerSystems.TModelHVDCLineType
mutable struct TModelHVDCLine <: DCBranch
+TModelHVDCLine · PowerSystems.jl

TModelHVDCLine

PowerSystems.TModelHVDCLineType
mutable struct TModelHVDCLine <: DCBranch
     name::String
     available::Bool
     active_power_flow::Float64
@@ -12,35 +12,35 @@
     services::Vector{Service}
     ext::Dict{String, Any}
     internal::InfrastructureSystemsInternal
-end

a HVDC T-Model DC line.

Arguments

  • name::String
  • available::Bool
  • active_power_flow::Float64
  • arc::Arc
  • r::Float64: Series Resistance system per-unit value
  • l::Float64: Series Inductance system per-unit value
  • c::Float64: Shunt capacitance system per-unit value
  • active_power_limits_from::MinMax
  • active_power_limits_to::MinMax
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_active_power_limits_fromMethod
get_active_power_limits_from(
+end

A High Voltage DC transmission line for modeling DC transmission networks.

This line must be connected to a DCBus on each end. It uses a T-Model of the line impedance. This is suitable for operational simulations with a multi-terminal DC network

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • active_power_flow::Float64: Initial condition of active power flow on the line (MW)
  • arc::Arc: An Arc defining this line from a bus to another bus
  • r::Float64: Total series Resistance in p.u. (SYSTEM_BASE), split equally on both sides of the shunt capacitance
  • l::Float64: Total series Inductance in p.u. (SYSTEM_BASE), split equally on both sides of the shunt capacitance
  • c::Float64: Shunt capacitance in p.u. (SYSTEM_BASE)
  • active_power_limits_from::MinMax: Minimum and maximum active power flows to the FROM node (MW)
  • active_power_limits_to::MinMax: Minimum and maximum active power flows to the TO node (MW)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set TModelHVDCLine active_power_limits_to.

source
diff --git a/dev/model_library/generated_TapTransformer/index.html b/dev/model_library/generated_TapTransformer/index.html index f81390ab9b..e9bb20b772 100644 --- a/dev/model_library/generated_TapTransformer/index.html +++ b/dev/model_library/generated_TapTransformer/index.html @@ -1,5 +1,5 @@ -TapTransformer · PowerSystems.jl

TapTransformer

PowerSystems.TapTransformerType
mutable struct TapTransformer <: ACBranch
+TapTransformer · PowerSystems.jl

TapTransformer

PowerSystems.TapTransformerType
mutable struct TapTransformer <: ACBranch
     name::String
     available::Bool
     active_power_flow::Float64
@@ -9,39 +9,31 @@
     x::Float64
     primary_shunt::Float64
     tap::Float64
-    rate::Union{Nothing, Float64}
+    rating::Union{Nothing, Float64}
     services::Vector{Service}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • active_power_flow::Float64
  • reactive_power_flow::Float64
  • arc::Arc
  • r::Float64: System per-unit value, validation range: (-2, 2), action if invalid: warn
  • x::Float64: System per-unit value, validation range: (-2, 4), action if invalid: warn
  • primary_shunt::Float64: System per-unit value, validation range: (0, 2), action if invalid: warn
  • tap::Float64, validation range: (0, 2), action if invalid: error
  • rate::Union{Nothing, Float64}, validation range: (0, nothing), action if invalid: error
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+end

A 2-winding transformer, with a tap changer for variable turns ratio.

The model uses an equivalent circuit assuming the impedance is on the High Voltage Side of the transformer. The model allocates the iron losses and magnetizing susceptance to the primary side

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • active_power_flow::Float64: Initial condition of active power flow through the transformer (MW)
  • reactive_power_flow::Float64: Initial condition of reactive power flow through the transformer (MVAR)
  • arc::Arc: An Arc defining this transformer from a bus to another bus
  • r::Float64: Resistance in p.u. (SYSTEM_BASE), validation range: (-2, 2)
  • x::Float64: Reactance in p.u. (SYSTEM_BASE), validation range: (-2, 4)
  • primary_shunt::Float64: Shunt reactance in p.u. (SYSTEM_BASE), validation range: (0, 2)
  • tap::Float64: Normalized tap changer position for voltage control, varying between 0 and 2, with 1 centered at the nominal voltage, validation range: (0, 2)
  • rating::Union{Nothing, Float64}: Thermal rating (MVA). Flow through the transformer must be between -rating and rating, validation range: (0, nothing)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_ThermalMultiStart/index.html b/dev/model_library/generated_ThermalMultiStart/index.html index 0654885d3d..dfdaabfe68 100644 --- a/dev/model_library/generated_ThermalMultiStart/index.html +++ b/dev/model_library/generated_ThermalMultiStart/index.html @@ -1,5 +1,5 @@ -ThermalMultiStart · PowerSystems.jl

ThermalMultiStart

PowerSystems.ThermalMultiStartType
mutable struct ThermalMultiStart <: ThermalGen
+ThermalMultiStart · PowerSystems.jl

ThermalMultiStart

PowerSystems.ThermalMultiStartType
mutable struct ThermalMultiStart <: ThermalGen
     name::String
     available::Bool
     status::Bool
@@ -14,90 +14,82 @@
     ramp_limits::Union{Nothing, UpDown}
     power_trajectory::Union{Nothing, StartUpShutDown}
     time_limits::Union{Nothing, UpDown}
-    start_time_limits::Union{Nothing, NamedTuple{(:hot, :warm, :cold), Tuple{Float64, Float64, Float64}}}
+    start_time_limits::Union{Nothing, StartUpStages}
     start_types::Int
-    operation_cost::OperationalCost
+    operation_cost::Union{ThermalGenerationCost, MarketBidCost}
     base_power::Float64
     services::Vector{Service}
     time_at_status::Float64
     must_run::Bool
     dynamic_injector::Union{Nothing, DynamicInjection}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Data Structure for thermal generation technologies.

Arguments

  • name::String
  • available::Bool
  • status::Bool
  • bus::ACBus
  • active_power::Float64, validation range: active_power_limits, action if invalid: warn
  • reactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn
  • rating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923
  • fuel::ThermalFuels: Prime mover fuel according to EIA 923
  • active_power_limits::MinMax
  • reactive_power_limits::Union{Nothing, MinMax}
  • ramp_limits::Union{Nothing, UpDown}, validation range: (0, nothing), action if invalid: error
  • power_trajectory::Union{Nothing, StartUpShutDown}: Power trajectory the unit will take during the start-up and shut-down ramp process, validation range: (0, nothing), action if invalid: error
  • time_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing), action if invalid: error
  • start_time_limits::Union{Nothing, NamedTuple{(:hot, :warm, :cold), Tuple{Float64, Float64, Float64}}}: Time limits for start-up based on turbine temperature in hours
  • start_types::Int: Number of start-up based on turbine temperature, validation range: (1, 3), action if invalid: error
  • operation_cost::OperationalCost
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • services::Vector{Service}: Services that this device contributes to
  • time_at_status::Float64
  • must_run::Bool
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_active_power_limitsMethod
get_active_power_limits(
+end

A thermal generator, such as a fossil fuel or nuclear generator, that can start-up again from a hot, warm, or cold state.

ThermalMultiStart has a detailed representation of the start-up process based on the time elapsed since the last shut down, as well as a detailed shut-down process. The model is based on "Tight and Compact MILP Formulation for the Thermal Unit Commitment Problem.". For a simplified representation of the start-up and shut-down processes, see ThermalStandard

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • status::Bool: Initial commitment condition at the start of a simulation (true = on or false = off)
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used, validation range: active_power_limits
  • reactive_power::Float64: Initial reactive power set point of the unit (MVAR), validation range: reactive_power_limits
  • rating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here
  • fuel::ThermalFuels: Prime mover fuel according to EIA 923. Options are listed here
  • active_power_limits::MinMax: Minimum and maximum stable active power levels (MW)
  • reactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable
  • ramp_limits::Union{Nothing, UpDown}:, validation range: (0, nothing)
  • power_trajectory::Union{Nothing, StartUpShutDown}: Power trajectory the unit will take during the start-up and shut-down ramp process, validation range: (0, nothing)
  • time_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing)
  • start_time_limits::Union{Nothing, StartUpStages}: Time limits for start-up based on turbine temperature in hours
  • start_types::Int: Number of start-up based on turbine temperature, where 1 = hot, 2 = warm, and 3 = cold, validation range: (1, 3)
  • operation_cost::Union{ThermalGenerationCost, MarketBidCost}: Operating cost of generation
  • base_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • time_at_status::Float64: (default: INFINITE_TIME) Time (e.g., Hours(6)) the generator has been on or off, as indicated by status
  • must_run::Bool: (default: false) Set to true if the unit is must run
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set ThermalMultiStart reactive_power_limits.

source
diff --git a/dev/model_library/generated_ThermalStandard/index.html b/dev/model_library/generated_ThermalStandard/index.html index d5f09e3c88..db4625500f 100644 --- a/dev/model_library/generated_ThermalStandard/index.html +++ b/dev/model_library/generated_ThermalStandard/index.html @@ -1,5 +1,5 @@ -ThermalStandard · PowerSystems.jl

ThermalStandard

PowerSystems.ThermalStandardType
mutable struct ThermalStandard <: ThermalGen
+ThermalStandard · PowerSystems.jl

ThermalStandard

PowerSystems.ThermalStandardType
mutable struct ThermalStandard <: ThermalGen
     name::String
     available::Bool
     status::Bool
@@ -10,7 +10,7 @@
     active_power_limits::MinMax
     reactive_power_limits::Union{Nothing, MinMax}
     ramp_limits::Union{Nothing, UpDown}
-    operation_cost::OperationalCost
+    operation_cost::Union{ThermalGenerationCost, MarketBidCost}
     base_power::Float64
     time_limits::Union{Nothing, UpDown}
     must_run::Bool
@@ -20,66 +20,58 @@
     time_at_status::Float64
     dynamic_injector::Union{Nothing, DynamicInjection}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Data Structure for thermal generation technologies.

Arguments

  • name::String
  • available::Bool
  • status::Bool
  • bus::ACBus
  • active_power::Float64, validation range: active_power_limits, action if invalid: warn
  • reactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn
  • rating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error
  • active_power_limits::MinMax, validation range: (0, nothing), action if invalid: warn
  • reactive_power_limits::Union{Nothing, MinMax}
  • ramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW (in component base per unit) per minute, validation range: (0, nothing), action if invalid: error
  • operation_cost::OperationalCost
  • base_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn
  • time_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing), action if invalid: error
  • must_run::Bool
  • prime_mover_type::PrimeMovers: Prime mover technology according to EIA 923
  • fuel::ThermalFuels: Prime mover fuel according to EIA 923
  • services::Vector{Service}: Services that this device contributes to
  • time_at_status::Float64
  • dynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_active_power_limitsMethod
get_active_power_limits(
+end

A thermal generator, such as a fossil fuel and nuclear generator.

This is a standard representation with options to include a minimum up time, minimum down time, and ramp limits. For a more detailed representation the start-up and shut-down processes, including hot starts, see ThermalMultiStart

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • status::Bool: Initial commitment condition at the start of a simulation (true = on or false = off)
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used, validation range: active_power_limits
  • reactive_power::Float64: Initial reactive power set point of the unit (MVAR), validation range: reactive_power_limits
  • rating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)
  • active_power_limits::MinMax: Minimum and maximum stable active power levels (MW), validation range: (0, nothing)
  • reactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable
  • ramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min, validation range: (0, nothing)
  • operation_cost::Union{ThermalGenerationCost, MarketBidCost}: Operating cost of generation
  • base_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)
  • time_limits::Union{Nothing, UpDown}: (default: nothing) Minimum up and Minimum down time limits in hours, validation range: (0, nothing)
  • must_run::Bool: (default: false) Set to true if the unit is must run
  • prime_mover_type::PrimeMovers: (default: PrimeMovers.OT) Prime mover technology according to EIA 923. Options are listed here
  • fuel::ThermalFuels: (default: ThermalFuels.OTHER) Prime mover fuel according to EIA 923. Options are listed here
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • time_at_status::Float64: (default: INFINITE_TIME) Time (e.g., Hours(6)) the generator has been on or off, as indicated by status
  • dynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set ThermalStandard reactive_power_limits.

source
diff --git a/dev/model_library/generated_ThreePartCost/index.html b/dev/model_library/generated_ThreePartCost/index.html deleted file mode 100644 index 4877af6c8f..0000000000 --- a/dev/model_library/generated_ThreePartCost/index.html +++ /dev/null @@ -1,15 +0,0 @@ - -ThreePartCost · PowerSystems.jl

ThreePartCost

PowerSystems.ThreePartCostType
mutable struct ThreePartCost <: OperationalCost
-    variable::VariableCost
-    fixed::Float64
-    start_up::Float64
-    shut_down::Float64
-end

Data Structure Operational Cost Data in Three parts fixed, variable cost and start - stop costs.

Arguments

  • variable::VariableCost: variable cost
  • fixed::Float64: fixed cost
  • start_up::Float64: start-up cost, validation range: (0, nothing), action if invalid: warn
  • shut_down::Float64: shut-down cost, validation range: (0, nothing), action if invalid: warn
source
diff --git a/dev/model_library/generated_Transfer/index.html b/dev/model_library/generated_Transfer/index.html deleted file mode 100644 index d51dfc887a..0000000000 --- a/dev/model_library/generated_Transfer/index.html +++ /dev/null @@ -1,20 +0,0 @@ - -Transfer · PowerSystems.jl

Transfer

PowerSystems.TransferType
mutable struct Transfer <: Service
-    name::String
-    available::Bool
-    requirement::Float64
-    ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
-    internal::InfrastructureSystemsInternal
-end

Arguments

  • name::String
  • available::Bool
  • requirement::Float64
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
diff --git a/dev/model_library/generated_Transformer2W/index.html b/dev/model_library/generated_Transformer2W/index.html index f2be12973f..f8a72bfc41 100644 --- a/dev/model_library/generated_Transformer2W/index.html +++ b/dev/model_library/generated_Transformer2W/index.html @@ -1,5 +1,5 @@ -Transformer2W · PowerSystems.jl

Transformer2W

PowerSystems.Transformer2WType
mutable struct Transformer2W <: ACBranch
+Transformer2W · PowerSystems.jl

Transformer2W

PowerSystems.Transformer2WType
mutable struct Transformer2W <: ACBranch
     name::String
     available::Bool
     active_power_flow::Float64
@@ -8,34 +8,29 @@
     r::Float64
     x::Float64
     primary_shunt::Float64
-    rate::Union{Nothing, Float64}
+    rating::Union{Nothing, Float64}
     services::Vector{Service}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

The 2-W transformer model uses an equivalent circuit assuming the impedance is on the High Voltage Side of the transformer. The model allocates the iron losses and magnetizing susceptance to the primary side.

Arguments

  • name::String
  • available::Bool
  • active_power_flow::Float64
  • reactive_power_flow::Float64
  • arc::Arc
  • r::Float64: System per-unit value, validation range: (-2, 4), action if invalid: warn
  • x::Float64: System per-unit value, validation range: (-2, 4), action if invalid: warn
  • primary_shunt::Float64: System per-unit value, validation range: (0, 2), action if invalid: warn
  • rate::Union{Nothing, Float64}, validation range: (0, nothing), action if invalid: error
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
+end

A basic 2-winding transformer.

The model uses an equivalent circuit assuming the impedance is on the High Voltage Side of the transformer. The model allocates the iron losses and magnetizing susceptance to the primary side

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • active_power_flow::Float64: Initial condition of active power flow through the transformer (MW)
  • reactive_power_flow::Float64: Initial condition of reactive power flow through the transformer (MVAR)
  • arc::Arc: An Arc defining this transformer from a bus to another bus
  • r::Float64: Resistance in pu (SYSTEM_BASE), validation range: (-2, 4)
  • x::Float64: Reactance in pu (SYSTEM_BASE), validation range: (-2, 4)
  • primary_shunt::Float64: Shunt reactance in pu (SYSTEM_BASE), validation range: (0, 2)
  • rating::Union{Nothing, Float64}: Thermal rating (MVA). Flow through the transformer must be between -rating and rating, validation range: (0, nothing)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
diff --git a/dev/model_library/generated_TransmissionInterface/index.html b/dev/model_library/generated_TransmissionInterface/index.html index 2dc242835e..5f9b34c176 100644 --- a/dev/model_library/generated_TransmissionInterface/index.html +++ b/dev/model_library/generated_TransmissionInterface/index.html @@ -1,41 +1,33 @@ -TransmissionInterface · PowerSystems.jl

TransmissionInterface

PowerSystems.TransmissionInterfaceType
mutable struct TransmissionInterface <: Service
+TransmissionInterface · PowerSystems.jl

TransmissionInterface

PowerSystems.TransmissionInterfaceType
mutable struct TransmissionInterface <: Service
     name::String
     available::Bool
     active_power_flow_limits::MinMax
     violation_penalty::Float64
     direction_mapping::Dict{String, Int}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

A collection of branches that make up an interface or corridor for the transfer of power.

Arguments

  • name::String
  • available::Bool
  • active_power_flow_limits::MinMax
  • violation_penalty::Float64: Penalty for violating the flow limits in the interface
  • direction_mapping::Dict{String, Int}: Map to set of multiplier to the flow in the line for cases when the line has a reverse direction with respect to the interface
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_active_power_flow_limitsMethod
get_active_power_flow_limits(
+end

A collection of branches that make up an interface or corridor for the transfer of power, such as between different Areas or LoadZones.

The interface can be used to constrain the power flow across it

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • active_power_flow_limits::MinMax: Minimum and maximum active power flow limits on the interface (MW)
  • violation_penalty::Float64: (default: INFINITE_COST) Penalty cost for violating the flow limits in the interface
  • direction_mapping::Dict{String, Int}: (default: Dict{String, Int}()) Dictionary of the line names in the interface and their direction of flow (1 or -1) relative to the flow of the interface
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set TransmissionInterface violation_penalty.

source
diff --git a/dev/model_library/generated_TurbineGov/index.html b/dev/model_library/generated_TurbineGov/index.html index 00d0602daa..dd58579832 100644 --- a/dev/model_library/generated_TurbineGov/index.html +++ b/dev/model_library/generated_TurbineGov/index.html @@ -1,5 +1,5 @@ -TurbineGov · PowerSystems.jl

TurbineGov

DEGOV

PowerSystems.DEGOVType
mutable struct DEGOV <: TurbineGov
+TurbineGov · PowerSystems.jl

TurbineGov

DEGOV

PowerSystems.DEGOVType
mutable struct DEGOV <: TurbineGov
     T1::Float64
     T2::Float64
     T3::Float64
@@ -14,35 +14,35 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Parameters Woodward Diesel Governor Model. DEGOV in PowerWorld.

Arguments

  • T1::Float64: Governor mechanism time constant, validation range: (eps(), 100)
  • T2::Float64: Turbine power time constant, validation range: (eps(), 100)
  • T3::Float64: Turbine exhaust temperature time constant, validation range: (eps(), 100)
  • K::Float64: Governor gain (reciprocal of droop), validation range: (eps(), 100)
  • T4::Float64: Governor lead time constant, validation range: (eps(), 100)
  • T5::Float64: Governor lag time constant, validation range: (eps(), 100)
  • T6::Float64: Actuator time constant, validation range: (eps(), 100)
  • Td::Float64: Engine time delay, validation range: (eps(), 100)
  • P_ref::Float64: Reference Load Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the DEGOV model are:
x_ecb1: Electric control box 1,
+end

Parameters Woodward Diesel Governor Model. DEGOV in PowerWorld

Arguments

  • T1::Float64: Governor mechanism time constant, validation range: (eps(), 100)
  • T2::Float64: Turbine power time constant, validation range: (eps(), 100)
  • T3::Float64: Turbine exhaust temperature time constant, validation range: (eps(), 100)
  • K::Float64: Governor gain (reciprocal of droop), validation range: (eps(), 100)
  • T4::Float64: Governor lead time constant, validation range: (eps(), 100)
  • T5::Float64: Governor lag time constant, validation range: (eps(), 100)
  • T6::Float64: Actuator time constant, validation range: (eps(), 100)
  • Td::Float64: Engine time delay, validation range: (eps(), 100)
  • P_ref::Float64: (default: 1.0) Reference Load 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the DEGOV model are:
x_ecb1: Electric control box 1,
 x_ecb2: Electric control box 2,
 x_a1: Actuator 1,
 x_a2: Actuator 2,
-x_a3: Actuator 3,
  • n_states::Int: DEGOV has 5 states
  • states_types::Vector{StateTypes}: DEGOV has 5 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

GasTG

PowerSystems.GasTGType
mutable struct GasTG <: TurbineGov
+x_a3: Actuator 3,
  • n_states::Int: (Do not modify.) DEGOV has 5 states
  • states_types::Vector{StateTypes}: (Do not modify.) DEGOV has 5 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

GasTG

PowerSystems.GasTGType
mutable struct GasTG <: TurbineGov
     R::Float64
     T1::Float64
     T2::Float64
@@ -57,33 +57,33 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Parameters of Gas Turbine-Governor. GAST in PSSE and GAST_PTI in PowerWorld.

Arguments

  • R::Float64: Speed droop parameter, validation range: (eps(), 0.1)
  • T1::Float64: Governor time constant in s, validation range: (eps(), 0.5)
  • T2::Float64: Combustion chamber time constant, validation range: (eps(), 0.5)
  • T3::Float64: Load limit time constant (exhaust gas measurement time), validation range: (eps(), 5)
  • AT::Float64: Ambient temperature load limit, validation range: (0, 1)
  • Kt::Float64: Load limit feedback gain, validation range: (0, 5)
  • V_lim::Tuple{Float64, Float64}: Operational control limits on fuel valve opening (Vmin, Vmax)
  • D_turb::Float64: Speed damping coefficient of gas turbine rotor, validation range: (0, 0.5)
  • P_ref::Float64: Reference Load Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the GAST model are:
x_g1: Fuel valve opening,
+end

Parameters of Gas Turbine-Governor. GAST in PSSE and GAST_PTI in PowerWorld

Arguments

  • R::Float64: Speed droop parameter, validation range: (eps(), 0.1)
  • T1::Float64: Governor time constant in s, validation range: (eps(), 0.5)
  • T2::Float64: Combustion chamber time constant, validation range: (eps(), 0.5)
  • T3::Float64: Load limit time constant (exhaust gas measurement time), validation range: (eps(), 5)
  • AT::Float64: Ambient temperature load limit, validation range: (0, 1)
  • Kt::Float64: Load limit feedback gain, validation range: (0, 5)
  • V_lim::Tuple{Float64, Float64}: Operational control limits on fuel valve opening (Vmin, Vmax)
  • D_turb::Float64: Speed damping coefficient of gas turbine rotor, validation range: (0, 0.5)
  • P_ref::Float64: (default: 1.0) Reference Load 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the GAST model are:
x_g1: Fuel valve opening,
 x_g2: Fuel flow,
-x_g3: Exhaust temperature load
  • n_states::Int: GasTG has 3 states
  • states_types::Vector{StateTypes}: GAST has 3 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

GeneralGovModel

PowerSystems.GeneralGovModelType
mutable struct GeneralGovModel <: TurbineGov
+x_g3: Exhaust temperature load
  • n_states::Int: (Do not modify.) GasTG has 3 states
  • states_types::Vector{StateTypes}: (Do not modify.) GAST has 3 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

GeneralGovModel

PowerSystems.GeneralGovModelType
mutable struct GeneralGovModel <: TurbineGov
     Rselect::Int
     fuel_flag::Int
     R::Float64
@@ -122,7 +122,7 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

GE General Governor/Turbine Model. The GeneralGovModel (GGOV1) model is a general purpose governor model used for a variety of prime movers controlled by proportional-integral-derivative (PID) governors including gas turbines.

Arguments

  • Rselect::Int: Feedback signal for governor droop, validation range: (-2, 1), action if invalid: error
  • fuel_flag::Int: Flag Switch for fuel source characteristic, validation range: (0, 1), action if invalid: error
  • R::Float64: Speed droop parameter, validation range: (eps(), nothing), action if invalid: warn
  • Tpelec::Float64: Electrical power transducer time constant, seconds, validation range: (eps(), nothing), action if invalid: warn
  • speed_error_signal::MinMax: Speed error signal limits
  • Kp_gov::Float64: Governor proportional gain, validation range: (0, nothing), action if invalid: warn
  • Ki_gov::Float64: Governor integral gain, validation range: (0, nothing), action if invalid: warn
  • Kd_gov::Float64: Governor derivative gain, validation range: (0, nothing), action if invalid: warn
  • Td_gov::Float64: Governor derivative time constant, validation range: (0, nothing), action if invalid: warn
  • valve_position_limits::MinMax: Valve position limits
  • T_act::Float64: Actuator time constant, validation range: (0, nothing), action if invalid: warn
  • K_turb::Float64: Turbine gain, validation range: (0, nothing), action if invalid: warn
  • Wf_nl::Float64: No load fuel flow, pu, validation range: (0, nothing), action if invalid: warn
  • Tb::Float64: Turbine lag time constant, sec, validation range: (0, nothing), action if invalid: warn
  • Tc::Float64: Turbine lead time constant, sec, validation range: (0, nothing), action if invalid: warn
  • T_eng::Float64: Transport lag time constant for diesel engine, sec, validation range: (0, nothing), action if invalid: warn
  • Tf_load::Float64: Load limiter time constant, validation range: (0, nothing), action if invalid: warn
  • Kp_load::Float64: Load limiter proportional gain for PI controller, validation range: (0, nothing), action if invalid: warn
  • Ki_load::Float64: Load integral gain for PI controller, validation range: (0, nothing), action if invalid: warn
  • Ld_ref::Float64: Load limiter integral gain for PI controller, validation range: (0, nothing), action if invalid: warn
  • Dm::Float64: Mechanical damping coefficient, pu, validation range: (0, nothing), action if invalid: warn
  • R_open::Float64: Maximum valve opening rate, pu/sec, validation range: (0, nothing), action if invalid: warn
  • R_close::Float64: Maximum valve closing rate, pu/sec, validation range: (0, nothing), action if invalid: warn
  • Ki_mw::Float64: Power controller (reset) gain, validation range: (0, nothing), action if invalid: warn
  • A_set::Float64: Acceleration limiter setpoint, pu/sec, validation range: (0, nothing), action if invalid: warn
  • Ka::Float64: Acceleration limiter gain, validation range: (0, nothing), action if invalid: warn
  • Ta::Float64: Acceleration limiter time constant , validation range: (eps(), nothing), action if invalid: error
  • T_rate::Float64: Turbine rating, validation range: (0, nothing), action if invalid: warn
  • db::Float64: Speed governor deadband, validation range: (0, nothing), action if invalid: warn
  • Tsa::Float64: Temperature detection lead time constant, validation range: (0, nothing), action if invalid: warn
  • Tsb::Float64: Temperature detection lag time constant, validation range: (0, nothing), action if invalid: warn
  • R_lim::UpDown: Maximum rate of load increa
  • P_ref::Float64: Reference Power Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the GGOV1 model are:
Pe: Machine Electrical Power Measurement,
+end

GE General Governor/Turbine Model. The GeneralGovModel (GGOV1) model is a general purpose governor model used for a variety of prime movers controlled by proportional-integral-derivative (PID) governors including gas turbines

Arguments

  • Rselect::Int: Feedback signal for governor droop, validation range: (-2, 1)
  • fuel_flag::Int: Flag Switch for fuel source characteristic, validation range: (0, 1)
  • R::Float64: Speed droop parameter, validation range: (eps(), nothing)
  • Tpelec::Float64: Electrical power transducer time constant, seconds, validation range: (eps(), nothing)
  • speed_error_signal::MinMax: Speed error signal limits
  • Kp_gov::Float64: Governor proportional gain, validation range: (0, nothing)
  • Ki_gov::Float64: Governor integral gain, validation range: (0, nothing)
  • Kd_gov::Float64: Governor derivative gain, validation range: (0, nothing)
  • Td_gov::Float64: Governor derivative time constant, validation range: (0, nothing)
  • valve_position_limits::MinMax: Valve position limits
  • T_act::Float64: Actuator time constant, validation range: (0, nothing)
  • K_turb::Float64: Turbine gain, validation range: (0, nothing)
  • Wf_nl::Float64: No load fuel flow, pu, validation range: (0, nothing)
  • Tb::Float64: Turbine lag time constant, sec, validation range: (0, nothing)
  • Tc::Float64: Turbine lead time constant, sec, validation range: (0, nothing)
  • T_eng::Float64: Transport lag time constant for diesel engine, sec, validation range: (0, nothing)
  • Tf_load::Float64: Load limiter time constant, validation range: (0, nothing)
  • Kp_load::Float64: Load limiter proportional gain for PI controller, validation range: (0, nothing)
  • Ki_load::Float64: Load integral gain for PI controller, validation range: (0, nothing)
  • Ld_ref::Float64: Load limiter integral gain for PI controller, validation range: (0, nothing)
  • Dm::Float64: Mechanical damping coefficient, pu, validation range: (0, nothing)
  • R_open::Float64: Maximum valve opening rate, pu/sec, validation range: (0, nothing)
  • R_close::Float64: Maximum valve closing rate, pu/sec, validation range: (0, nothing)
  • Ki_mw::Float64: Power controller (reset) gain, validation range: (0, nothing)
  • A_set::Float64: Acceleration limiter setpoint, pu/sec, validation range: (0, nothing)
  • Ka::Float64: Acceleration limiter gain, validation range: (0, nothing)
  • Ta::Float64: Acceleration limiter time constant , validation range: (eps(), nothing)
  • T_rate::Float64: Turbine rating, validation range: (0, nothing)
  • db::Float64: Speed governor deadband, validation range: (0, nothing)
  • Tsa::Float64: Temperature detection lead time constant, validation range: (0, nothing)
  • Tsb::Float64: Temperature detection lag time constant, validation range: (0, nothing)
  • R_lim::UpDown: Maximum rate of load increase
  • P_ref::Float64: (default: 1.0) Reference Power 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the GGOV1 model are:
Pe: Machine Electrical Power Measurement,
 x_g1: Governor differential control,
 x_g2: Governor integral control, 
 x_g3: Turbine actuator, 
@@ -131,90 +131,90 @@
 x_g6: Turbine Load Limiter Integral Control, 
 x_g7: Supervisory Load Control, 
 x_g8: Acceleration Control, 
-x_g9 Temperature Detection Lead - Lag:
  • n_states::Int: GeneralGovModel has 10 states
  • states_types::Vector{StateTypes}: GGOV1 has 10 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_R_limMethod
get_R_lim(
+x_g9 Temperature Detection Lead - Lag:
  • n_states::Int: (Do not modify.) GeneralGovModel has 10 states
  • states_types::Vector{StateTypes}: (Do not modify.) GGOV1 has 10 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

HydroTurbineGov

HydroTurbineGov

PowerSystems.HydroTurbineGovType
mutable struct HydroTurbineGov <: TurbineGov
     R::Float64
     r::Float64
     Tr::Float64
@@ -232,47 +232,47 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Hydro Turbine-Governor.

Arguments

  • R::Float64: Permanent droop parameter, validation range: (0, 0.1), action if invalid: warn
  • r::Float64: Temporary Droop, validation range: (0, 2), action if invalid: warn
  • Tr::Float64: Governor time constant, validation range: (eps(), 30), action if invalid: error
  • Tf::Float64: Filter Time constant, validation range: (eps(), 0.1)
  • Tg::Float64: Servo time constant, validation range: (eps(), 1), action if invalid: error
  • VELM::Float64: gate velocity limit, validation range: (eps(), 0.3), action if invalid: error
  • gate_position_limits::MinMax: Gate position limits
  • Tw::Float64: water time constant, validation range: (eps(), 3), action if invalid: error
  • At::Float64: Turbine gain, validation range: (0.8, 1.5), action if invalid: warn
  • D_T::Float64: Turbine Damping, validation range: (0, 0.5), action if invalid: warn
  • q_nl::Float64: No-power flow, validation range: (0, nothing), action if invalid: warn
  • P_ref::Float64: Reference Power Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the HydroTurbineGov model are:
x_g1: filter_output,
+end

Hydro Turbine-Governor

Arguments

  • R::Float64: Permanent droop parameter, validation range: (0, 0.1)
  • r::Float64: Temporary Droop, validation range: (0, 2)
  • Tr::Float64: Governor time constant, validation range: (eps(), 30)
  • Tf::Float64: Filter Time constant, validation range: (eps(), 0.1)
  • Tg::Float64: Servo time constant, validation range: (eps(), 1)
  • VELM::Float64: gate velocity limit, validation range: (eps(), 0.3)
  • gate_position_limits::MinMax: Gate position limits
  • Tw::Float64: water time constant, validation range: (eps(), 3)
  • At::Float64: Turbine gain, validation range: (0.8, 1.5)
  • D_T::Float64: Turbine Damping, validation range: (0, 0.5)
  • q_nl::Float64: No-power flow, validation range: (0, nothing)
  • P_ref::Float64: (default: 1.0) Reference Power 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the HydroTurbineGov model are:
x_g1: filter_output,
 x_g2: desired gate, 
 x_g3: gate opening, 
-x_g4: turbine flow
  • n_states::Int: HYGOV has 4 states
  • states_types::Vector{StateTypes}: HYGOV has 4 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_gate_position_limitsMethod
get_gate_position_limits(
+x_g4: turbine flow
  • n_states::Int: (Do not modify.) HYGOV has 4 states
  • states_types::Vector{StateTypes}: (Do not modify.) HYGOV has 4 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

IEEETurbineGov1

IEEETurbineGov1

PowerSystems.IEEETurbineGov1Type
mutable struct IEEETurbineGov1 <: TurbineGov
     K::Float64
     T1::Float64
     T2::Float64
@@ -298,65 +298,65 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

IEEE Type 1 Speed-Governing Model

Arguments

  • K::Float64: Governor Gain, validation range: (5, 30), action if invalid: warn
  • T1::Float64: Input Filter Lag, validation range: (0, 5), action if invalid: warn
  • T2::Float64: Input Filter Lead, validation range: (0, 10), action if invalid: warn
  • T3::Float64: Valve position Time Constant, validation range: (eps(), 1), action if invalid: error
  • U0::Float64: Maximum Valve Opening Rate, validation range: (0.01, 0.03), action if invalid: warn
  • U_c::Float64: Maximum Valve closing rate, validation range: (-0.3, 0), action if invalid: warn
  • valve_position_limits::MinMax: Valve position limits in MW
  • T4::Float64: Time Constant inlet steam, validation range: (0, 1), action if invalid: warn
  • K1::Float64: Fraction of high presure shaft power, validation range: (-2, 1), action if invalid: warn
  • K2::Float64: Fraction of low presure shaft power, validation range: (0, nothing), action if invalid: warn
  • T5::Float64: Time constant for second boiler pass, validation range: (0, 10), action if invalid: warn
  • K3::Float64: Fraction of high presure shaft power second boiler pass, validation range: (0, 0.5), action if invalid: warn
  • K4::Float64: Fraction of low presure shaft power second boiler pass, validation range: (0, 0.5), action if invalid: warn
  • T6::Float64: Time constant for third boiler pass, validation range: (0, 10), action if invalid: warn
  • K5::Float64: Fraction of high presure shaft power third boiler pass, validation range: (0, 0.35), action if invalid: warn
  • K6::Float64: Fraction of low presure shaft power third boiler pass, validation range: (0, 0.55), action if invalid: warn
  • T7::Float64: Time constant for fourth boiler pass, validation range: (0, 10), action if invalid: warn
  • K7::Float64: Fraction of high presure shaft power fourth boiler pass, validation range: (0, 0.3), action if invalid: warn
  • K8::Float64: Fraction of low presure shaft power fourth boiler pass, validation range: (0, 0.3), action if invalid: warn
  • P_ref::Float64: Reference Power Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the IEEETurbineGov model are:
x_g1: First Governor integrator,
+end

IEEE Type 1 Speed-Governing Model

Arguments

  • K::Float64: Governor Gain, validation range: (5, 30)
  • T1::Float64: Input Filter Lag, validation range: (0, 5)
  • T2::Float64: Input Filter Lead, validation range: (0, 10)
  • T3::Float64: Valve position Time Constant, validation range: (eps(), 1)
  • U0::Float64: Maximum Valve Opening Rate, validation range: (0.01, 0.03)
  • U_c::Float64: Maximum Valve closing rate, validation range: (-0.3, 0)
  • valve_position_limits::MinMax: Valve position limits in MW
  • T4::Float64: Time Constant inlet steam, validation range: (0, 1)
  • K1::Float64: Fraction of high presure shaft power, validation range: (-2, 1)
  • K2::Float64: Fraction of low presure shaft power, validation range: (0, nothing)
  • T5::Float64: Time constant for second boiler pass, validation range: (0, 10)
  • K3::Float64: Fraction of high presure shaft power second boiler pass, validation range: (0, 0.5)
  • K4::Float64: Fraction of low presure shaft power second boiler pass, validation range: (0, 0.5)
  • T6::Float64: Time constant for third boiler pass, validation range: (0, 10)
  • K5::Float64: Fraction of high presure shaft power third boiler pass, validation range: (0, 0.35)
  • K6::Float64: Fraction of low presure shaft power third boiler pass, validation range: (0, 0.55)
  • T7::Float64: Time constant for fourth boiler pass, validation range: (0, 10)
  • K7::Float64: Fraction of high presure shaft power fourth boiler pass, validation range: (0, 0.3)
  • K8::Float64: Fraction of low presure shaft power fourth boiler pass, validation range: (0, 0.3)
  • P_ref::Float64: (default: 1.0) Reference Power 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the IEEETurbineGov model are:
x_g1: First Governor integrator,
 x_g2: Governor output,
 x_g3: First Turbine integrator, 
 x_g4: Second Turbine Integrator, 
 x_g5: Third Turbine Integrator, 
-x_g6: Fourth Turbine Integrator,
  • n_states::Int: IEEEG1 has 6 states
  • states_types::Vector{StateTypes}: IEEEG1 has 6 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_states_typesMethod
get_states_types(
+x_g6: Fourth Turbine Integrator,
  • n_states::Int: (Do not modify.) IEEEG1 has 6 states
  • states_types::Vector{StateTypes}: (Do not modify.) IEEEG1 has 6 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SteamTurbineGov1

SteamTurbineGov1

PowerSystems.SteamTurbineGov1Type
mutable struct SteamTurbineGov1 <: TurbineGov
     R::Float64
     T1::Float64
     valve_position_limits::MinMax
@@ -372,56 +372,56 @@
     n_states::Int
     states_types::Vector{StateTypes}
     internal::InfrastructureSystemsInternal
-end

Steam Turbine-Governor. This model considers both TGOV1 or TGOV1DU in PSS/E.

Arguments

  • R::Float64: Droop parameter, validation range: (0, 0.1), action if invalid: warn
  • T1::Float64: Governor time constant, validation range: (eps(), 0.5), action if invalid: error
  • valve_position_limits::MinMax: Valve position limits
  • T2::Float64: Lead Lag Lead Time constant , validation range: (0, nothing), action if invalid: warn
  • T3::Float64: Lead Lag Lag Time constant , validation range: (eps(), 10), action if invalid: error
  • D_T::Float64: Turbine Damping, validation range: (0, 0.5), action if invalid: warn
  • DB_h::Float64: Deadband for overspeed, validation range: (0, nothing), action if invalid: warn
  • DB_l::Float64: Deadband for underspeed, validation range: (nothing, 0), action if invalid: warn
  • T_rate::Float64: Turbine Rate (MW). If zero, generator base is used., validation range: (0, nothing), action if invalid: warn
  • P_ref::Float64: Reference Power Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the SteamTurbineGov1 model are:
x_g1: Valve Opening,
-x_g2: Lead-lag state
  • n_states::Int: TGOV1 has 2 states
  • states_types::Vector{StateTypes}: TGOV1 has 2 differential states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_states_typesMethod
get_states_types(
+end

Steam Turbine-Governor. This model considers both TGOV1 or TGOV1DU in PSS/E

Arguments

  • R::Float64: Droop parameter, validation range: (0, 0.1)
  • T1::Float64: Governor time constant, validation range: (eps(), 0.5)
  • valve_position_limits::MinMax: Valve position limits
  • T2::Float64: Lead Lag Lead Time constant , validation range: (0, nothing)
  • T3::Float64: Lead Lag Lag Time constant , validation range: (eps(), 10)
  • D_T::Float64: Turbine Damping, validation range: (0, 0.5)
  • DB_h::Float64: Deadband for overspeed, validation range: (0, nothing)
  • DB_l::Float64: Deadband for underspeed, validation range: (nothing, 0)
  • T_rate::Float64: Turbine Rate (MW). If zero, generator base is used, validation range: (0, nothing)
  • P_ref::Float64: (default: 1.0) Reference Power 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the SteamTurbineGov1 model are:
x_g1: Valve Opening,
+x_g2: Lead-lag state
  • n_states::Int: (Do not modify.) TGOV1 has 2 states
  • states_types::Vector{StateTypes}: (Do not modify.) TGOV1 has 2 differential states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

TGFixed

TGFixed

PowerSystems.TGFixedType
mutable struct TGFixed <: TurbineGov
     efficiency::Float64
     P_ref::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of a fixed Turbine Governor that returns a fixed mechanical torque given by the product of P_ref*efficiency

Arguments

  • efficiency::Float64: Efficiency factor that multiplies P_ref, validation range: (0, nothing)
  • P_ref::Float64: Reference Power Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}
  • n_states::Int: TGFixed has no states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source

TGTypeI

PowerSystems.TGTypeIType
mutable struct TGTypeI <: TurbineGov
+end

Parameters of a fixed Turbine Governor that returns a fixed mechanical torque given by the product of P_ref*efficiency

Arguments

  • efficiency::Float64: Efficiency factor that multiplies P_ref, validation range: (0, nothing)
  • P_ref::Float64: (default: 1.0) Reference Power 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) TGFixed has no states
  • n_states::Int: (Do not modify.) TGFixed has no states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

TGTypeI

PowerSystems.TGTypeIType
mutable struct TGTypeI <: TurbineGov
     R::Float64
     Ts::Float64
     Tc::Float64
@@ -434,31 +434,31 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of a Turbine Governor Type I.

Arguments

  • R::Float64: Droop parameter, validation range: (0, nothing)
  • Ts::Float64: Governor time constant, validation range: (0, nothing)
  • Tc::Float64: Servo time constant, validation range: (0, nothing)
  • T3::Float64: Transient gain time constant, validation range: (0, nothing)
  • T4::Float64: Power fraction time constant, validation range: (0, nothing)
  • T5::Float64: Reheat time constant, validation range: (0, nothing)
  • valve_position_limits::MinMax: Valve position limits in MW
  • P_ref::Float64: Reference Power Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the TGTypeI model are:
x_g1: Governor state,
+end

Parameters of a Turbine Governor Type I

Arguments

  • R::Float64: Droop parameter, validation range: (0, nothing)
  • Ts::Float64: Governor time constant, validation range: (0, nothing)
  • Tc::Float64: Servo time constant, validation range: (0, nothing)
  • T3::Float64: Transient gain time constant, validation range: (0, nothing)
  • T4::Float64: Power fraction time constant, validation range: (0, nothing)
  • T5::Float64: Reheat time constant, validation range: (0, nothing)
  • valve_position_limits::MinMax: Valve position limits in MW
  • P_ref::Float64: (default: 1.0) Reference Power 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the TGTypeI model are:
x_g1: Governor state,
 x_g2: Servo state,
-x_g3: Reheat state
  • n_states::Int: TGTypeI has 3 states
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_valve_position_limitsMethod
get_valve_position_limits(
+x_g3: Reheat state
  • n_states::Int: (Do not modify.) TGTypeI has 3 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

TGTypeII

TGTypeII

PowerSystems.TGTypeIIType
mutable struct TGTypeII <: TurbineGov
     R::Float64
     T1::Float64
     T2::Float64
@@ -468,20 +468,20 @@
     states::Vector{Symbol}
     n_states::Int
     internal::InfrastructureSystemsInternal
-end

Parameters of a Turbine Governor Type II.

Arguments

  • R::Float64: Droop parameter, validation range: (0, nothing)
  • T1::Float64: Transient gain time constant, validation range: (0, nothing)
  • T2::Float64: Power fraction time constant, validation range: (0, nothing)
  • τ_limits::MinMax: Power into the governor limits
  • P_ref::Float64: Reference Power Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the TGTypeI model are:
x_g1: lead-lag state
  • n_states::Int: TGTypeII has 1 state
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_τ_limitsMethod
get_τ_limits(
+end

Parameters of a Turbine Governor Type II

Arguments

  • R::Float64: Droop parameter, validation range: (0, nothing)
  • T1::Float64: Transient gain time constant, validation range: (0, nothing)
  • T2::Float64: Power fraction time constant, validation range: (0, nothing)
  • τ_limits::MinMax: Power into the governor limits
  • P_ref::Float64: (default: 1.0) Reference Power 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the TGTypeI model are:
x_g1: lead-lag state
  • n_states::Int: (Do not modify.) TGTypeII has 1 state
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Get TGTypeII τ_limits.

source
diff --git a/dev/model_library/generated_TwoPartCost/index.html b/dev/model_library/generated_TwoPartCost/index.html deleted file mode 100644 index 00c74a7de1..0000000000 --- a/dev/model_library/generated_TwoPartCost/index.html +++ /dev/null @@ -1,9 +0,0 @@ - -TwoPartCost · PowerSystems.jl

TwoPartCost

PowerSystems.TwoPartCostType
mutable struct TwoPartCost <: OperationalCost
-    variable::VariableCost
-    fixed::Float64
-end

Data Structure Operational Cost Data in two parts: fixed and variable cost.

Arguments

  • variable::VariableCost: variable cost
  • fixed::Float64: fixed cost, validation range: (0, nothing), action if invalid: warn
source
diff --git a/dev/model_library/generated_TwoTerminalHVDCLine/index.html b/dev/model_library/generated_TwoTerminalHVDCLine/index.html index 34acc2f966..ec91828d5a 100644 --- a/dev/model_library/generated_TwoTerminalHVDCLine/index.html +++ b/dev/model_library/generated_TwoTerminalHVDCLine/index.html @@ -1,5 +1,5 @@ -TwoTerminalHVDCLine · PowerSystems.jl

TwoTerminalHVDCLine

PowerSystems.TwoTerminalHVDCLineType
mutable struct TwoTerminalHVDCLine <: ACBranch
+TwoTerminalHVDCLine · PowerSystems.jl

TwoTerminalHVDCLine

PowerSystems.TwoTerminalHVDCLineType
mutable struct TwoTerminalHVDCLine <: ACBranch
     name::String
     available::Bool
     active_power_flow::Float64
@@ -11,59 +11,51 @@
     loss::NamedTuple{(:l0, :l1), Tuple{Float64, Float64}}
     services::Vector{Service}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

a High voltage DC line.

Arguments

  • name::String
  • available::Bool
  • active_power_flow::Float64
  • arc::Arc
  • active_power_limits_from::MinMax
  • active_power_limits_to::MinMax
  • reactive_power_limits_from::MinMax
  • reactive_power_limits_to::MinMax
  • loss::NamedTuple{(:l0, :l1), Tuple{Float64, Float64}}
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_active_power_limits_fromMethod
get_active_power_limits_from(
+end

A High Voltage DC line, which must be connected to an ACBus on each end.

This model is appropriate for operational simulations with a linearized DC power flow approximation with losses proportional to the power flow. For modeling a DC network, see TModelHVDCLine

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • active_power_flow::Float64: Initial condition of active power flow on the line (MW)
  • arc::Arc: An Arc defining this line from a bus to another bus
  • active_power_limits_from::MinMax: Minimum and maximum active power flows to the FROM node (MW)
  • active_power_limits_to::MinMax: Minimum and maximum active power flows to the TO node (MW)
  • reactive_power_limits_from::MinMax: Minimum and maximum reactive power limits to the FROM node (MVAR)
  • reactive_power_limits_to::MinMax: Minimum and maximum reactive power limits to the TO node (MVAR)
  • loss::NamedTuple{(:l0, :l1), Tuple{Float64, Float64}}: Linear loss model coefficients, where l0 = constant loss (MW) and l1 = linearly proportional loss rate (MW of loss per MW of flow)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set TwoTerminalHVDCLine reactive_power_limits_to.

source
diff --git a/dev/model_library/generated_TwoTerminalVSCDCLine/index.html b/dev/model_library/generated_TwoTerminalVSCDCLine/index.html index c606bde50c..12adbda04d 100644 --- a/dev/model_library/generated_TwoTerminalVSCDCLine/index.html +++ b/dev/model_library/generated_TwoTerminalVSCDCLine/index.html @@ -1,5 +1,5 @@ -TwoTerminalVSCDCLine · PowerSystems.jl

TwoTerminalVSCDCLine

PowerSystems.TwoTerminalVSCDCLineType
mutable struct TwoTerminalVSCDCLine <: ACBranch
+TwoTerminalVSCDCLine · PowerSystems.jl

TwoTerminalVSCDCLine

PowerSystems.TwoTerminalVSCDCLineType
mutable struct TwoTerminalVSCDCLine <: ACBranch
     name::String
     available::Bool
     active_power_flow::Float64
@@ -9,62 +9,54 @@
     rectifier_firing_angle::MinMax
     inverter_tap_limits::MinMax
     inverter_xrc::Float64
-    inverter_firing_angle::MinMax
+    inverter_extinction_angle::MinMax
     services::Vector{Service}
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

As implemented in Milano's Book, Page 397.

Arguments

  • name::String
  • available::Bool
  • active_power_flow::Float64
  • arc::Arc
  • rectifier_tap_limits::MinMax
  • rectifier_xrc::Float64
  • rectifier_firing_angle::MinMax
  • inverter_tap_limits::MinMax
  • inverter_xrc::Float64
  • inverter_firing_angle::MinMax
  • services::Vector{Service}: Services that this device contributes to
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_inverter_firing_angleMethod
get_inverter_firing_angle(
+end

A Voltage Sourced Converter (VSC)-HVDC transmission line.

As implemented in "Power System Modelling and Scripting" by Federico Milano, Chapter 18, Page 397. This model is suitable for dynamic simulations

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • active_power_flow::Float64: Initial condition of active power flow on the line (MW)
  • arc::Arc: An Arc defining this line from a bus to another bus
  • rectifier_tap_limits::MinMax: Minimum and maximum rectifier tap limits as a ratio between the primary and secondary side voltages
  • rectifier_xrc::Float64: Rectifier commutation reactance in p.u. (DEVICE_BASE)
  • rectifier_firing_angle::MinMax: Minimum and maximum rectifier firing angle (α) (radians)
  • inverter_tap_limits::MinMax: Minimum and maximum inverter tap limits as a ratio between the primary and secondary side voltages
  • inverter_xrc::Float64: Inverter commutation reactance in p.u. (DEVICE_BASE)
  • inverter_extinction_angle::MinMax: Minimum and maximum inverter extinction angle (γ) (radians)
  • services::Vector{Service}: (default: Device[]) Services that this device contributes to
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set TwoTerminalVSCDCLine rectifier_tap_limits.

source
diff --git a/dev/model_library/generated_VariableReserveNonSpinning/index.html b/dev/model_library/generated_VariableReserveNonSpinning/index.html index 1072541891..3d3e18dcd0 100644 --- a/dev/model_library/generated_VariableReserveNonSpinning/index.html +++ b/dev/model_library/generated_VariableReserveNonSpinning/index.html @@ -1,5 +1,5 @@ -VariableReserveNonSpinning · PowerSystems.jl

VariableReserveNonSpinning

PowerSystems.VariableReserveNonSpinningType
mutable struct VariableReserveNonSpinning <: ReserveNonSpinning
+VariableReserveNonSpinning · PowerSystems.jl

VariableReserveNonSpinning

PowerSystems.VariableReserveNonSpinningType
mutable struct VariableReserveNonSpinning <: ReserveNonSpinning
     name::String
     available::Bool
     time_frame::Float64
@@ -9,61 +9,53 @@
     max_participation_factor::Float64
     deployed_fraction::Float64
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Data Structure for the procurement products for system simulations.

Arguments

  • name::String
  • available::Bool
  • time_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing), action if invalid: error
  • requirement::Float64: the required quantity of the product should be scaled by a TimeSeriesData
  • sustained_time::Float64: the time in secounds reserve contribution must sustained at a specified level, validation range: (0, nothing), action if invalid: error
  • max_output_fraction::Float64: the maximum fraction of the device's output that can be assigned to the service, validation range: (0, 1), action if invalid: error
  • max_participation_factor::Float64: the maximum limit of reserve contribution per device, validation range: (0, 1), action if invalid: error
  • deployed_fraction::Float64: Fraction of ancillary services participation deployed from the assignment, validation range: (0, 1), action if invalid: error
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_deployed_fractionMethod
get_deployed_fraction(
+end

A non-spinning reserve product with a time-varying procurement requirement, such as a higher requirement during hours with an expected high load or high ramp.

This reserve product includes back-up generators that might not be currently synchronized with the power system, but can come online quickly after an unexpected contingency, such as a transmission line or generator outage. To model the time varying requirement, a "requirement" time series should be added to this reserve.

This is only an upwards reserve. For faster-responding upwards or downwards reserves from components already synchronized with the system, see VariableReserve

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • time_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing)
  • requirement::Float64: the required quantity of the product should be scaled by a TimeSeriesData
  • sustained_time::Float64: (default: 14400.0) the time in seconds reserve contribution must sustained at a specified level, validation range: (0, nothing)
  • max_output_fraction::Float64: (default: 1.0) the maximum fraction of each device's output that can be assigned to the service, validation range: (0, 1)
  • max_participation_factor::Float64: (default: 1.0) the maximum portion [0, 1.0] of the reserve that can be contributed per device, validation range: (0, 1)
  • deployed_fraction::Float64: (default: 0.0) Fraction of service procurement that is assumed to be actually deployed. Most commonly, this is assumed to be either 0.0 or 1.0, validation range: (0, 1)
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set VariableReserveNonSpinning time_frame.

source
diff --git a/dev/model_library/hybrid_system/index.html b/dev/model_library/hybrid_system/index.html new file mode 100644 index 0000000000..fa3f65ae5d --- /dev/null +++ b/dev/model_library/hybrid_system/index.html @@ -0,0 +1,85 @@ + +HybridSystem · PowerSystems.jl

Hybrid System

PowerSystems.HybridSystemType
mutable struct HybridSystem <: StaticInjectionSubsystem
+    name::String
+    available::Bool
+    status::Bool
+    bus::ACBus
+    active_power::Float64
+    reactive_power::Float64
+    base_power::Float64
+    operation_cost::MarketBidCost
+    thermal_unit::Union{Nothing, ThermalGen}
+    electric_load::Union{Nothing, ElectricLoad}
+    storage::Union{Nothing, Storage}
+    renewable_unit::Union{Nothing, RenewableGen}
+    interconnection_impedance::ComplexF64
+    interconnection_rating::Union{Nothing, Float64}
+    input_active_power_limits::Union{Nothing, MinMax}
+    output_active_power_limits::Union{Nothing, MinMax}
+    reactive_power_limits::Union{Nothing, MinMax}
+    interconnection_efficiency::Union{
+        Nothing,
+        NamedTuple{(:in, :out), Tuple{Float64, Float64}},
+    }
+    services::Vector{Service}
+    dynamic_injector::Union{Nothing, DynamicInjection}
+    ext::Dict{String, Any}
+    internal::InfrastructureSystemsInternal
+end

A Hybrid System that includes a combination of renewable generation, load, thermal generation and/or energy storage.

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • status::Bool: Initial commitment condition at the start of a simulation (true = on or false = off)
  • bus::ACBus: Bus that this component is connected to
  • active_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used
  • reactive_power::Float64: Initial reactive power set point of the unit (MVAR)
  • base_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating
  • operation_cost::MarketBidCost: Market bid cost to operate, MarketBidCost
  • thermal_unit::Union{Nothing, ThermalGen}: A thermal generator with supertype ThermalGen
  • electric_load::Union{Nothing, ElectricLoad}: A load with supertype ElectricLoad
  • storage::Union{Nothing, Storage}: An energy storage system with supertype Storage
  • renewable_unit::Union{Nothing, RenewableGen}: A renewable generator with supertype RenewableGen
  • interconnection_impedance::ComplexF64: Impedance (typically in p.u.) between the hybrid system and the grid interconnection
  • interconnection_rating::Union{Nothing, Float64}: Maximum rating of the hybrid system's interconnection with the transmission network (MVA)
  • input_active_power_limits::MinMax: Minimum and maximum stable input active power levels (MW)
  • output_active_power_limits::MinMax: Minimum and maximum stable output active power levels (MW)
  • reactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits (MVAR). Set to Nothing if not applicable.
  • interconnection_efficiency::Union{Nothing, NamedTuple{(:in, :out), Tuple{Float64, Float64}},}: Efficiency [0, 1.0] at the grid interconnection to model losses in and out of the common DC-side conversion
  • services::Vector{Service}: (optional) Services that this device contributes to
  • dynamic_injector::Union{Nothing, DynamicInjection}: (optional) corresponding dynamic injection device
  • ext::Dict{String, Any}: (optional) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude. See Adding additional fields.
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference.
source
PowerSystems.get_subcomponentsMethod
get_subcomponents(hybrid::HybridSystem) -> Channel{Any}
+

Return an iterator over the subcomponents in the HybridSystem.

Examples

for subcomponent in get_subcomponents(hybrid_sys)
+    @show subcomponent
+end
+subcomponents = collect(get_subcomponents(hybrid_sys))
source
diff --git a/dev/model_library/outer_control/index.html b/dev/model_library/outer_control/index.html index 858cae3320..823b084252 100644 --- a/dev/model_library/outer_control/index.html +++ b/dev/model_library/outer_control/index.html @@ -1,5 +1,5 @@ -OuterControl · PowerSystems.jl

OuterControl

The outer control is composed by the ReactivePowerControl and the ActivePowerControl types.

PowerSystems.OuterControlType
mutable struct OuterControl{
+OuterControl · PowerSystems.jl

OuterControl

The outer control is composed by the ReactivePowerControl and the ActivePowerControl types.

PowerSystems.OuterControlType
mutable struct OuterControl{
     A <: ActivePowerControl,
     R <: ReactivePowerControl
 } <: DynamicInverterComponent
@@ -8,7 +8,7 @@
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of a Outer-Loop controller using a active power controller and a reactive power droop controller.

Arguments

  • A <: ActivePowerControl: Active power controller (typically droop or virtual inertia).
  • R <: ReactivePowerControl: Reactive power controller (typically droop).
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: Vector of states (will depend on the components).
  • n_states::Int: Number of states (will depend on the components).
source

Virtual Inertia

PowerSystems.VirtualInertiaType
mutable struct VirtualInertia <: ActivePowerControl
+end

Parameters of a Outer-Loop controller using a active power controller and a reactive power droop controller.

Arguments

  • A <: ActivePowerControl: Active power controller (typically droop or virtual inertia).
  • R <: ReactivePowerControl: Reactive power controller (typically droop).
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: Vector of states (will depend on the components).
  • n_states::Int: Number of states (will depend on the components).
source

Virtual Inertia

PowerSystems.VirtualInertiaType
mutable struct VirtualInertia <: ActivePowerControl
     Ta::Float64
     kd::Float64
     kω::Float64
@@ -16,34 +16,34 @@
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of a Virtual Inertia with SRF using VSM for active power controller

Arguments

  • Ta::Float64: VSM inertia constant, validation range: (0, nothing)
  • kd::Float64: VSM damping constant, validation range: (0, nothing)
  • kω::Float64: frequency droop gain, validation range: (0, nothing)
  • P_ref::Float64: Reference Power Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the VirtualInertia model are:
θ_oc: Phase angle displacement of the virtual synchronous generator model
-ω_oc: Speed of the rotating reference frame of the virtual synchronous generator model
  • n_states::Int: VirtualInertia has two states
source

Reactive Power Droop

PowerSystems.ReactivePowerDroopType
mutable struct ReactivePowerDroop <: ReactivePowerControl
+end

Parameters of a Virtual Inertia with SRF using VSM for active power controller

Arguments

  • Ta::Float64: VSM inertia constant, validation range: (0, nothing)
  • kd::Float64: VSM damping constant, validation range: (0, nothing)
  • kω::Float64: frequency droop gain, validation range: (0, nothing)
  • P_ref::Float64: (default: 1.0) Reference Power 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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the VirtualInertia model are:
θ_oc: Phase angle displacement of the virtual synchronous generator model
+ω_oc: Speed of the rotating reference frame of the virtual synchronous generator model
  • n_states::Int: (Do not modify.) VirtualInertia has two states
source

Reactive Power Droop

PowerSystems.ReactivePowerDroopType
mutable struct ReactivePowerDroop <: ReactivePowerControl
     kq::Float64
     ωf::Float64
     V_ref::Float64
     ext::Dict{String, Any}
     states::Vector{Symbol}
     n_states::Int
-end

Parameters of a Reactive Power droop controller

Arguments

  • kq::Float64: frequency droop gain, validation range: (0, nothing)
  • ωf::Float64: filter frequency cutoff, validation range: (0, nothing)
  • V_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)
  • ext::Dict{String, Any}
  • states::Vector{Symbol}: The states of the ReactivePowerDroop model are:
q_oc: Filtered reactive output power
  • n_states::Int: ReactivePowerDroop has 1 state
source
+end

Parameters of a Reactive Power droop controller

Arguments

  • kq::Float64: frequency droop gain, validation range: (0, nothing)
  • ωf::Float64: filter frequency cutoff, validation range: (0, nothing)
  • V_ref::Float64: (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. See Adding additional fields
  • states::Vector{Symbol}: (Do not modify.) The states of the ReactivePowerDroop model are:
q_oc: Filtered reactive output power
  • n_states::Int: (Do not modify.) ReactivePowerDroop has 1 state
source
diff --git a/dev/model_library/regulation_device/index.html b/dev/model_library/regulation_device/index.html deleted file mode 100644 index 1b1b04fb7f..0000000000 --- a/dev/model_library/regulation_device/index.html +++ /dev/null @@ -1,2 +0,0 @@ - -Regulation Device · PowerSystems.jl
diff --git a/dev/model_library/reserves/index.html b/dev/model_library/reserves/index.html index a7f9f681ac..f507d2021c 100644 --- a/dev/model_library/reserves/index.html +++ b/dev/model_library/reserves/index.html @@ -1,5 +1,5 @@ -Reserves · PowerSystems.jl

Reserves

Static Reserve

PowerSystems.StaticReserveType
mutable struct StaticReserve{T <: ReserveDirection} <: Reserve{T}
+Reserves · PowerSystems.jl

Reserves

Constant Reserve

PowerSystems.ConstantReserveType
mutable struct ConstantReserve{T <: ReserveDirection} <: Reserve{T}
     name::String
     available::Bool
     time_frame::Float64
@@ -10,46 +10,46 @@
     deployed_fraction::Float64
     ext::Dict{String, Any}
     internal::InfrastructureSystemsInternal
-end

Data Structure for a proportional reserve product for system simulations.

Arguments

  • name::String
  • available::Bool
  • time_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing), action if invalid: error
  • requirement::Float64: the static value of required reserves in system p.u., validation range: (0, nothing), action if invalid: error
  • sustained_time::Float64: the time in secounds reserve contribution must sustained at a specified level, validation range: (0, nothing), action if invalid: error
  • max_output_fraction::Float64: the maximum fraction of the device's output that can be assigned to the service, validation range: (0, 1), action if invalid: error
  • max_participation_factor::Float64: the maximum limit of reserve contribution per device, validation range: (0, 1), action if invalid: error
  • deployed_fraction::Float64: Fraction of ancillary services participation deployed from the assignment, validation range: (0, 1), action if invalid: error
  • ext::Dict{String, Any}
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_max_participation_factorMethod
get_max_participation_factor(
-    value::StaticReserve
+end

A reserve product with a constant procurement requirement, such as 3% of the system base power at all times.

This reserve product includes online generators that can respond right away after an unexpected contingency, such as a transmission line or generator outage. When defining the reserve, the ReserveDirection must be specified to define this as a ReserveUp, ReserveDown, or ReserveSymmetric

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • time_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing)
  • requirement::Float64: the value of required reserves in p.u. (SYSTEM_BASE), validation range: (0, nothing)
  • sustained_time::Float64: (default: 3600.0) the time in seconds reserve contribution must sustained at a specified level, validation range: (0, nothing)
  • max_output_fraction::Float64: (default: 1.0) the maximum fraction of each device's output that can be assigned to the service, validation range: (0, 1)
  • max_participation_factor::Float64: (default: 1.0) the maximum portion [0, 1.0] of the reserve that can be contributed per device, validation range: (0, 1)
  • deployed_fraction::Float64: (default: 0.0) Fraction of service procurement that is assumed to be actually deployed. Most commonly, this is assumed to be either 0.0 or 1.0, validation range: (0, 1)
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

Static Reserve Group

Constant Reserve Group

PowerSystems.ConstantReserveGroupType
mutable struct ConstantReserveGroup{T <: ReserveDirection} <: Service
     name::String
     available::Bool
     requirement::Float64
     ext::Dict{String, Any}
     contributing_services::Vector{Service}
     internal::InfrastructureSystemsInternal
-end

Data Structure for a group reserve product for system simulations.

Arguments

  • name::String
  • available::Bool
  • requirement::Float64: the static value of required reserves in system p.u., validation range: (0, nothing), action if invalid: error
  • ext::Dict{String, Any}
  • contributing_services::Vector{Service}: Services that contribute for this requirement constraint
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_contributing_servicesMethod
get_contributing_services(
-    value::StaticReserveGroup
+end

A reserve product met by a group of individual reserves.

The group reserve requirement is added in addition to any individual reserve requirements, and devices that contribute to individual reserves within the group can also contribute to the overarching group reserve requirement. Example: A group of spinning and non-spinning reserves, where online generators providing spinning reserves can also contribute to the non-spinning reserve requirement.

This model has a constant procurement requirement, such as 3% of the system base power at all times. When defining the reserve, the ReserveDirection must be specified to define this as a ReserveUp, ReserveDown, or ReserveSymmetric

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • requirement::Float64: the value of required reserves in p.u. (SYSTEM_BASE), 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. See Adding additional fields
  • contributing_services::Vector{Service}: (default: Vector{Service}()) Services that contribute to this group requirement. Services must be added for this constraint to have an effect when conducting simulations in PowerSimulations.jl
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

Variable Reserve

Variable Reserve

PowerSystems.VariableReserveType
mutable struct VariableReserve{T <: ReserveDirection} <: Reserve{T}
     name::String
     available::Bool
     time_frame::Float64
@@ -59,39 +59,31 @@
     max_participation_factor::Float64
     deployed_fraction::Float64
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Data Structure for the procurement products for system simulations.

Arguments

  • name::String
  • available::Bool
  • time_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing), action if invalid: error
  • requirement::Float64: the required quantity of the product should be scaled by a TimeSeriesData
  • sustained_time::Float64: the time in secounds reserve contribution must sustained at a specified level, validation range: (0, nothing), action if invalid: error
  • max_output_fraction::Float64: the maximum fraction of the device's output that can be assigned to the service, validation range: (0, 1), action if invalid: error
  • max_participation_factor::Float64: the maximum limit of reserve contribution per device, validation range: (0, 1), action if invalid: error
  • deployed_fraction::Float64: Fraction of ancillary services participation deployed from the assignment, validation range: (0, 1), action if invalid: error
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_max_participation_factorMethod
get_max_participation_factor(
+end

A reserve product with a time-varying procurement requirement, such as a higher requirement during hours with an expected high load or high ramp.

This reserve product includes online generators that can respond right away after an unexpected contingency, such as a transmission line or generator outage. When defining the reserve, the ReserveDirection must be specified to define this as a ReserveUp, ReserveDown, or ReserveSymmetric. To model the time varying requirement, a "requirement" time series should be added to this reserve

Arguments

  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • time_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing)
  • requirement::Float64: the required quantity of the product should be scaled by a TimeSeriesData
  • sustained_time::Float64: (default: 3600.0) the time in seconds reserve contribution must sustained at a specified level, validation range: (0, nothing)
  • max_output_fraction::Float64: (default: 1.0) the maximum fraction of each device's output that can be assigned to the service, validation range: (0, 1)
  • max_participation_factor::Float64: (default: 1.0) the maximum portion [0, 1.0] of the reserve that can be contributed per device, validation range: (0, 1)
  • deployed_fraction::Float64: (default: 0.0) Fraction of service procurement that is assumed to be actually deployed. Most commonly, this is assumed to be either 0.0 or 1.0, validation range: (0, 1)
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

Reserve Demand Curve

Reserve Demand Curve

PowerSystems.ReserveDemandCurveType
mutable struct ReserveDemandCurve{T <: ReserveDirection} <: Reserve{T}
+    variable::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}
     name::String
     available::Bool
     time_frame::Float64
@@ -99,38 +91,30 @@
     max_participation_factor::Float64
     deployed_fraction::Float64
     ext::Dict{String, Any}
-    time_series_container::InfrastructureSystems.TimeSeriesContainer
     internal::InfrastructureSystemsInternal
-end

Data Structure for a operating reserve with demand curve product for system simulations.

Arguments

  • variable::Union{Nothing, IS.TimeSeriesKey}: Variable Cost TimeSeriesKey
  • name::String
  • available::Bool
  • time_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing), action if invalid: error
  • sustained_time::Float64: the time in secounds reserve contribution must sustained at a specified level, validation range: (0, nothing), action if invalid: error
  • max_participation_factor::Float64: the maximum limit of reserve contribution per device, validation range: (0, 1), action if invalid: error
  • deployed_fraction::Float64: Fraction of ancillary services participation deployed from the assignment, validation range: (0, 1), action if invalid: error
  • ext::Dict{String, Any}
  • time_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage
  • internal::InfrastructureSystemsInternal: power system internal reference, do not modify
source
PowerSystems.get_max_participation_factorMethod
get_max_participation_factor(
+end

A reserve product with an Operating Reserve Demand Curve (ORDC) for operational simulations.

The ORDC is modeled as a discretized set of (Reserve capacity (MW), Price ($/MWh)) steps, which can vary with time. Use set_variable_cost! to define the ORDCs.

When defining the reserve, the ReserveDirection must be specified to define this as a ReserveUp, ReserveDown, or ReserveSymmetric

Arguments

  • variable::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}: Create this object with variable = nothing, then add assign a cost curve or time-series of variable_cost using the set_variable_cost! function, which will automatically update this parameter
  • name::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name
  • available::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations
  • time_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing)
  • sustained_time::Float64: (default: 3600.0) the time in seconds that the reserve contribution must sustained at a specified level, validation range: (0, nothing)
  • max_participation_factor::Float64: (default: 1.0) the maximum portion [0, 1.0] of the reserve that can be contributed per device, validation range: (0, 1)
  • deployed_fraction::Float64: (default: 0.0) Fraction of service procurement that is assumed to be actually deployed. Most commonly, this is assumed to be either 0.0 or 1.0, validation range: (0, 1)
  • 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. See Adding additional fields
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source
+

Set ReserveDemandCurve max_participation_factor.

source
diff --git a/dev/modeler_guide/cost_functions/index.html b/dev/modeler_guide/cost_functions/index.html new file mode 100644 index 0000000000..169bace516 --- /dev/null +++ b/dev/modeler_guide/cost_functions/index.html @@ -0,0 +1,2 @@ + +Cost Functions · PowerSystems.jl

Cost Functions

PowerSystems.jl provides an extensive type hierarchy to explicitly express relationships between power production and cost. This lets the modeler represent cost functions as linear, quadratic, or piecewise input-output curves, potentially piecewise marginal heat rates, average heat rates, and more, as best fits the input data.

To represent a cost for a particular Component, the modeler first chooses one of the variable cost representations in the table below. Then, they wrap this ProductionVariableCostCurve in either a CostCurve to indicate a cost in currency or in a FuelCurve to indicate a cost per unit of fuel plus a fuel cost. Finally, the user creates a domain-specific OperationalCost that contains this variable cost as well as other costs that may exist in that domain, such as a fixed cost that is always incurred when the unit is on. For instance, we may have RenewableGenerationCost(CostCurve(LinearCurve(22.0))) to represent the cost of a renewable unit that produces at $22/MWh, or ThermalGenerationCost(; variable = CostCurve(LinearCurve(22.0)), fixed = 1.0, start_up = 2.0, shut_down = 3.0) to represent the cost of a thermal unit that produces at $22/MWh plus a fixed cost of $1.0/hr, a start-up cost of $2.0, and a shut-down cost of $3.0. Below, we give the options for ProductionVariableCostCurves. Information on what domain-specific cost must be provided for a given component type can be found in that component type's documentation.

Variable Cost Representations

For more details, see the documentation page for each type. "Example interpretation" assumes the cost is wrapped in a CostCurve with natural units. Note that all three Piecewise options here fundamentally represent the same curve.

Type aliasDescriptionConstructor parametersExampleExample interpretation
LinearCurveLinear input-output curve with zero no-load cost (constant average rate)Average/marginal rateLinearCurve(3.0)$3/MWh
LinearCurveLinear input-output curve with nonzero no-load cost (constant marginal rate)Marginal rate, cost at zero productionLinearCurve(3.0, 5.0)$3/MWh + $5/hr
QuadraticCurveQuadratic input-output curve, may have nonzero no-load costQuadratic, proportional, and constant terms of input-output curveQuadraticCurve(1.0, 1.0, 18.0)$C(P) = 1 P^2 + 1 P + 18$ where $C$ is $/hr, $P$ is MW
PiecewisePointCurvePiecewise linear curve specified by cost values at production pointsVector of (production, cost) pairsPiecewisePointCurve([(1.0, 20.0), (2.0, 24.0), (3.0, 30.0)])$20/hr @ 1 MW, $24/hr @ 2 MW, $30/hr @ 3 MW, linear $/hr interpolation between these points
PiecewiseIncrementalCurvePiecewise linear curve specified by marginal rates (slopes) between production points, may have nonzero initial valueCost at minimum production point, vector of $n$ production points, vector of $n-1$ marginal rates/slopes of the curve segments between the pointsPiecewiseIncrementalCurve(20., [1.0, 2.0, 3.0], [4.0, 6.0])$20/hr @ 1 MW plus additional $4/MWh from 1 MW to 2 MW plus additional $6/MWh from 2 MW to 3 MW
PiecewiseAverageCurvePiecewise linear curve specified by average rates between production points, may have nonzero initial valueCost at minimum production point, vector of $n$ production points, vector of average rates at the $n-1$ latter pointsPiecewiseAverageCurve(20., [1.0, 2.0, 3.0], [12.0, 10.0])$20/hr @ 1 MW, $12/MWh @ 2 MW, $10/MWh @ 3 MW, linear $/hr interpolation between these points
diff --git a/dev/modeler_guide/enumerated_types/index.html b/dev/modeler_guide/enumerated_types/index.html index af7dc13753..6f23965164 100644 --- a/dev/modeler_guide/enumerated_types/index.html +++ b/dev/modeler_guide/enumerated_types/index.html @@ -1,2 +1,2 @@ -Enumerated Types · PowerSystems.jl

Enumerated Types

To specify fields representing an option from a pre-defined list, some of the fields of Component structs are specified with IS.scoped_enums (e.g. set_fuel!(gen, ThermalFuels.COAL)). Below are the enumerated types contained in PowerSystems.

ThermalFuels

Each ThermalGen generator struct contains a field for fuel::ThermalFuels where ThermalFuels are intended to reflect the options denoted by the Aggregated Fuel Codes from the EIA Annual Energy Review. Specifically, ThermalFuels is an enumerated type with the following options:

EnumNameEIA Fuel CodeDescription
COALCOLAnthracite Coal and Bituminous Coal
WASTE_COALWOCWaste/Other Coal (includes anthracite culm, gob, fine coal, lignite waste, waste coal)
DISTILLATE_FUEL_OILDFODistillate Fuel Oil (Diesel, No. 1, No. 2, and No. 4)
WASTE_OILWOOWaste Oil Kerosene and JetFuel Butane, Propane
PETROLEUM_COKEPCPetroleum Coke
RESIDUAL_FUEL_OILRFOResidual Fuel Oil (No. 5, No. 6 Fuel Oils, and Bunker Oil)
NATURAL_GASNGNatural Gas
OTHER_GASOOGOther Gas and blast furnace gas
NUCLEARNUCNuclear Fission (Uranium, Plutonium, Thorium)
AG_BIPRODUCTORWAgricultural Crop Byproducts/Straw/Energy Crops
MUNICIPAL_WASTEMLGMunicipal Solid Waste – Biogenic component
WOOD_WASTEWWWWood Waste Liquids excluding Black Liquor (BLQ) (Includes red liquor, sludge wood, spent sulfite liquor, and other wood-based liquids)
GEOTHERMALGEOGeothermal
OTHEROTHOther

PrimeMovers

Each generator struct contains a field for prime_mover::PrimeMovers where PrimeMovers are intended to reflect the options denoted by EIA form 923. Specifically, PrimeMovers is an enumerated type with the following options:

EnumNameDescription
BAEnergy Storage, Battery
BTTurbines Used in a Binary Cycle (including those used for geothermal applications)
CACombined-Cycle – Steam Part
CCCombined-Cycle - Aggregated Plant *augmentation of EIA
CEEnergy Storage, Compressed Air
CPEnergy Storage, Concentrated Solar Power
CSCombined-Cycle Single-Shaft Combustion turbine and steam turbine share a single generator
CTCombined-Cycle Combustion Turbine Part
ESEnergy Storage, Other
FCFuel Cell
FWEnergy Storage, Flywheel
GTCombustion (Gas) Turbine (including jet engine design)
HAHydrokinetic, Axial Flow Turbine
HBHydrokinetic, Wave Buoy
HKHydrokinetic, Other
HYHydraulic Turbine (including turbines associated with delivery of water by pipeline)
ICInternal Combustion (diesel, piston, reciprocating) Engine
PSEnergy Storage, Reversible Hydraulic Turbine (Pumped Storage)
OTOther
STSteam Turbine (including nuclear, geothermal and solar steam; does not include combined-cycle turbine)
PVPhotovoltaic *renaming from EIA PV to PVe to avoid conflict with ACBusType.PV
WTWind Turbine, Onshore
WSWind Turbine, Offshore

ACBusTypes

ACBusTypes is used to denote which quantities are specified for load flow calculations and to otherwise categorize buses for modeling activities.

EnumNameDescription
ISOLATEDDisconnected from network
PQActive and reactive power defined (load bus)
PVActive power and voltage magnitude defined (generator bus)
REFReference bus (θ = 0)
SLACKSlack bus

AngleUnits

EnumName
DEGREES
RADIANS

StateTypes

EnumName
Differential
Algebraic
Hybrid
+Enumerated Types · PowerSystems.jl

Enumerated Types

To specify fields representing an option from a pre-defined list, some of the fields of Component structs are specified with IS.scoped_enums (e.g. set_fuel!(gen, ThermalFuels.COAL)). Below are the enumerated types contained in PowerSystems.

ThermalFuels

Each ThermalGen generator struct contains a field for fuel::ThermalFuels where ThermalFuels are intended to reflect the options denoted by the Aggregated Fuel Codes from the EIA Annual Energy Review. Specifically, ThermalFuels is an enumerated type with the following options:

EnumNameEIA Fuel CodeDescription
COALCOLAnthracite Coal and Bituminous Coal
WASTE_COALWOCWaste/Other Coal (includes anthracite culm, gob, fine coal, lignite waste, waste coal)
DISTILLATE_FUEL_OILDFODistillate Fuel Oil (Diesel, No. 1, No. 2, and No. 4)
WASTE_OILWOOWaste Oil Kerosene and JetFuel Butane, Propane
PETROLEUM_COKEPCPetroleum Coke
RESIDUAL_FUEL_OILRFOResidual Fuel Oil (No. 5, No. 6 Fuel Oils, and Bunker Oil)
NATURAL_GASNGNatural Gas
OTHER_GASOOGOther Gas and blast furnace gas
NUCLEARNUCNuclear Fission (Uranium, Plutonium, Thorium)
AG_BIPRODUCTORWAgricultural Crop Byproducts/Straw/Energy Crops
MUNICIPAL_WASTEMLGMunicipal Solid Waste – Biogenic component
WOOD_WASTEWWWWood Waste Liquids excluding Black Liquor (BLQ) (Includes red liquor, sludge wood, spent sulfite liquor, and other wood-based liquids)
GEOTHERMALGEOGeothermal
OTHEROTHOther

PrimeMovers

Each generator struct contains a field for prime_mover::PrimeMovers where PrimeMovers are intended to reflect the options denoted by EIA form 923. Specifically, PrimeMovers is an enumerated type with the following options:

EnumNameDescription
BAEnergy Storage, Battery
BTTurbines Used in a Binary Cycle (including those used for geothermal applications)
CACombined-Cycle – Steam Part
CCCombined-Cycle - Aggregated Plant *augmentation of EIA
CEEnergy Storage, Compressed Air
CPEnergy Storage, Concentrated Solar Power
CSCombined-Cycle Single-Shaft Combustion turbine and steam turbine share a single generator
CTCombined-Cycle Combustion Turbine Part
ESEnergy Storage, Other
FCFuel Cell
FWEnergy Storage, Flywheel
GTCombustion (Gas) Turbine (including jet engine design)
HAHydrokinetic, Axial Flow Turbine
HBHydrokinetic, Wave Buoy
HKHydrokinetic, Other
HYHydraulic Turbine (including turbines associated with delivery of water by pipeline)
ICInternal Combustion (diesel, piston, reciprocating) Engine
PSEnergy Storage, Reversible Hydraulic Turbine (Pumped Storage)
OTOther
STSteam Turbine (including nuclear, geothermal and solar steam; does not include combined-cycle turbine)
PVPhotovoltaic *renaming from EIA PV to PVe to avoid conflict with ACBusType.PV
WTWind Turbine, Onshore
WSWind Turbine, Offshore

ACBusTypes

ACBusTypes is used to denote which quantities are specified for load flow calculations and to otherwise categorize buses for modeling activities.

EnumNameDescription
ISOLATEDDisconnected from network
PQActive and reactive power defined (load bus)
PVActive power and voltage magnitude defined (generator bus)
REFReference bus (θ = 0)
SLACKSlack bus

AngleUnits

EnumName
DEGREES
RADIANS

StateTypes

StateTypes are used to denote the type of dynamic equation a specific state is subject to in PowerSimulationsDynamics.jl

EnumNameDescription
DifferentialState evolves over time via a differential equation $\dot{x} = f(x)$
AlgebraicState evolves over time by satisfying an algebraic equation $0 = g(x)$
HybridDepending on specific parameters, the state can be Differential or Algebraic
diff --git a/dev/modeler_guide/example_dynamic_data/index.html b/dev/modeler_guide/example_dynamic_data/index.html index c64aa9ec3c..03d08fad3a 100644 --- a/dev/modeler_guide/example_dynamic_data/index.html +++ b/dev/modeler_guide/example_dynamic_data/index.html @@ -1,2 +1,2 @@ -Dynamic Devices · PowerSystems.jl

Dynamic Devices

Each sub-type is composed of the corresponding dynamic components that define the model. As a result, it is possible to flexibly define dynamic data models and methods according to the analysis requirements. DynamicInjection components use parametric a parametric type pattern to materialize the full specification of the dynamic injection model with parameters. This design enable the use of parametric methods to specify the mathematical model of the dynamic components separately.

DynamicInjection components also implement some additional information useful for the modeling like the usual states assumed by the model and the number. These values are derived from the documentation associated with the model, for instance PSS/e models provide parameters, states and variables. Although PowerSystems.jl doesn't assume a specific mathematical model for the components, the default values for these parameters are derived directly from the data model source.

Dynamic Generator

Each generator is a data structure that is defined by the following components:

Each inverter is a data structure that is defined by the following components:

  • DC Source: Defines the dynamics of the DC side of the converter.
  • Frequency Estimator: That describes how the frequency of the grid can be estimated using the grid voltages. Typically a phase-locked loop (PLL).
  • Outer Loop Control: That describes the active and reactive power control dynamics.
  • Inner Loop Control: That can describe virtual impedance, voltage control and current control dynamics.
  • Converter: That describes the dynamics of the pulse width modulation (PWM) or space vector modulation (SVM).
  • Filter: Used to connect the converter output to the grid.

+Dynamic Devices · PowerSystems.jl

Dynamic Devices

Each sub-type is composed of the corresponding dynamic components that define the model. As a result, it is possible to flexibly define dynamic data models and methods according to the analysis requirements. DynamicInjection components use parametric a parametric type pattern to materialize the full specification of the dynamic injection model with parameters. This design enable the use of parametric methods to specify the mathematical model of the dynamic components separately.

DynamicInjection components also implement some additional information useful for the modeling like the usual states assumed by the model and the number. These values are derived from the documentation associated with the model, for instance PSS/e models provide parameters, states and variables. Although PowerSystems.jl doesn't assume a specific mathematical model for the components, the default values for these parameters are derived directly from the data model source.

Dynamic Generator

Each generator is a data structure that is defined by the following components:

Each inverter is a data structure that is defined by the following components:

  • DC Source: Defines the dynamics of the DC side of the converter.
  • Frequency Estimator: That describes how the frequency of the grid can be estimated using the grid voltages. Typically a phase-locked loop (PLL).
  • Outer Loop Control: That describes the active and reactive power control dynamics.
  • Inner Loop Control: That can describe virtual impedance, voltage control and current control dynamics.
  • Converter: That describes the dynamics of the pulse width modulation (PWM) or space vector modulation (SVM).
  • Filter: Used to connect the converter output to the grid.

diff --git a/dev/modeler_guide/glossary/index.html b/dev/modeler_guide/glossary/index.html new file mode 100644 index 0000000000..35da810344 --- /dev/null +++ b/dev/modeler_guide/glossary/index.html @@ -0,0 +1,2 @@ + +Glossary and Acronyms · PowerSystems.jl

Glossary and Acronyms

A | D | E | F | H | I | O | P | R | S | V | Z

A

  • AC: Alternating current

  • ACE: Area control error

  • AGC: Automatic generation control

  • AVR: Automatic Voltage Regulator

D

  • DC: Direct current

  • DERA1:

  • Dynamic: Refers to data and simulations for power system transient simulations using differential equations. Common examples include signal stability analysis to verify the power system will maintain stability in the few seconds following an unexpected fault or generator trip. For contrast, see the definition for Static data.

E

  • EMF: Electromotive force

  • ESAC: IEEE Type AC Excitation System model

  • ESDC: IEEE Type DC Excitation System model

  • EXAC: IEEE Type AC Excitation System (modified) model

  • EXPIC: Proportional/Integral Excitation System from PSS/E

  • EXST: IEEE Type ST (Static) Excitation System model

  • EX4VSA: IEEE Excitation System for Voltage Security Assessment with Over-Excitation Limits.

F

  • Forecast: Predicted values of a time-varying quantity that commonly features a look-ahead and can have multiple data values representing each time period. This data is used in simulation with receding horizons or data generated from forecasting algorithms. See the article on Time Series Data.

  • Forecast window: Represents the forecasted value starting at a particular initial time. See the article on Time Series Data.

H

  • Horizon: Is the count of discrete values in a forecast, all horizons in PowerSystems.jl are represented with Int. For instance, many Day-ahead markets will have a forecast with a horizon 24. See the article on Time Series Data.

  • HVDC: High-voltage DC

I

  • IEEET: IEEE Type I Excitation System.

  • Injector or Injection: Injectors refer to models that represent how a generator or storage device injects power or current into the power system. Loads are negative injectors. In PowerSystems.jl, some components can accept data for both StaticInjection and DynamicInjection models for both static and dynamic modeling.

  • Interval: The period of time between forecast initial times. In PowerSystems.jl all intervals are represented using Dates.Period types. For instance, in a Day-Ahead market simulation, the interval is usually Hour(24).

  • Initial time: The first time-stamp in a forecast. See the article on Time Series Data.

  • IPC: Interconnecting power converter

O

  • OEL:

P

  • PLL: Phase-locked loop

  • PSS: Power System Stabilizer

  • PSSE or PSS/E: Siemen's PSS&reg;E Power Simulator

  • PPA: Power purchase agreement

  • PSID:

  • PSLF:

  • pu or p.u.: Per-unit

R

  • REECB1:

  • REPCA1:

  • Resolution: The period of time between each discrete value in a time series. All resolutions are represented using Dates.Period types. For instance, a Day-ahead market data set usually has a resolution of Hour(1), a Real-Time market data set usually has a resolution of Minute(5).

S

  • SCRX: Bus Fed or Solid Fed Static Exciter

  • SEXS: Simplified Excitation System model from PSS/E

  • SIL: Surge impedance loading

  • States: Correspond to the set of inputs, outputs or variables, that evolve dynamically in PowerSimulationsDynamics.jl, commonly via a differential-algebraic system of equations. In PowerSystems.jl, a component associated to a DynamicInjector (for example an AVR) specifies the set of states that specific component requires to be modeled accurately.

  • Static: Typically refers to steady state data or models where the power system and each of its components are assumed to be operating at a steady state equilibrium point. This includes both power flow data for a single time point simulation as well as quasi-static time series data and models, where the power system is at an equilibrium point at each time step. Static data can be used as the input to single time point power flow models and production cost models with, for example, 5-minute, 15-minute, or 1-hour Resolution. For contrast, see the definition for Dynamic data.

  • STAB: Speed Sensitive Stabilizing PSS Model

V

  • VSCDCLine: Voltage-Source Converter Direct Current Line

  • VSM:

Z

  • ZIP load: A ZIP load model accounts for the voltage-dependency of a load and is primarily used for dynamics modeling. It includes three kinds of load: constant impedance (Z), constant current (I), and constant power (P), though many dynamics models just use the constant impedance model. StandardLoad and ExponentialLoad are both ZIP load models: StandardLoad breaks up the load into each of its three components, while ExponentialLoad expresses the load as an exponential equation.
diff --git a/dev/modeler_guide/market_bid_cost/index.html b/dev/modeler_guide/market_bid_cost/index.html index 4a5498fe32..8d8b884b5c 100644 --- a/dev/modeler_guide/market_bid_cost/index.html +++ b/dev/modeler_guide/market_bid_cost/index.html @@ -1,6 +1,6 @@ -PowerSystems MarketBidCost · PowerSystems.jl

PowerSystems MarketBidCost

Is an OperationalCost data structure that allows the user to run a production cost model that is very similar to most US electricity market auctions with bids for energy and ancillary services jointly. This page showcases how to create data for this cost function.

Adding Energy bids to MarketBidCost

Step 1: Constructiong device with MarketBidCost

When using MarketBidCost, the user can add the cost struct to the device specifying only certain elements, at this point the actual energy cost bids don't need to be populated/passed.

The code below shows an example how we can create a thermal device with MarketBidCost.

julia> using PowerSystems, Dates
julia> bus = ACBus(1, "nodeE", "REF", 0, 1.0, (min = 0.9, max = 1.05), 230, nothing, nothing) -nodeE (ACBus): +PowerSystems MarketBidCost · PowerSystems.jl

PowerSystems MarketBidCost

Is an OperationalCost data structure that allows the user to run a production cost model that is very similar to most US electricity market auctions with bids for energy and ancillary services jointly. This page showcases how to create data for this cost function.

Adding Energy bids to MarketBidCost

Step 1: Constructiong device with MarketBidCost

When using MarketBidCost, the user can add the cost struct to the device specifying only certain elements, at this point the actual energy cost bids don't need to be populated/passed.

The code below shows an example how we can create a thermal device with MarketBidCost.

julia> using PowerSystems, Dates
julia> bus = ACBus(1, "nodeE", "REF", 0, 1.0, (min = 0.9, max = 1.05), 230, nothing, nothing) +ACBus: nodeE: number: 1 name: nodeE bustype: ACBusTypes.REF = 3 @@ -11,7 +11,9 @@ area: nothing load_zone: nothing ext: Dict{String, Any}() - internal: InfrastructureSystems.InfrastructureSystemsInternal
julia> generator = ThermalStandard( + internal: InfrastructureSystems.InfrastructureSystemsInternal + has_supplemental_attributes: false + has_time_series: false
julia> generator = ThermalStandard( name = "Brighton", available = true, status = true, @@ -26,24 +28,24 @@ time_limits = (up = 0.015, down = 0.015), ramp_limits = (up = 5.0, down = 3.0), operation_cost = MarketBidCost( - no_load = 0.0, + no_load_cost = 0.0, start_up = (hot = 0.0, warm = 0.0, cold = 0.0), shut_down = 0.0, ), base_power = 100.0, ) -Brighton (ThermalStandard): +ThermalStandard: Brighton: name: Brighton available: true status: true - bus: nodeE (ACBus) + bus: ACBus: nodeE active_power: 600.0 reactive_power: 150.0 rating: 75.0 active_power_limits: (min = 0.0, max = 600.0) reactive_power_limits: (min = -450.0, max = 450.0) ramp_limits: (up = 500.0, down = 300.0) - operation_cost: MarketBidCost + operation_cost: base_power: 100.0 time_limits: (up = 0.015, down = 0.015) must_run: false @@ -53,8 +55,9 @@ time_at_status: 10000.0 dynamic_injector: nothing ext: Dict{String, Any}() - time_series_container: - internal: InfrastructureSystems.InfrastructureSystemsInternal

Step 2: Creating the TimeSeriesData for the Market Bid

The user is expected to pass the TimeSeriesData that holds the energy bid data which can be of any type (i.e. SingleTimeSeries or Deterministic) and data can be Array{Float64}, Array{Tuple{Float64, Float64}} or Array{Array{Tuple{Float64,Float64}}. If the data is just floats then the cost in the optimization is seen as a constant variable cost, but if data is a Tuple or Array{Tuple} then the model expects the tuples to be cost & power-point pairs (cost in /p.u-hr & power-point in p.u-hr), which is modeled same as TwoPartCost or ThreePartCost. Code below shows an example of how to build a TimeSeriesData.

julia> data =
+   internal: InfrastructureSystems.InfrastructureSystemsInternal
+   has_supplemental_attributes: false
+   has_time_series: false

Step 2: Creating the TimeSeriesData for the Market Bid

The user is expected to pass the TimeSeriesData that holds the energy bid data which can be of any type (i.e. SingleTimeSeries or Deterministic) and data can be Array{Float64}, Array{Tuple{Float64, Float64}} or Array{Array{Tuple{Float64,Float64}}. If the data is just floats then the cost in the optimization is seen as a constant variable cost, but if data is a Tuple or Array{Tuple} then the model expects the tuples to be cost & power-point pairs (cost in /p.u-hr & power-point in p.u-hr), which is modeled same as TwoPartCost or ThreePartCost. Code below shows an example of how to build a TimeSeriesData.

julia> data =
            Dict(Dates.DateTime("2020-01-01") => [
                [(0.0, 0.05), (290.1, 0.0733), (582.72, 0.0967), (894.1, 0.120)],
                [(0.0, 0.05), (300.1, 0.0733), (600.72, 0.0967), (900.1, 0.120)],]
@@ -63,15 +66,11 @@
            name = "variable_cost",
            data = data,
            resolution = Dates.Hour(1)
-       )Deterministic time_series (1):
-   name: variable_cost
-   data: DataStructures.SortedDict(Dates.DateTime("2020-01-01T00:00:00") => [[(0.0, 0.05), (290.1, 0.0733), (582.72, 0.0967), (894.1, 0.12)], [(0.0, 0.05), (300.1, 0.0733), (600.72, 0.0967), (900.1, 0.12)]])
-   resolution: 1 hour
-   scaling_factor_multiplier: nothing

NOTE: Due to limitations in DataStructures.jl, in PowerSystems.jl when creating Forecasts or TimeSeries for your MarketBidCost, you need to define your data as in the example or with a very explicit container. Otherwise, it won't discern the types properly in the constructor and will return SortedDict{Any,Any,Base.Order.ForwardOrdering} which causes the constructor in PowerSystems.jl to fail. For instance, you need to define the Dict with the data as follows:

    # Very verbose dict definition
+       )Deterministic("variable_cost", DataStructures.SortedDict(Dates.DateTime("2020-01-01T00:00:00") => [[(0.0, 0.05), (290.1, 0.0733), (582.72, 0.0967), (894.1, 0.12)], [(0.0, 0.05), (300.1, 0.0733), (600.72, 0.0967), (900.1, 0.12)]]), Dates.Hour(1), nothing, InfrastructureSystems.InfrastructureSystemsInternal(UUID("859e835e-2143-4d76-84d9-8d912593e38a"), nothing, nothing, nothing))

NOTE: Due to limitations in DataStructures.jl, in PowerSystems.jl when creating Forecasts or TimeSeries for your MarketBidCost, you need to define your data as in the example or with a very explicit container. Otherwise, it won't discern the types properly in the constructor and will return SortedDict{Any,Any,Base.Order.ForwardOrdering} which causes the constructor in PowerSystems.jl to fail. For instance, you need to define the Dict with the data as follows:

    # Very verbose dict definition
     data = Dict{DateTime,Array{Array{Tuple{Float64,Float64},1},1}}()
     for t in range(initial_time_sys; step = Hour(1), length = window_count)
         data[t] = MY_BID_DATA
-    end

Step 3a: Adding Energy Bid TimeSeriesData to the device

To add energy market bids time-series to the MarketBidCost, the use of set_variable_cost! is recommended. The arguments for set_variable_cost! are:

  • sys::System: PowerSystem System
  • component::StaticInjection: Static injection device
  • time_series_data::TimeSeriesData: TimeSeriesData
julia> sys = System(100.0, [bus], [generator])┌ Warning: There are no ElectricLoad Components in the System
+    end

Step 3a: Adding Energy Bid TimeSeriesData to the device

To add energy market bids time-series to the MarketBidCost, use set_variable_cost!. The arguments for set_variable_cost! are:

  • sys::System: PowerSystem System
  • component::StaticInjection: Static injection device
  • time_series_data::TimeSeriesData: TimeSeriesData
julia> sys = System(100.0, [bus], [generator])┌ Warning: There are no ElectricLoad Components in the System
 └ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/utils/IO/system_checks.jl:59
 System
 ┌───────────────────┬─────────────┐
@@ -86,13 +85,13 @@
 └───────────────────┴─────────────┘
 
 Static Components
-┌─────────────────┬───────┬────────────────────────┬───────────────┐
-│ Type            │ Count │ Has Static Time Series │ Has Forecasts │
-├─────────────────┼───────┼────────────────────────┼───────────────┤
-│ ACBus           │ 1     │ false                  │ false         │
-│ ThermalStandard │ 1     │ false                  │ false         │
-└─────────────────┴───────┴────────────────────────┴───────────────┘
julia> set_variable_cost!(sys, generator, time_series_data)

Step 3b: Adding Service Bid TimeSeriesData to the device

Similar to adding energy market bids, for adding bids for ancillary services the use of set_service_bid! is recommended.

julia> service = VariableReserve{ReserveUp}("example_reserve", true, 0.6, 2.0)
-example_reserve (VariableReserve{ReserveUp}):
+┌─────────────────┬───────┐
+│ Type            │ Count │
+├─────────────────┼───────┤
+│ ACBus           │ 1     │
+│ ThermalStandard │ 1     │
+└─────────────────┴───────┘
julia> set_variable_cost!(sys, generator, time_series_data)ERROR: TypeError: in _process_set_cost, expected PiecewiseStepData, got Type{Vector{Tuple{Float64, Float64}}}

Step 3b: Adding Service Bid TimeSeriesData to the device

Similar to adding energy market bids, for adding bids for ancillary services, use set_service_bid!.

julia> service = VariableReserve{ReserveUp}("example_reserve", true, 0.6, 2.0)
+VariableReserve: example_reserve:
    name: example_reserve
    available: true
    time_frame: 0.6
@@ -102,15 +101,12 @@
    max_participation_factor: 1.0
    deployed_fraction: 0.0
    ext: Dict{String, Any}()
-   time_series_container:
-   internal: InfrastructureSystems.InfrastructureSystemsInternal
julia> add_service!(sys, service, get_component(ThermalStandard, sys, "Brighton"))
julia> data = + internal: InfrastructureSystems.InfrastructureSystemsInternal + has_supplemental_attributes: false + has_time_series: false
julia> add_service!(sys, service, get_component(ThermalStandard, sys, "Brighton"))
julia> data = Dict(Dates.DateTime("2020-01-01") => [650.3, 750.0])Dict{Dates.DateTime, Vector{Float64}} with 1 entry: DateTime("2020-01-01T00:00:00") => [650.3, 750.0]
julia> time_series_data = Deterministic( name = get_name(service), data = data, resolution = Dates.Hour(1) - )Deterministic time_series (1): - name: example_reserve - data: DataStructures.SortedDict(Dates.DateTime("2020-01-01T00:00:00") => [650.3, 750.0]) - resolution: 1 hour - scaling_factor_multiplier: nothing
julia> set_service_bid!(sys, generator, service, time_series_data)
+ )
Deterministic("example_reserve", DataStructures.SortedDict(Dates.DateTime("2020-01-01T00:00:00") => [650.3, 750.0]), Dates.Hour(1), nothing, InfrastructureSystems.InfrastructureSystemsInternal(UUID("817ddf30-f245-49fb-8c9f-ff8772b6e48f"), nothing, nothing, nothing))
julia> set_service_bid!(sys, generator, service, time_series_data)ERROR: TypeError: in set_service_bid!, expected PiecewiseStepData, got Type{Float64}
diff --git a/dev/modeler_guide/modeling_with_JuMP/index.html b/dev/modeler_guide/modeling_with_JuMP/index.html index 9dbee31fd0..3b2637a162 100644 --- a/dev/modeler_guide/modeling_with_JuMP/index.html +++ b/dev/modeler_guide/modeling_with_JuMP/index.html @@ -1,9 +1,9 @@ -Modeling with JuMP · PowerSystems.jl

Modeling with JuMP

This page shows a minimal example of PowerSystems.jl used to develop and Economic Dispatch model. The code shows the stages to develop modeling code

  1. Make the data set from power flow and time series data,
  2. Serialize the data,
  3. Pass the data and algorithm to the model.

One of the main uses of `PowerSystems.jl is not having re-run the data generation for every model execution. The model code shows an example of populating the constraints and cost functions using accessor functions inside the model function. The example concludes by reading the data created earlier and passing the algorithm with the data.

julia> using PowerSystems
julia> const PSY = PowerSystemsPowerSystems
julia> using JuMP
julia> using Ipopt
julia> using PowerSystemCaseBuilder

The first step is to load the test data used throughout the rest of these tutorials (or set DATA_DIR as appropriate if it already exists).

julia> system_data =  build_system(PSISystems, "c_sys5_pjm")┌ Info: Building new system c_sys5_pjm from raw data
-└   sys_descriptor.raw_data = "/home/runner/.julia/artifacts/2b7013812a985ce5884696ce276ca17b2719a57a/PowerSystemsTestData-2.0/psy_data/data_5bus_pu.jl"
-[ Info: Serialized time series data to /home/runner/.julia/packages/PowerSystemCaseBuilder/8GyJc/data/serialized_system/ForecastOnly/c_sys5_pjm_time_series_storage.h5.
-[ Info: Serialized System to /home/runner/.julia/packages/PowerSystemCaseBuilder/8GyJc/data/serialized_system/ForecastOnly/c_sys5_pjm.json
-[ Info: Serialized System metadata to /home/runner/.julia/packages/PowerSystemCaseBuilder/8GyJc/data/serialized_system/ForecastOnly/c_sys5_pjm_metadata.json
+Modeling with JuMP · PowerSystems.jl

Modeling with JuMP

This page shows a minimal example of PowerSystems.jl used to develop and Economic Dispatch model. The code shows the stages to develop modeling code

  1. Make the data set from power flow and time series data,
  2. Serialize the data,
  3. Pass the data and algorithm to the model.

One of the main uses of `PowerSystems.jl is not having re-run the data generation for every model execution. The model code shows an example of populating the constraints and cost functions using accessor functions inside the model function. The example concludes by reading the data created earlier and passing the algorithm with the data.

julia> using PowerSystems
julia> const PSY = PowerSystemsPowerSystems
julia> using JuMP
julia> using Ipopt
julia> using PowerSystemCaseBuilder

The first step is to load the test data used throughout the rest of these tutorials (or set DATA_DIR as appropriate if it already exists).

julia> system_data =  build_system(PSISystems, "c_sys5_pjm")┌ Info: Building new system c_sys5_pjm from raw data
+└   sys_descriptor.raw_data = "/home/runner/.julia/artifacts/906591a156d0f786940f105e4f6aeceffefa7a2e/PowerSystemsTestData-3.0/psy_data/data_5bus_pu.jl"
+[ Info: Serialized time series data to /home/runner/.julia/packages/PowerSystemCaseBuilder/2fYQI/data/serialized_system/614e094ea985a55912fc1321256a49b755f9fc451c0f264f24d6d04af20e84d7/c_sys5_pjm_time_series_storage.h5.
+[ Info: Serialized System to /home/runner/.julia/packages/PowerSystemCaseBuilder/2fYQI/data/serialized_system/614e094ea985a55912fc1321256a49b755f9fc451c0f264f24d6d04af20e84d7/c_sys5_pjm.json
+[ Info: Serialized System metadata to /home/runner/.julia/packages/PowerSystemCaseBuilder/2fYQI/data/serialized_system/614e094ea985a55912fc1321256a49b755f9fc451c0f264f24d6d04af20e84d7/c_sys5_pjm_metadata.json
 System
 ┌───────────────────┬─────────────┐
 │ Property          │ Value       │
@@ -17,26 +17,26 @@
 └───────────────────┴─────────────┘
 
 Static Components
-┌───────────────────┬───────┬────────────────────────┬───────────────┐
-│ Type              │ Count │ Has Static Time Series │ Has Forecasts │
-├───────────────────┼───────┼────────────────────────┼───────────────┤
-│ ACBus             │ 5     │ false                  │ false         │
-│ Arc               │ 6     │ false                  │ false         │
-│ Line              │ 6     │ false                  │ false         │
-│ PowerLoad         │ 3     │ true                   │ false         │
-│ RenewableDispatch │ 2     │ true                   │ false         │
-│ ThermalStandard   │ 5     │ false                  │ false         │
-└───────────────────┴───────┴────────────────────────┴───────────────┘
+┌───────────────────┬───────┐
+│ Type              │ Count │
+├───────────────────┼───────┤
+│ ACBus             │ 5     │
+│ Arc               │ 6     │
+│ Line              │ 6     │
+│ PowerLoad         │ 3     │
+│ RenewableDispatch │ 2     │
+│ ThermalStandard   │ 5     │
+└───────────────────┴───────┘
 
 Time Series Summary
-┌──────────────────────────────────┬────────────┐
-│ Property                         │ Value      │
-├──────────────────────────────────┼────────────┤
-│ Components with time series data │ 5          │
-│ Total StaticTimeSeries           │ 5          │
-│ Total Forecasts                  │ 0          │
-│ Resolution                       │ 60 minutes │
-└──────────────────────────────────┴────────────┘
julia> function ed_model(system::System, optimizer) +┌───────────────────┬────────────────┬──────────────────┬─────────────────────── +│ owner_type │ owner_category │ time_series_type │ time_series_category ⋯ +│ String │ String │ String │ String ⋯ +├───────────────────┼────────────────┼──────────────────┼─────────────────────── +│ PowerLoad │ Component │ SingleTimeSeries │ StaticTimeSeries ⋯ +│ RenewableDispatch │ Component │ SingleTimeSeries │ StaticTimeSeries ⋯ +└───────────────────┴────────────────┴──────────────────┴─────────────────────── + 3 columns omitted
julia> function ed_model(system::System, optimizer) ed_m = Model(optimizer) time_periods = 1:24 thermal_gens_names = get_name.(get_components(ThermalStandard, system)) @@ -69,75 +69,4 @@ ) optimize!(ed_m) return ed_m - ended_model (generic function with 1 method)
julia> results = ed_model(system_data, Ipopt.Optimizer) -****************************************************************************** -This program contains Ipopt, a library for large-scale nonlinear optimization. - Ipopt is released as open source code under the Eclipse Public License (EPL). - For more information visit https://github.com/coin-or/Ipopt -****************************************************************************** - -This is Ipopt version 3.14.14, running with linear solver MUMPS 5.6.2. - -Number of nonzeros in equality constraint Jacobian...: 120 -Number of nonzeros in inequality constraint Jacobian.: 240 -Number of nonzeros in Lagrangian Hessian.............: 0 - -Total number of variables............................: 120 - variables with only lower bounds: 120 - variables with lower and upper bounds: 0 - variables with only upper bounds: 0 -Total number of equality constraints.................: 24 -Total number of inequality constraints...............: 240 - inequality constraints with only lower bounds: 120 - inequality constraints with lower and upper bounds: 0 - inequality constraints with only upper bounds: 120 - -iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls - 0 2.6159974e+01 2.52e+00 6.07e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0 - 1 6.4569853e+02 7.10e-01 3.42e+01 -1.0 5.65e-01 - 2.08e-02 7.18e-01h 1 - 2 5.2023163e+02 6.87e-01 3.31e+01 -1.0 2.09e+01 - 2.97e-02 3.25e-02f 1 - 3 4.4033326e+02 6.50e-01 3.14e+01 -1.0 6.64e+00 - 1.08e-01 5.30e-02f 1 - 4 4.0560222e+02 5.78e-01 2.79e+01 -1.0 2.88e+00 - 1.73e-01 1.12e-01f 1 - 5 4.0100081e+02 5.39e-01 2.60e+01 -1.0 5.67e+00 - 9.29e-02 6.75e-02f 1 - 6 3.9908466e+02 4.48e-01 2.16e+01 -1.0 1.99e+00 - 3.84e-01 1.68e-01h 1 - 7 4.3287862e+02 1.43e-01 7.23e+00 -1.0 5.96e-01 - 1.00e+00 6.81e-01h 1 - 8 4.6122880e+02 4.44e-16 1.00e-06 -1.0 1.51e-01 - 1.00e+00 1.00e+00h 1 - 9 4.4374486e+02 4.44e-16 2.63e-02 -2.5 9.43e-02 - 9.17e-01 1.00e+00f 1 -iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls - 10 4.4264070e+02 4.44e-16 1.50e-09 -3.8 9.08e-03 - 1.00e+00 1.00e+00f 1 - 11 4.4261103e+02 4.44e-16 1.85e-11 -5.7 1.71e-04 - 1.00e+00 1.00e+00f 1 - 12 4.4261068e+02 4.44e-16 2.84e-14 -8.6 1.98e-06 - 1.00e+00 1.00e+00f 1 - -Number of Iterations....: 12 - - (scaled) (unscaled) -Objective...............: 4.4261067891368759e+02 4.4261067891368759e+02 -Dual infeasibility......: 2.8421709430404007e-14 2.8421709430404007e-14 -Constraint violation....: 4.4408920985006262e-16 4.4408920985006262e-16 -Variable bound violation: 9.8329323571942150e-09 9.8329323571942150e-09 -Complementarity.........: 2.5091354477996078e-09 2.5091354477996078e-09 -Overall NLP error.......: 2.5091354477996078e-09 2.5091354477996078e-09 - - -Number of objective function evaluations = 13 -Number of objective gradient evaluations = 13 -Number of equality constraint evaluations = 13 -Number of inequality constraint evaluations = 13 -Number of equality constraint Jacobian evaluations = 1 -Number of inequality constraint Jacobian evaluations = 1 -Number of Lagrangian Hessian evaluations = 1 -Total seconds in IPOPT = 0.011 - -EXIT: Optimal Solution Found. -A JuMP Model -Minimization problem with: -Variables: 120 -Objective function type: JuMP.QuadExpr -`JuMP.AffExpr`-in-`MathOptInterface.EqualTo{Float64}`: 24 constraints -`JuMP.AffExpr`-in-`MathOptInterface.GreaterThan{Float64}`: 120 constraints -`JuMP.AffExpr`-in-`MathOptInterface.LessThan{Float64}`: 120 constraints -`JuMP.VariableRef`-in-`MathOptInterface.GreaterThan{Float64}`: 120 constraints -Model mode: AUTOMATIC -CachingOptimizer state: ATTACHED_OPTIMIZER -Solver name: Ipopt -Names registered in the model: pg
+ end
ed_model (generic function with 1 method)
julia> results = ed_model(system_data, Ipopt.Optimizer)ERROR: UndefVarError: `get_cost` not defined
diff --git a/dev/modeler_guide/parsing/index.html b/dev/modeler_guide/parsing/index.html index 73ae0ae4a1..a166ff9c40 100644 --- a/dev/modeler_guide/parsing/index.html +++ b/dev/modeler_guide/parsing/index.html @@ -1,15 +1,15 @@ -Parsing Data · PowerSystems.jl

Parsing Data

PowerSystems.jl supports the creation of a System from a variety of common data formats:

MATPOWER / PSS/e

The following code will create a System from a MATPOWER or PSS/e file:

julia> using PowerSystems
julia> file_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "tutorials_data")"/home/runner/work/PowerSystems.jl/PowerSystems.jl/docs/src/tutorials/tutorials_data"
julia> sys = System(joinpath(file_dir, "case5.m"))[ Info: Correcting vm in bus 1 to 1.07762 to match generator set-point +Parsing Data · PowerSystems.jl

Parsing Data

PowerSystems.jl supports the creation of a System from a variety of common data formats:

MATPOWER / PSS/e

The following code will create a System from a MATPOWER or PSS/e file:

julia> using PowerSystems
julia> file_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "tutorials_data")"/home/runner/work/PowerSystems.jl/PowerSystems.jl/docs/src/tutorials/tutorials_data"
julia> sys = System(joinpath(file_dir, "case5.m"))[ Info: Correcting vm in bus 1 to 1.07762 to match generator set-point [ Info: Correcting vm in bus 3 to 1.1 to match generator set-point [ Info: Correcting vm in bus 4 to 1.06414 to match generator set-point [ Info: Correcting vm in bus 10 to 1.06907 to match generator set-point [ Info: extending matpower format with data: areas 1x3 [ Info: reversing the orientation of branch 6 (4, 3) to be consistent with other parallel branches -[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] -[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] [ Info: removing 1 cost terms from generator 5: [1000.0, 0.0] +[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] [ Info: removing 1 cost terms from generator 2: [1500.0, 0.0] [ Info: removing 1 cost terms from generator 3: [3000.0, 0.0] +[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] ┌ Info: Constructing System from Power Models │ data["name"] = "nesta_case5_pjm" └ data["source_type"] = "matpower" @@ -18,7 +18,7 @@ [ Info: Reading LoadZones data in PowerModels dict to populate System ... [ Info: Reading generator data [ Info: Reading branch data -[ Info: Reading branch data +[ Info: Reading shunt data [ Info: Reading DC Line data [ Info: Reading storage data System @@ -34,18 +34,18 @@ └───────────────────┴─────────────┘ Static Components -┌──────────────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├──────────────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 5 │ false │ false │ -│ Arc │ 6 │ false │ false │ -│ Area │ 1 │ false │ false │ -│ Line │ 5 │ false │ false │ -│ LoadZone │ 1 │ false │ false │ -│ PhaseShiftingTransformer │ 2 │ false │ false │ -│ PowerLoad │ 3 │ false │ false │ -│ ThermalStandard │ 5 │ false │ false │ -└──────────────────────────┴───────┴────────────────────────┴───────────────┘

PSS/e dynamic data parsing

PSS/e's dynamic model library is extensive, we currently support parsing a limited amount of models out of the box.

Machine modelsAVR ModelsPrime MoversPSS models
GENSAEIEEET1HYGOVIEEEST
GENSALESDC1AIEEEG1
GENROEESAC1AGGOV1
GENCLSESST4B
GENROUEXAC2
EXPIC1
ESAC6A
EXAC1
SCRX
ESDC2A

Creating a Dynamic System using .RAW and .DYR data

A PowerSystems.jl system can be created using a .RAW and a .DYR file. In this example we will create the following three bus system using the following RAW file:

0, 100, 33, 0, 0, 60  / 24-Apr-2020 19:28:39 - MATPOWER 7.0.1-dev
+┌──────────────────────────┬───────┐
+│ Type                     │ Count │
+├──────────────────────────┼───────┤
+│ ACBus                    │ 5     │
+│ Arc                      │ 6     │
+│ Area                     │ 1     │
+│ Line                     │ 5     │
+│ LoadZone                 │ 1     │
+│ PhaseShiftingTransformer │ 2     │
+│ PowerLoad                │ 3     │
+│ ThermalStandard          │ 5     │
+└──────────────────────────┴───────┘

PSS/e dynamic data parsing

PSS/e's dynamic model library is extensive, we currently support parsing a limited amount of models out of the box.

Machine modelsAVR ModelsPrime MoversPSS models
GENSAEIEEET1HYGOVIEEEST
GENSALESDC1AIEEEG1
GENROEESAC1AGGOV1
GENCLSESST4B
GENROUEXAC2
EXPIC1
ESAC6A
EXAC1
SCRX
ESDC2A

Creating a Dynamic System using .RAW and .DYR data

A PowerSystems.jl system can be created using a .RAW and a .DYR file. In this example we will create the following three bus system using the following RAW file:

0, 100, 33, 0, 0, 60  / 24-Apr-2020 19:28:39 - MATPOWER 7.0.1-dev
 
 
      101, 'BUS 1       ',       138, 3,    1,    1, 1,           1.02,        0,  1.1,  0.9,  1.1,  0.9
@@ -93,9 +93,9 @@
 [ Info: Parsing PSS(R)E Transformer data into a PowerModels Dict...
 [ Info: Parsing PSS(R)E Two-Terminal and VSC DC line data into a PowerModels Dict...
 ┌ Warning: This PSS(R)E parser currently doesn't support Storage data parsing...
-└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:985
+└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:998
 ┌ Warning: This PSS(R)E parser currently doesn't support Switch data parsing...
-└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:991
+└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:1004
 [ Info: angmin and angmax values are 0, widening these values on branch 1 to +/- 60.0 deg.
 [ Info: angmin and angmax values are 0, widening these values on branch 2 to +/- 60.0 deg.
 [ Info: angmin and angmax values are 0, widening these values on branch 3 to +/- 60.0 deg.
@@ -107,7 +107,7 @@
 [ Info: Reading LoadZones data in PowerModels dict to populate System ...
 [ Info: Reading generator data
 [ Info: Reading branch data
-[ Info: Reading branch data
+[ Info: Reading shunt data
 [ Info: Reading DC Line data
 [ Info: Reading storage data
 [ Info: Generators provided in .dyr, without a generator in .raw file will be skipped.
@@ -125,26 +125,27 @@
 └───────────────────┴─────────────┘
 
 Static Components
-┌─────────────────┬───────┬────────────────────────┬───────────────┐
-│ Type            │ Count │ Has Static Time Series │ Has Forecasts │
-├─────────────────┼───────┼────────────────────────┼───────────────┤
-│ ACBus           │ 3     │ false                  │ false         │
-│ Arc             │ 3     │ false                  │ false         │
-│ Area            │ 1     │ false                  │ false         │
-│ Line            │ 3     │ false                  │ false         │
-│ LoadZone        │ 1     │ false                  │ false         │
-│ Source          │ 1     │ false                  │ false         │
-│ StandardLoad    │ 3     │ false                  │ false         │
-│ ThermalStandard │ 2     │ false                  │ false         │
-└─────────────────┴───────┴────────────────────────┴───────────────┘
+┌─────────────────┬───────┐
+│ Type            │ Count │
+├─────────────────┼───────┤
+│ ACBus           │ 3     │
+│ Arc             │ 3     │
+│ Area            │ 1     │
+│ Line            │ 3     │
+│ LoadZone        │ 1     │
+│ Source          │ 1     │
+│ StandardLoad    │ 3     │
+│ ThermalStandard │ 2     │
+└─────────────────┴───────┘
 
 Dynamic Components
-┌──────────────────┬───────┐
-│ Type             │ Count │
-├──────────────────┼───────┤
-│ DynamicGenerator │ 1     │
-│ DynamicGenerator │ 1     │
-└──────────────────┴───────┘

Common Issues

Please note that while PSS/e does not enforce unique bus names, PowerSystems.jl does. To reparse bus names to comply with this requirement the bus_name_formatter *kwarg can be used in System() as shown in the example below:

julia> dyn_system = System(RAW_dir, DYR_dir; bus_name_formatter = x -> strip(string(x["name"])) * "-" * string(x["index"]))[ Info: The PSS(R)E parser currently supports buses, loads, shunts, generators, branches, transformers, and dc lines
+┌───────────────────────────────────────────────────────────────────────────────
+│ Type                                                                         ⋯
+├───────────────────────────────────────────────────────────────────────────────
+│ DynamicGenerator{BaseMachine, SingleMass, AVRFixed, TGFixed, PSSFixed}       ⋯
+│ DynamicGenerator{RoundRotorExponential, SingleMass, ESST1A, TGFixed, PSSFixe ⋯
+└───────────────────────────────────────────────────────────────────────────────
+                                                               2 columns omitted

Common Issues

Please note that while PSS/e does not enforce unique bus names, PowerSystems.jl does. To reparse bus names to comply with this requirement the bus_name_formatter *kwarg can be used in System() as shown in the example below:

julia> dyn_system = System(RAW_dir, DYR_dir; bus_name_formatter = x -> strip(string(x["name"])) * "-" * string(x["index"]))[ Info: The PSS(R)E parser currently supports buses, loads, shunts, generators, branches, transformers, and dc lines
 [ Info: The PSS(R)E parser currently supports buses, loads, shunts, generators, branches, transformers, and dc lines
 [ Info: Parsing PSS(R)E Bus data into a PowerModels Dict...
 [ Info: Parsing PSS(R)E Load data into a PowerModels Dict...
@@ -154,9 +155,9 @@
 [ Info: Parsing PSS(R)E Transformer data into a PowerModels Dict...
 [ Info: Parsing PSS(R)E Two-Terminal and VSC DC line data into a PowerModels Dict...
 ┌ Warning: This PSS(R)E parser currently doesn't support Storage data parsing...
-└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:985
+└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:998
 ┌ Warning: This PSS(R)E parser currently doesn't support Switch data parsing...
-└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:991
+└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:1004
 [ Info: angmin and angmax values are 0, widening these values on branch 1 to +/- 60.0 deg.
 [ Info: angmin and angmax values are 0, widening these values on branch 2 to +/- 60.0 deg.
 [ Info: angmin and angmax values are 0, widening these values on branch 3 to +/- 60.0 deg.
@@ -168,15 +169,15 @@
 [ Info: Reading LoadZones data in PowerModels dict to populate System ...
 [ Info: Reading generator data
 [ Info: Reading branch data
-[ Info: Reading branch data
+[ Info: Reading shunt data
 [ Info: Reading DC Line data
 [ Info: Reading storage data
 [ Info: Generators provided in .dyr, without a generator in .raw file will be skipped.
 [ Info: Machine at bus 102, id 1 has zero inertia. Modeling it as Voltage Source
 ┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped
-└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/9btGb/src/validation.jl:51
+└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/xF7Mj/src/validation.jl:51
 ┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped
-└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/9btGb/src/validation.jl:51
+└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/xF7Mj/src/validation.jl:51
 System
 ┌───────────────────┬─────────────┐
 │ Property          │ Value       │
@@ -190,26 +191,27 @@
 └───────────────────┴─────────────┘
 
 Static Components
-┌─────────────────┬───────┬────────────────────────┬───────────────┐
-│ Type            │ Count │ Has Static Time Series │ Has Forecasts │
-├─────────────────┼───────┼────────────────────────┼───────────────┤
-│ ACBus           │ 3     │ false                  │ false         │
-│ Arc             │ 3     │ false                  │ false         │
-│ Area            │ 1     │ false                  │ false         │
-│ Line            │ 3     │ false                  │ false         │
-│ LoadZone        │ 1     │ false                  │ false         │
-│ Source          │ 1     │ false                  │ false         │
-│ StandardLoad    │ 3     │ false                  │ false         │
-│ ThermalStandard │ 2     │ false                  │ false         │
-└─────────────────┴───────┴────────────────────────┴───────────────┘
+┌─────────────────┬───────┐
+│ Type            │ Count │
+├─────────────────┼───────┤
+│ ACBus           │ 3     │
+│ Arc             │ 3     │
+│ Area            │ 1     │
+│ Line            │ 3     │
+│ LoadZone        │ 1     │
+│ Source          │ 1     │
+│ StandardLoad    │ 3     │
+│ ThermalStandard │ 2     │
+└─────────────────┴───────┘
 
 Dynamic Components
-┌──────────────────┬───────┐
-│ Type             │ Count │
-├──────────────────┼───────┤
-│ DynamicGenerator │ 1     │
-│ DynamicGenerator │ 1     │
-└──────────────────┴───────┘

In this example the anonymous function x -> strip(string(x["name"])) * "-" * string(x["index"]) takes the bus name and index from PSSe and concatenates them to produce the name.

PowerSystems Table Data

This is a custom format that allows users to define power system component data by category and column with custom names, types, and units.

Categories

Components for each category must be defined in their own CSV file. The following categories are currently supported:

  • branch.csv
  • bus.csv (required)
    • columns specifying area and zone will create a corresponding set of Area and LoadZone objects.
    • columns specifying max_active_power or max_reactive_power will create PowerLoad objects when nonzero values are encountered and will contribute to the peak_active_power and peak_reactive_power values for the
    corresponding LoadZone object.
  • dc_branch.csv
  • gen.csv
  • load.csv
  • reserves.csv
  • storage.csv

These must reside in the directory passed when constructing PowerSystemTableData.

Adding Time Series Data

PowerSystems requires a metadata file that maps components to their time series data in order to be able to automatically construct time_series from raw data files. The following fields are required for each time array:

  • simulation: User description of simulation
  • resolution: Resolution of time series in seconds
  • module: Module that defines the abstract type of the component
  • category: Type of component. Must map to abstract types defined by the "module" entry (Bus, ElectricLoad, Generator, LoadZone, Reserve)
  • component_name: Name of component
  • name: User-defined name for the time series data.
  • normalization_factor: Controls normalization of the data. Use 1.0 for pre-normalized data. Use 'Max' to divide the time series by the max value in the column. Use any float for a custom scaling factor.
  • scaling_factor_multiplier_module: Module that defines the accessor function for the

scaling factor

  • scaling_factor_multiplier: Accessor function of the scaling factor
  • data_file: Path to the time series data file

Notes:

  • The "module", "category", and "component_name" entries must be valid arguments to retrieve

a component using get_component(${module}.${category}, sys, $name).

  • The "scalingfactormultipliermodule" and the "scalingfactor_multiplier" entries must

be sufficient to return the scaling factor data using ${scaling_factor_multiplier_module}.${scaling_factor_multiplier}(component).

PowerSystems supports this metadata in either CSV or JSON formats. Refer to RTS_GMLC for an example.

Performance considerations

By default PowerSystems stores time series data in HDF5 files. It does not keep all of the data in memory. This means that every time you access a timeseries PowerSystems will have to read the data from storage, which will add latency. If you know ahead of time that all of your data will fit in memory then you can change this behavior by passing `timeseriesinmemory = true` when you create the System.

If the time series data is stored in HDF5 then PowerSystems will use the tmp filesystem by default. You can change this by passing time_series_directory = X when you create the System. This is required if the time series data is larger than the amount of tmp space available. You can also override the location by setting the environment variable SIIPTIMESERIES_DIRECTORY to another directory.

Customization

The tabular data parser in PowerSystems.jl can be customized to read a variety of datasets by configuring:

Here is an example of how to construct a System with all customizations listed in this section:

data_dir = "/data/my-data-dir"
+┌───────────────────────────────────────────────────────────────────────────────
+│ Type                                                                         ⋯
+├───────────────────────────────────────────────────────────────────────────────
+│ DynamicGenerator{BaseMachine, SingleMass, AVRFixed, TGFixed, PSSFixed}       ⋯
+│ DynamicGenerator{RoundRotorExponential, SingleMass, ESST1A, TGFixed, PSSFixe ⋯
+└───────────────────────────────────────────────────────────────────────────────
+                                                               2 columns omitted

In this example the anonymous function x -> strip(string(x["name"])) * "-" * string(x["index"]) takes the bus name and index from PSSe and concatenates them to produce the name.

PowerSystems Table Data

This is a custom format that allows users to define power system component data by category and column with custom names, types, and units.

Categories

Components for each category must be defined in their own CSV file. The following categories are currently supported:

  • branch.csv
  • bus.csv (required)
    • columns specifying area and zone will create a corresponding set of Area and LoadZone objects.
    • columns specifying max_active_power or max_reactive_power will create PowerLoad objects when nonzero values are encountered and will contribute to the peak_active_power and peak_reactive_power values for the
    corresponding LoadZone object.
  • dc_branch.csv
  • gen.csv
  • load.csv
  • reserves.csv
  • storage.csv

These must reside in the directory passed when constructing PowerSystemTableData.

Adding Time Series Data

PowerSystems requires a metadata file that maps components to their time series data in order to be able to automatically construct time_series from raw data files. The following fields are required for each time array:

  • simulation: User description of simulation
  • resolution: Resolution of time series in seconds
  • module: Module that defines the abstract type of the component
  • category: Type of component. Must map to abstract types defined by the "module" entry (Bus, ElectricLoad, Generator, LoadZone, Reserve)
  • component_name: Name of component
  • name: User-defined name for the time series data.
  • normalization_factor: Controls normalization of the data. Use 1.0 for pre-normalized data. Use 'Max' to divide the time series by the max value in the column. Use any float for a custom scaling factor.
  • scaling_factor_multiplier_module: Module that defines the accessor function for the

scaling factor

  • scaling_factor_multiplier: Accessor function of the scaling factor
  • data_file: Path to the time series data file

Notes:

  • The "module", "category", and "component_name" entries must be valid arguments to retrieve

a component using get_component(${module}.${category}, sys, $name).

  • The "scalingfactormultipliermodule" and the "scalingfactor_multiplier" entries must

be sufficient to return the scaling factor data using ${scaling_factor_multiplier_module}.${scaling_factor_multiplier}(component).

PowerSystems supports this metadata in either CSV or JSON formats. Refer to RTS_GMLC for an example.

Performance considerations

By default PowerSystems stores time series data in HDF5 files. It does not keep all of the data in memory. This means that every time you access a timeseries PowerSystems will have to read the data from storage, which will add latency. If you know ahead of time that all of your data will fit in memory then you can change this behavior by passing `timeseriesinmemory = true` when you create the System.

If the time series data is stored in HDF5 then PowerSystems will use the tmp filesystem by default. You can change this by passing time_series_directory = X when you create the System. This is required if the time series data is larger than the amount of tmp space available. You can also override the location by setting the environment variable SIIPTIMESERIES_DIRECTORY to another directory.

Customization

The tabular data parser in PowerSystems.jl can be customized to read a variety of datasets by configuring:

Here is an example of how to construct a System with all customizations listed in this section:

data_dir = "/data/my-data-dir"
 base_power = 100.0
 descriptors = "./user_descriptors.yaml"
 timeseries_metadata_file = "./timeseries_pointers.json"
@@ -221,4 +223,4 @@
     timeseries_metadata_file = timeseries_metadata_file,
     generator_mapping_file = generator_mapping_file,
 )
-sys = System(data, time_series_in_memory = true)

Examples configuration files can be found in the RTS-GMLC repo:

CSV Data Configurations

Custom construction of generators

PowerSystems supports custom construction of subtypes of the abstract type Generator based on fuel and type. The parsing code detects these fields in the raw data and then constructs the concrete type listed in the passed generator mapping file. The default file is src/parsers/generator_mapping.yaml. You can override this behavior by specifying your own file when constructing PowerSystemTableData.

Column names

PowerSystems provides am input mapping capability that allows you to keep your own column names.

For example, when parsing raw data for a generator the code expects a column called name. If the raw data instead defines that column as GEN UID then you can change the custom_name field under the generator category to GEN UID in your YAML file.

To enable the parsing of a custom set of csv files, you can generate a configuration file (such as user_descriptors.yaml) from the defaults, which are stored in src/descriptors/power_system_inputs.json.

python ./bin/generate_config_file.py ./user_descriptors.yaml

Next, edit this file with your customizations.

Note that the user-specific customizations are stored in YAML rather than JSON to allow for easier editing. The next few sections describe changes you can make to this YAML file. Do not edit the default JSON file.

Per-unit conversion

For more info on the per-unit conventions in PowerSystems.jl, refer to the per-unit section of the system documentation.

PowerSystems defines whether it expects a column value to be per-unit system base, per-unit device base, or natural units in power_system_inputs.json. If it expects a per-unit convention that differs from your values then you can set the unit_system in user_descriptors.yaml and PowerSystems will automatically convert the values. For example, if you have a max_active_power value stored in natural units (MW), but power_system_inputs.json specifies unit_system: device_base, you can enter unit_system: natural_units in user_descriptors.yaml and PowerSystems will divide the value by the value of the corresponding entry in the column identified by the base_reference field in power_system_inputs.json. You can also override the base_reference setting by adding base_reference: My Column to make device base per-unit conversion by dividing the value by the entry in My Column. System base per-unit conversions always divide the value by the system base_power value instantiated when constructing a System.

Unit conversion

PowerSystems provides a limited set of unit conversions. For example, if power_system_inputs.json indicates that a value's unit is degrees but your values are in radians then you can set unit: radian in your YAML file. Other valid unit entries include GW, GWh, MW, MWh, kW, and kWh.

+sys = System(data, time_series_in_memory = true)

Examples configuration files can be found in the RTS-GMLC repo:

CSV Data Configurations

Custom construction of generators

PowerSystems supports custom construction of subtypes of the abstract type Generator based on fuel and type. The parsing code detects these fields in the raw data and then constructs the concrete type listed in the passed generator mapping file. The default file is src/parsers/generator_mapping.yaml. You can override this behavior by specifying your own file when constructing PowerSystemTableData.

Column names

PowerSystems provides am input mapping capability that allows you to keep your own column names.

For example, when parsing raw data for a generator the code expects a column called name. If the raw data instead defines that column as GEN UID then you can change the custom_name field under the generator category to GEN UID in your YAML file.

To enable the parsing of a custom set of csv files, you can generate a configuration file (such as user_descriptors.yaml) from the defaults, which are stored in src/descriptors/power_system_inputs.json.

python ./bin/generate_config_file.py ./user_descriptors.yaml

Next, edit this file with your customizations.

Note that the user-specific customizations are stored in YAML rather than JSON to allow for easier editing. The next few sections describe changes you can make to this YAML file. Do not edit the default JSON file.

Per-unit conversion

For more info on the per-unit conventions in PowerSystems.jl, refer to the per-unit section of the system documentation.

PowerSystems defines whether it expects a column value to be per-unit system base, per-unit device base, or natural units in power_system_inputs.json. If it expects a per-unit convention that differs from your values then you can set the unit_system in user_descriptors.yaml and PowerSystems will automatically convert the values. For example, if you have a max_active_power value stored in natural units (MW), but power_system_inputs.json specifies unit_system: device_base, you can enter unit_system: natural_units in user_descriptors.yaml and PowerSystems will divide the value by the value of the corresponding entry in the column identified by the base_reference field in power_system_inputs.json. You can also override the base_reference setting by adding base_reference: My Column to make device base per-unit conversion by dividing the value by the entry in My Column. System base per-unit conversions always divide the value by the system base_power value instantiated when constructing a System.

Unit conversion

PowerSystems provides a limited set of unit conversions. For example, if power_system_inputs.json indicates that a value's unit is degrees but your values are in radians then you can set unit: radian in your YAML file. Other valid unit entries include GW, GWh, MW, MWh, kW, and kWh.

diff --git a/dev/modeler_guide/system/index.html b/dev/modeler_guide/system/index.html index 3d12e7108c..34f95ab8fb 100644 --- a/dev/modeler_guide/system/index.html +++ b/dev/modeler_guide/system/index.html @@ -1,5 +1,5 @@ -System · PowerSystems.jl

System

The System is the main container of components and the time series data references. PowerSystems.jl uses a hybrid approach to data storage, where the component data and time series references are stored in volatile memory while the actual time series data is stored in an HDF5 file. This design loads into memory the portions of the data that are relevant at time of the query, and so avoids overwhelming the memory resources.

Accessing components stored in the system

PowerSystems.jl implements a wide variety of methods to search for components to aid in the development of models. The code block shows an example of retrieving components through the type hierarchy with the get_components function and exploiting the type hierarchy for modeling purposes.

The default implementation of the function get_components takes the desired device type (concrete or abstract) and the system and it also accepts filter functions for a more refined search. The container is optimized for iteration over abstract or concrete component types as described by the Type Structure. Given the potential size of the return, PowerSystems.jl returns Julia iterators in order to avoid unnecessary memory allocations.

julia> using PowerSystems
julia> file_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "tutorials_data")"/home/runner/work/PowerSystems.jl/PowerSystems.jl/docs/src/tutorials/tutorials_data"
julia> system = System(joinpath(file_dir, "RTS_GMLC.m"));┌ Error: Matlab parser skipping line number 802 consisting of: +System · PowerSystems.jl

System

The System is the main container of components and the time series data references. PowerSystems.jl uses a hybrid approach to data storage, where the component data and time series references are stored in volatile memory while the actual time series data is stored in an HDF5 file. This design loads into memory the portions of the data that are relevant at time of the query, and so avoids overwhelming the memory resources.

Accessing components stored in the system

PowerSystems.jl implements a wide variety of methods to search for components to aid in the development of models. The code block shows an example of retrieving components through the type hierarchy with the get_components function and exploiting the type hierarchy for modeling purposes.

The default implementation of the function get_components takes the desired device type (concrete or abstract) and the system and it also accepts filter functions for a more refined search. The container is optimized for iteration over abstract or concrete component types as described by the Type Structure. Given the potential size of the return, PowerSystems.jl returns Julia iterators in order to avoid unnecessary memory allocations.

julia> using PowerSystems
julia> file_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "tutorials_data")"/home/runner/work/PowerSystems.jl/PowerSystems.jl/docs/src/tutorials/tutorials_data"
julia> system = System(joinpath(file_dir, "RTS_GMLC.m"));┌ Error: Matlab parser skipping line number 802 consisting of: │ ]; └ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/im_io/matlab.jl:64 [ Info: Correcting vm in bus 101 to 1.0468 to match generator set-point @@ -29,196 +29,196 @@ [ Info: extending matpower format with data: gen_name 158x4 [ Info: added zero cost function data for dclines [ Info: extending matpower format by appending matrix "gen_name" in to "gen" +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 5 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 5 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 56 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 56 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 35 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 35 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 55 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 55 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 110 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 110 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 114 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 114 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 60 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 60 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 30 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 30 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 32 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 32 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 29 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 29 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 1 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 1 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 6 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 6 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 67 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 67 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 45 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 45 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 117 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 117 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 73 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 73 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 115 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 115 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 112 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 112 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 64 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 64 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 90 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 90 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 4 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 4 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 13 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 13 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 54 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 54 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 78 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 78 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 81 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 81 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 101 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 101 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 2 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 2 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 105 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 105 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 109 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 109 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 74 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 74 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 41 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 41 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 65 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 65 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 51 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 51 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 53 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 53 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 106 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 106 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 119 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 119 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 27 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 27 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 75 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 75 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 42 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 42 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 33 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 33 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 28 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 28 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 50 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 50 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 52 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 52 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 111 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 111 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 63 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 63 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 115 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 115 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 92 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 92 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 88 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 88 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 93 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 93 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 26 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 26 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 10 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 10 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 120 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 120 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 77 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 77 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 24 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 24 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 87 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 87 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 117 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 117 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 86 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 86 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 104 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 104 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 91 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 91 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 62 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 62 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 58 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 58 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 25 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 25 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 114 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 114 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 52 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 52 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 12 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 12 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 28 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 28 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 75 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 75 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 23 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 23 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 49 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 49 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 59 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 59 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 5 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 5 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 31 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 31 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 89 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 89 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 62 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 62 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 111 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 111 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 92 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 92 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 41 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 41 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 43 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 43 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 90 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 90 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 11 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 11 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 36 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 36 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 68 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 68 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 69 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 69 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 98 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 98 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 82 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 82 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 85 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 85 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 118 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 118 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 119 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 119 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 39 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 39 from 90.0 to 60.0 deg. -[ Info: the voltage setpoint on generator 78 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 105 does not match the value at bus 324 -[ Info: the voltage setpoint on generator 109 does not match the value at bus 324 -[ Info: the voltage setpoint on generator 155 does not match the value at bus 317 -[ Info: the voltage setpoint on generator 106 does not match the value at bus 312 -[ Info: the voltage setpoint on generator 75 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 111 does not match the value at bus 319 -[ Info: the voltage setpoint on generator 121 does not match the value at bus 103 -[ Info: the voltage setpoint on generator 141 does not match the value at bus 320 -[ Info: the voltage setpoint on generator 77 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 117 does not match the value at bus 212 -[ Info: the voltage setpoint on generator 154 does not match the value at bus 309 -[ Info: the voltage setpoint on generator 122 does not match the value at bus 119 -[ Info: the voltage setpoint on generator 137 does not match the value at bus 320 -[ Info: the voltage setpoint on generator 79 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 80 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 104 does not match the value at bus 310 +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 84 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 84 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 77 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 77 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 7 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 7 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 25 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 25 from 90.0 to 60.0 deg. [ Info: the voltage setpoint on generator 123 does not match the value at bus 308 -[ Info: the voltage setpoint on generator 140 does not match the value at bus 320 -[ Info: the voltage setpoint on generator 107 does not match the value at bus 310 -[ Info: the voltage setpoint on generator 97 does not match the value at bus 320 -[ Info: the voltage setpoint on generator 156 does not match the value at bus 303 +[ Info: the voltage setpoint on generator 117 does not match the value at bus 212 [ Info: the voltage setpoint on generator 136 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 104 does not match the value at bus 310 +[ Info: the voltage setpoint on generator 122 does not match the value at bus 119 +[ Info: the voltage setpoint on generator 75 does not match the value at bus 122 +[ Info: the voltage setpoint on generator 111 does not match the value at bus 319 [ Info: the voltage setpoint on generator 148 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 77 does not match the value at bus 122 [ Info: the voltage setpoint on generator 108 does not match the value at bus 324 -[ Info: the voltage setpoint on generator 116 does not match the value at bus 104 [ Info: the voltage setpoint on generator 76 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 138 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 156 does not match the value at bus 303 [ Info: the voltage setpoint on generator 18 does not match the value at bus 118 +[ Info: the voltage setpoint on generator 116 does not match the value at bus 104 +[ Info: the voltage setpoint on generator 140 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 79 does not match the value at bus 122 +[ Info: the voltage setpoint on generator 141 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 138 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 106 does not match the value at bus 312 +[ Info: the voltage setpoint on generator 109 does not match the value at bus 324 +[ Info: the voltage setpoint on generator 107 does not match the value at bus 310 +[ Info: the voltage setpoint on generator 78 does not match the value at bus 122 +[ Info: the voltage setpoint on generator 105 does not match the value at bus 324 +[ Info: the voltage setpoint on generator 137 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 154 does not match the value at bus 309 +[ Info: the voltage setpoint on generator 121 does not match the value at bus 103 +[ Info: the voltage setpoint on generator 80 does not match the value at bus 122 +[ Info: the voltage setpoint on generator 155 does not match the value at bus 317 +[ Info: the voltage setpoint on generator 97 does not match the value at bus 320 [ Info: the from bus voltage setpoint on dc line 1 does not match the value at bus 113 [ Info: the to bus voltage setpoint on dc line 1 does not match the value at bus 316 -[ Info: simplifying pwl cost on generator 78, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 81, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 101, [0.0, 0.0, 0.309, 0.0, 0.618, 0.0, 0.927, 0.0] -> [0.0, 0.0, 0.927, 0.0] -[ Info: simplifying pwl cost on generator 105, [0.0, 0.0, 0.16566669999999997, 0.0, 0.3313333, 0.0, 0.49700000000000005, 0.0] -> [0.0, 0.0, 0.49700000000000005, 0.0] -[ Info: simplifying pwl cost on generator 109, [0.0, 0.0, 0.17, 0.0, 0.34, 0.0, 0.51, 0.0] -> [0.0, 0.0, 0.51, 0.0] -[ Info: simplifying pwl cost on generator 74, [3.96, 3208.986, 3.9733332999999997, 3219.79067, 3.9866667000000002, 3230.59533, 4.0, 3241.4] -> [3.96, 3208.986, 4.0, 3241.4] -[ Info: simplifying pwl cost on generator 132, [0.0, 0.0, 0.20800000000000002, 0.0, 0.41600000000000004, 0.0, 0.624, 0.0] -> [0.0, 0.0, 0.624, 0.0] +[ Info: simplifying pwl cost on generator 110, [0.0, 0.0, 0.312, 0.0, 0.624, 0.0, 0.9359999999999999, 0.0] -> [0.0, 0.0, 0.9359999999999999, 0.0] +[ Info: simplifying pwl cost on generator 114, [0.0, 0.0, 0.0863333, 0.0, 0.1726667, 0.0, 0.259, 0.0] -> [0.0, 0.0, 0.259, 0.0] +[ Info: simplifying pwl cost on generator 123, [0.0, 0.0, 0.3363333, 0.0, 0.6726667000000001, 0.0, 1.0090000000000001, 0.0] -> [0.0, 0.0, 1.0090000000000001, 0.0] +[ Info: simplifying pwl cost on generator 117, [0.3, 0.0, 0.66, 0.0, 1.2, 0.0, 1.6, 0.0] -> [0.3, 0.0, 1.6, 0.0] +[ Info: simplifying pwl cost on generator 136, [0.0, 0.0, 0.091, 0.0, 0.182, 0.0, 0.273, 0.0] -> [0.0, 0.0, 0.273, 0.0] +[ Info: simplifying pwl cost on generator 145, [0.0, 0.0, 0.030333299999999997, 0.0, 0.060666700000000004, 0.0, 0.091, 0.0] -> [0.0, 0.0, 0.091, 0.0] +[ Info: pwl x value 0.0033333 is outside the bounds 0.0-0.0 on generator 73 +[ Info: pwl x value 0.0066667 is outside the bounds 0.0-0.0 on generator 73 +[ Info: pwl x value 0.01 is outside the bounds 0.0-0.0 on generator 73 +[ Info: simplifying pwl cost on generator 73, [0.0, 0.0, 0.0033333, 0.0, 0.0066667, 0.0, 0.01, 0.0] -> [0.0, 0.0, 0.01, 0.0] +[ Info: simplifying pwl cost on generator 115, [0.0, 0.0, 0.0843333, 0.0, 0.1686667, 0.0, 0.253, 0.0] -> [0.0, 0.0, 0.253, 0.0] [ Info: simplifying pwl cost on generator 153, [0.0, 0.0, 0.044000000000000004, 0.0, 0.08800000000000001, 0.0, 0.132, 0.0] -> [0.0, 0.0, 0.132, 0.0] -[ Info: simplifying pwl cost on generator 155, [0.0, 0.0, 2.6636667, 0.0, 5.3273333, 0.0, 7.9910000000000005, 0.0] -> [0.0, 0.0, 7.9910000000000005, 0.0] -[ Info: simplifying pwl cost on generator 106, [0.0, 0.0, 0.31366669999999996, 0.0, 0.6273333, 0.0, 0.941, 0.0] -> [0.0, 0.0, 0.941, 0.0] -[ Info: simplifying pwl cost on generator 119, [0.0, 0.0, 0.0873333, 0.0, 0.1746667, 0.0, 0.262, 0.0] -> [0.0, 0.0, 0.262, 0.0] +[ Info: simplifying pwl cost on generator 112, [0.0, 0.0, 0.41700000000000004, 0.0, 0.8340000000000001, 0.0, 1.251, 0.0] -> [0.0, 0.0, 1.251, 0.0] +[ Info: simplifying pwl cost on generator 151, [0.0, 0.0, 0.034333300000000004, 0.0, 0.0686667, 0.0, 0.10300000000000001, 0.0] -> [0.0, 0.0, 0.10300000000000001, 0.0] +[ Info: simplifying pwl cost on generator 90, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 139, [0.0, 0.0, 0.0906667, 0.0, 0.1813333, 0.0, 0.272, 0.0] -> [0.0, 0.0, 0.272, 0.0] +[ Info: simplifying pwl cost on generator 86, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 104, [0.0, 0.0, 0.1723333, 0.0, 0.3446667, 0.0, 0.517, 0.0] -> [0.0, 0.0, 0.517, 0.0] +[ Info: simplifying pwl cost on generator 91, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 158, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 150, [0.0, 0.0, 0.0373333, 0.0, 0.0746667, 0.0, 0.11199999999999999, 0.0] -> [0.0, 0.0, 0.11199999999999999, 0.0] +[ Info: simplifying pwl cost on generator 122, [0.0, 0.0, 0.222, 0.0, 0.444, 0.0, 0.6659999999999999, 0.0] -> [0.0, 0.0, 0.6659999999999999, 0.0] [ Info: simplifying pwl cost on generator 75, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] [ Info: simplifying pwl cost on generator 111, [0.0, 0.0, 0.6273333, 0.0, 1.2546667, 0.0, 1.882, 0.0] -> [0.0, 0.0, 1.882, 0.0] -[ Info: simplifying pwl cost on generator 121, [0.0, 0.0, 0.205, 0.0, 0.41, 0.0, 0.615, 0.0] -> [0.0, 0.0, 0.615, 0.0] -[ Info: simplifying pwl cost on generator 115, [0.0, 0.0, 0.0843333, 0.0, 0.1686667, 0.0, 0.253, 0.0] -> [0.0, 0.0, 0.253, 0.0] -[ Info: simplifying pwl cost on generator 141, [0.0, 0.0, 0.094, 0.0, 0.188, 0.0, 0.282, 0.0] -> [0.0, 0.0, 0.282, 0.0] +[ Info: simplifying pwl cost on generator 148, [0.0, 0.0, 0.0313333, 0.0, 0.0626667, 0.0, 0.094, 0.0] -> [0.0, 0.0, 0.094, 0.0] [ Info: pwl x value 0.0033333 is outside the bounds 0.0-0.0 on generator 92 [ Info: pwl x value 0.0066667 is outside the bounds 0.0-0.0 on generator 92 [ Info: pwl x value 0.01 is outside the bounds 0.0-0.0 on generator 92 [ Info: simplifying pwl cost on generator 92, [0.0, 0.0, 0.0033333, 0.0, 0.0066667, 0.0, 0.01, 0.0] -> [0.0, 0.0, 0.01, 0.0] -[ Info: simplifying pwl cost on generator 88, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 93, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 120, [0.0, 0.0, 0.086, 0.0, 0.172, 0.0, 0.258, 0.0] -> [0.0, 0.0, 0.258, 0.0] -[ Info: simplifying pwl cost on generator 77, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 87, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 117, [0.3, 0.0, 0.66, 0.0, 1.2, 0.0, 1.6, 0.0] -> [0.3, 0.0, 1.6, 0.0] -[ Info: simplifying pwl cost on generator 114, [0.0, 0.0, 0.0863333, 0.0, 0.1726667, 0.0, 0.259, 0.0] -> [0.0, 0.0, 0.259, 0.0] -[ Info: simplifying pwl cost on generator 154, [0.0, 0.0, 0.4943333, 0.0, 0.9886667, 0.0, 1.483, 0.0] -> [0.0, 0.0, 1.483, 0.0] -[ Info: simplifying pwl cost on generator 149, [0.0, 0.0, 0.0393333, 0.0, 0.0786667, 0.0, 0.11800000000000001, 0.0] -> [0.0, 0.0, 0.11800000000000001, 0.0] -[ Info: simplifying pwl cost on generator 89, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 122, [0.0, 0.0, 0.222, 0.0, 0.444, 0.0, 0.6659999999999999, 0.0] -> [0.0, 0.0, 0.6659999999999999, 0.0] -[ Info: simplifying pwl cost on generator 90, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 143, [0.0, 0.0, 0.0323333, 0.0, 0.0646667, 0.0, 0.09699999999999999, 0.0] -> [0.0, 0.0, 0.09699999999999999, 0.0] -[ Info: simplifying pwl cost on generator 112, [0.0, 0.0, 0.41700000000000004, 0.0, 0.8340000000000001, 0.0, 1.251, 0.0] -> [0.0, 0.0, 1.251, 0.0] -[ Info: simplifying pwl cost on generator 129, [0.0, 0.0, 0.21266670000000001, 0.0, 0.42533329999999997, 0.0, 0.638, 0.0] -> [0.0, 0.0, 0.638, 0.0] -[ Info: simplifying pwl cost on generator 150, [0.0, 0.0, 0.0373333, 0.0, 0.0746667, 0.0, 0.11199999999999999, 0.0] -> [0.0, 0.0, 0.11199999999999999, 0.0] -[ Info: simplifying pwl cost on generator 137, [0.0, 0.0, 0.09, 0.0, 0.18, 0.0, 0.27, 0.0] -> [0.0, 0.0, 0.27, 0.0] -[ Info: simplifying pwl cost on generator 94, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 86, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 126, [0.0, 0.0, 0.218, 0.0, 0.436, 0.0, 0.654, 0.0] -> [0.0, 0.0, 0.654, 0.0] -[ Info: simplifying pwl cost on generator 99, [0.0, 0.0, 0.172, 0.0, 0.344, 0.0, 0.516, 0.0] -> [0.0, 0.0, 0.516, 0.0] -[ Info: simplifying pwl cost on generator 152, [0.0, 0.0, 0.015, 0.0, 0.03, 0.0, 0.045, 0.0] -> [0.0, 0.0, 0.045, 0.0] -[ Info: pwl x value 0.0033333 is outside the bounds 0.0-0.0 on generator 73 -[ Info: pwl x value 0.0066667 is outside the bounds 0.0-0.0 on generator 73 -[ Info: pwl x value 0.01 is outside the bounds 0.0-0.0 on generator 73 -[ Info: simplifying pwl cost on generator 73, [0.0, 0.0, 0.0033333, 0.0, 0.0066667, 0.0, 0.01, 0.0] -> [0.0, 0.0, 0.01, 0.0] +[ Info: simplifying pwl cost on generator 98, [0.0, 0.0, 0.172, 0.0, 0.344, 0.0, 0.516, 0.0] -> [0.0, 0.0, 0.516, 0.0] [ Info: pwl x value 0.0033333 is outside the bounds 0.0-0.0 on generator 82 [ Info: pwl x value 0.0066667 is outside the bounds 0.0-0.0 on generator 82 [ Info: pwl x value 0.01 is outside the bounds 0.0-0.0 on generator 82 [ Info: simplifying pwl cost on generator 82, [0.0, 0.0, 0.0033333, 0.0, 0.0066667, 0.0, 0.01, 0.0] -> [0.0, 0.0, 0.01, 0.0] -[ Info: simplifying pwl cost on generator 79, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 146, [0.0, 0.0, 0.030333299999999997, 0.0, 0.060666700000000004, 0.0, 0.091, 0.0] -> [0.0, 0.0, 0.091, 0.0] -[ Info: simplifying pwl cost on generator 142, [0.0, 0.0, 0.031, 0.0, 0.062, 0.0, 0.09300000000000001, 0.0] -> [0.0, 0.0, 0.09300000000000001, 0.0] +[ Info: simplifying pwl cost on generator 85, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 118, [0.0, 0.0, 0.08900000000000001, 0.0, 0.17800000000000002, 0.0, 0.267, 0.0] -> [0.0, 0.0, 0.267, 0.0] +[ Info: simplifying pwl cost on generator 119, [0.0, 0.0, 0.0873333, 0.0, 0.1746667, 0.0, 0.262, 0.0] -> [0.0, 0.0, 0.262, 0.0] +[ Info: simplifying pwl cost on generator 125, [0.0, 0.0, 0.2103333, 0.0, 0.4206667, 0.0, 0.631, 0.0] -> [0.0, 0.0, 0.631, 0.0] +[ Info: simplifying pwl cost on generator 130, [0.0, 0.0, 0.2136667, 0.0, 0.4273333, 0.0, 0.6409999999999999, 0.0] -> [0.0, 0.0, 0.6409999999999999, 0.0] [ Info: simplifying pwl cost on generator 84, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 80, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 104, [0.0, 0.0, 0.1723333, 0.0, 0.3446667, 0.0, 0.517, 0.0] -> [0.0, 0.0, 0.517, 0.0] +[ Info: simplifying pwl cost on generator 77, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 95, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 126, [0.0, 0.0, 0.218, 0.0, 0.436, 0.0, 0.654, 0.0] -> [0.0, 0.0, 0.654, 0.0] +[ Info: simplifying pwl cost on generator 108, [0.0, 0.0, 0.172, 0.0, 0.344, 0.0, 0.516, 0.0] -> [0.0, 0.0, 0.516, 0.0] +[ Info: simplifying pwl cost on generator 76, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 103, [0.0, 0.0, 0.311, 0.0, 0.622, 0.0, 0.9329999999999999, 0.0] -> [0.0, 0.0, 0.9329999999999999, 0.0] +[ Info: simplifying pwl cost on generator 156, [0.0, 0.0, 2.8233333, 0.0, 5.6466667, 0.0, 8.47, 0.0] -> [0.0, 0.0, 8.47, 0.0] +[ Info: simplifying pwl cost on generator 93, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] [ Info: simplifying pwl cost on generator 124, [0.0, 0.0, 0.33899999999999997, 0.0, 0.6779999999999999, 0.0, 1.0170000000000001, 0.0] -> [0.0, 0.0, 1.0170000000000001, 0.0] -[ Info: simplifying pwl cost on generator 125, [0.0, 0.0, 0.2103333, 0.0, 0.4206667, 0.0, 0.631, 0.0] -> [0.0, 0.0, 0.631, 0.0] -[ Info: simplifying pwl cost on generator 98, [0.0, 0.0, 0.172, 0.0, 0.344, 0.0, 0.516, 0.0] -> [0.0, 0.0, 0.516, 0.0] +[ Info: simplifying pwl cost on generator 87, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 127, [0.0, 0.0, 0.2233333, 0.0, 0.4466667, 0.0, 0.67, 0.0] -> [0.0, 0.0, 0.67, 0.0] +[ Info: simplifying pwl cost on generator 116, [0.0, 0.0, 0.0893333, 0.0, 0.17866669999999998, 0.0, 0.268, 0.0] -> [0.0, 0.0, 0.268, 0.0] +[ Info: simplifying pwl cost on generator 100, [0.0, 0.0, 0.317, 0.0, 0.634, 0.0, 0.951, 0.0] -> [0.0, 0.0, 0.951, 0.0] +[ Info: simplifying pwl cost on generator 132, [0.0, 0.0, 0.20800000000000002, 0.0, 0.41600000000000004, 0.0, 0.624, 0.0] -> [0.0, 0.0, 0.624, 0.0] +[ Info: simplifying pwl cost on generator 140, [0.0, 0.0, 0.09, 0.0, 0.18, 0.0, 0.27, 0.0] -> [0.0, 0.0, 0.27, 0.0] +[ Info: simplifying pwl cost on generator 79, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 81, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 144, [0.0, 0.0, 0.0313333, 0.0, 0.0626667, 0.0, 0.094, 0.0] -> [0.0, 0.0, 0.094, 0.0] +[ Info: simplifying pwl cost on generator 147, [0.0, 0.0, 0.0323333, 0.0, 0.0646667, 0.0, 0.09699999999999999, 0.0] -> [0.0, 0.0, 0.09699999999999999, 0.0] ┌ Info: Constructing System from Power Models │ data["name"] = "RTS_GMLC" └ data["source_type"] = "matpower" @@ -226,26 +226,26 @@ [ Info: Reading Load data in PowerModels dict to populate System ... [ Info: Reading LoadZones data in PowerModels dict to populate System ... [ Info: Reading generator data -┌ Warning: GenericBattery should be defined as a PowerModels storage... Skipping -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_models_data.jl:549 -[ Info: Reading branch data +┌ Warning: EnergyReservoirStorage should be defined as a PowerModels storage... Skipping +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_models_data.jl:619 [ Info: Reading branch data +[ Info: Reading shunt data [ Info: Reading DC Line data [ Info: Reading storage data
julia> thermal_gens = get_components(ThermalStandard, system)ThermalStandard Counts: -ThermalStandard: 76

It is also possible to execute get_components with abstract types from the abstract tree. For instance, it is possible to retrieve all renewable generators

julia> thermal_gens = get_components(RenewableGen, system)RenewableGen Counts:
+ThermalStandard: 76

It is also possible to execute get_components with abstract types from the abstract tree. For instance, it is possible to retrieve all renewable generators

julia> thermal_gens = get_components(RenewableGen, system)RenewableGen Counts:
 RenewableDispatch: 30
-RenewableFix: 31

The most common filtering requirement is by component name and for this case the method get_component returns a single component taking the device type, system and name as arguments.

julia> my_thermal_gen = get_component(ThermalStandard, system, "323_CC_1")323_CC_1 (ThermalStandard):
+RenewableNonDispatch: 31

The most common filtering requirement is by component name and for this case the method get_component returns a single component taking the device type, system and name as arguments.

julia> my_thermal_gen = get_component(ThermalStandard, system, "323_CC_1")ThermalStandard: 323_CC_1:
    name: 323_CC_1
    available: true
    status: true
-   bus: COMTE (ACBus)
+   bus: ACBus: COMTE
    active_power: 3.55
    reactive_power: 0.3741
    rating: 3.853894134508627
    active_power_limits: (min = 1.7, max = 3.55)
    reactive_power_limits: (min = -0.25, max = 1.5)
    ramp_limits: (up = 0.0414, down = 0.0414)
-   operation_cost: ThreePartCost
+   operation_cost: ThermalGenerationCost composed of variable: CostCurve{PiecewisePointCurve}
    base_power: 100.0
    time_limits: nothing
    must_run: false
@@ -255,10 +255,11 @@
    time_at_status: 10000.0
    dynamic_injector: nothing
    ext: Dict{String, Any}()
-   time_series_container:
    InfrastructureSystems.SystemUnitsSettings:
       base_value: 100.0
-      unit_system: UnitSystem.SYSTEM_BASE = 0

Accessing data stored in a component

Using the "dot" access to get a parameter value from a component is actively discouraged, use "getter" functions instead

Using code autogeneration, PowerSystems.jl implements accessor (or "getter") functions to enable the retrieval of parameters defined in the component struct fields. Julia syntax enables access to this data using the "dot" access (e.g. component.field), however this is actively discouraged for two reasons:

  1. We make no guarantees on the stability of component structure definitions. We will maintain version stability on the accessor methods.
  2. Per-unit conversions are made in the return of data from the accessor functions. (see the per-unit section for more details)

For example, the my_thermal_gen.active_power_limits parameter of a thermal generator should be accessed as follows:

julia> get_active_power_limits(my_thermal_gen)(min = 1.7, max = 3.55)

You can also view data from all instances of a concrete type in one table with the function show_components. It provides a few options:

  1. View the standard fields by accepting the defaults.
  2. Pass a dictionary where the keys are column names and the values are functions that accept a component as a single argument.
  3. Pass a vector of symbols that are field names of the type.
julia> show_components(system, ThermalStandard)ThermalStandard
+      unit_system: UnitSystem.SYSTEM_BASE = 0
+   has_supplemental_attributes: false
+   has_time_series: false

Accessing data stored in a component

Using the "dot" access to get a parameter value from a component is actively discouraged, use "getter" functions instead

Using code autogeneration, PowerSystems.jl implements accessor (or "getter") functions to enable the retrieval of parameters defined in the component struct fields. Julia syntax enables access to this data using the "dot" access (e.g. component.field), however this is actively discouraged for two reasons:

  1. We make no guarantees on the stability of component structure definitions. We will maintain version stability on the accessor methods.
  2. Per-unit conversions are made in the return of data from the accessor functions. (see the per-unit section for more details)

For example, the my_thermal_gen.active_power_limits parameter of a thermal generator should be accessed as follows:

julia> get_active_power_limits(my_thermal_gen)(min = 1.7, max = 3.55)

You can also view data from all instances of a concrete type in one table with the function show_components. It provides a few options:

  1. View the standard fields by accepting the defaults.
  2. Pass a dictionary where the keys are column names and the values are functions that accept a component as a single argument.
  3. Pass a vector of symbols that are field names of the type.
julia> show_components(system, ThermalStandard)ThermalStandard
 ┌─────────────────┬───────────┐
 │ name            │ available │
 ├─────────────────┼───────────┤
@@ -268,9 +269,9 @@
 │ 315_STEAM_1     │ true      │
 │ 223_CT_4        │ true      │
 │ 213_CT_1        │ true      │
-│ 313_CC_1        │ true      │
 │ 123_STEAM_2     │ true      │
 │ 223_CT_6        │ true      │
+│ 313_CC_1        │ true      │
 │ 202_CT_2        │ true      │
 │ 101_STEAM_3     │ true      │
 │ 302_CT_1        │ true      │
@@ -283,15 +284,15 @@
 │ 202_CT_1        │ true      │
 │ 113_CT_2        │ true      │
 │ 221_CC_1        │ true      │
-│ 315_CT_7        │ true      │
 │ 223_CT_5        │ true      │
+│ 315_CT_7        │ true      │
 │ 215_CT_5        │ true      │
 │ 114_SYNC_COND_1 │ true      │
 │ 323_CC_1        │ true      │
 │ 101_STEAM_4     │ true      │
 │ 113_CT_1        │ true      │
-│ 223_STEAM_3     │ true      │
 │ 318_CC_1        │ true      │
+│ 223_STEAM_3     │ true      │
 │ 307_CT_2        │ true      │
 │ 213_CT_2        │ true      │
 │ 113_CT_4        │ true      │
@@ -325,13 +326,13 @@
 │ 102_CT_2        │ true      │
 │ 123_CT_4        │ true      │
 │ 207_CT_1        │ true      │
-│ 301_CT_3        │ true      │
 │ 316_STEAM_1     │ true      │
+│ 301_CT_3        │ true      │
 │ 102_CT_1        │ true      │
 │ 216_STEAM_1     │ true      │
 │ 315_CT_6        │ true      │
-│ 201_STEAM_3     │ true      │
 │ 201_CT_2        │ true      │
+│ 201_STEAM_3     │ true      │
 │ 201_CT_1        │ true      │
 │ 301_CT_2        │ true      │
 │ 302_CT_4        │ true      │
@@ -348,9 +349,9 @@
 │ 315_STEAM_1     │ true      │ false           │
 │ 223_CT_4        │ true      │ false           │
 │ 213_CT_1        │ true      │ false           │
-│ 313_CC_1        │ true      │ false           │
 │ 123_STEAM_2     │ true      │ false           │
 │ 223_CT_6        │ true      │ false           │
+│ 313_CC_1        │ true      │ false           │
 │ 202_CT_2        │ true      │ false           │
 │ 101_STEAM_3     │ true      │ false           │
 │ 302_CT_1        │ true      │ false           │
@@ -363,15 +364,15 @@
 │ 202_CT_1        │ true      │ false           │
 │ 113_CT_2        │ true      │ false           │
 │ 221_CC_1        │ true      │ false           │
-│ 315_CT_7        │ true      │ false           │
 │ 223_CT_5        │ true      │ false           │
+│ 315_CT_7        │ true      │ false           │
 │ 215_CT_5        │ true      │ false           │
 │ 114_SYNC_COND_1 │ true      │ false           │
 │ 323_CC_1        │ true      │ false           │
 │ 101_STEAM_4     │ true      │ false           │
 │ 113_CT_1        │ true      │ false           │
-│ 223_STEAM_3     │ true      │ false           │
 │ 318_CC_1        │ true      │ false           │
+│ 223_STEAM_3     │ true      │ false           │
 │ 307_CT_2        │ true      │ false           │
 │ 213_CT_2        │ true      │ false           │
 │ 113_CT_4        │ true      │ false           │
@@ -405,13 +406,13 @@
 │ 102_CT_2        │ true      │ false           │
 │ 123_CT_4        │ true      │ false           │
 │ 207_CT_1        │ true      │ false           │
-│ 301_CT_3        │ true      │ false           │
 │ 316_STEAM_1     │ true      │ false           │
+│ 301_CT_3        │ true      │ false           │
 │ 102_CT_1        │ true      │ false           │
 │ 216_STEAM_1     │ true      │ false           │
 │ 315_CT_6        │ true      │ false           │
-│ 201_STEAM_3     │ true      │ false           │
 │ 201_CT_2        │ true      │ false           │
+│ 201_STEAM_3     │ true      │ false           │
 │ 201_CT_1        │ true      │ false           │
 │ 301_CT_2        │ true      │ false           │
 │ 302_CT_4        │ true      │ false           │
@@ -428,9 +429,9 @@
 │ 315_STEAM_1     │ true      │ 0.05         │ 0.06           │
 │ 223_CT_4        │ true      │ 0.22         │ 0.0024         │
 │ 213_CT_1        │ true      │ 0.55         │ 0.0923         │
-│ 313_CC_1        │ true      │ 3.55         │ 1.5            │
 │ 123_STEAM_2     │ true      │ 1.55         │ -0.0519        │
 │ 223_CT_6        │ true      │ 0.22         │ 0.0024         │
+│ 313_CC_1        │ true      │ 3.55         │ 1.5            │
 │ 202_CT_2        │ true      │ 0.08         │ 0.0513         │
 │ 101_STEAM_3     │ true      │ 0.76         │ 0.0014         │
 │ 302_CT_1        │ true      │ 0.08         │ 0.0616         │
@@ -443,15 +444,15 @@
 │ 202_CT_1        │ true      │ 0.08         │ 0.0513         │
 │ 113_CT_2        │ true      │ 0.55         │ 0.19           │
 │ 221_CC_1        │ true      │ 2.9697       │ -0.0752        │
-│ 315_CT_7        │ true      │ 0.55         │ 0.19           │
 │ 223_CT_5        │ true      │ 0.22         │ 0.0024         │
+│ 315_CT_7        │ true      │ 0.55         │ 0.19           │
 │ 215_CT_5        │ true      │ 0.55         │ 0.19           │
 │ 114_SYNC_COND_1 │ true      │ 0.0          │ 1.0332         │
 │ 323_CC_1        │ true      │ 3.55         │ 0.3741         │
 │ 101_STEAM_4     │ true      │ 0.76         │ 0.0014         │
 │ 113_CT_1        │ true      │ 0.55         │ 0.19           │
-│ 223_STEAM_3     │ true      │ 3.5          │ 0.2059         │
 │ 318_CC_1        │ true      │ 3.55         │ 0.6312         │
+│ 223_STEAM_3     │ true      │ 3.5          │ 0.2059         │
 │ 307_CT_2        │ true      │ 0.55         │ 0.19           │
 │ 213_CT_2        │ true      │ 0.55         │ 0.0923         │
 │ 113_CT_4        │ true      │ 0.55         │ 0.19           │
@@ -485,13 +486,13 @@
 │ 102_CT_2        │ true      │ 0.08         │ 0.0488         │
 │ 123_CT_4        │ true      │ 0.55         │ 0.0062         │
 │ 207_CT_1        │ true      │ 0.55         │ 0.19           │
-│ 301_CT_3        │ true      │ 0.44         │ 0.1653         │
 │ 316_STEAM_1     │ true      │ 1.55         │ 0.8            │
+│ 301_CT_3        │ true      │ 0.44         │ 0.1653         │
 │ 102_CT_1        │ true      │ 0.08         │ 0.0488         │
 │ 216_STEAM_1     │ true      │ 1.55         │ 0.8            │
 │ 315_CT_6        │ true      │ 0.55         │ 0.19           │
-│ 201_STEAM_3     │ true      │ 0.76         │ 0.0699         │
 │ 201_CT_2        │ true      │ 0.08         │ 0.0529         │
+│ 201_STEAM_3     │ true      │ 0.76         │ 0.0699         │
 │ 201_CT_1        │ true      │ 0.08         │ 0.0529         │
 │ 301_CT_2        │ true      │ 0.08         │ 0.0795         │
 │ 302_CT_4        │ true      │ 0.55         │ 0.1099         │
@@ -501,4 +502,4 @@
 └─────────────────┴───────────┴──────────────┴────────────────┘

Per-unit conventions and data conversions

It is often useful to express power systems data in relative terms using per-unit conventions. PowerSystems.jl supports the automatic conversion of data between three different unit systems:

  1. Natural Units: The naturally defined units of each parameter (typically MW).
  2. System Base: Parameter values are divided by the system base_power.
  3. Device Base: Parameter values are divided by the device base_mva.

To see the unit system setting of a System:

julia> get_units_base(system)"SYSTEM_BASE"

To change the unit system setting of a System:

julia> set_units_base_system!(system, "DEVICE_BASE")[ Info: Unit System changed to UnitSystem.DEVICE_BASE = 1

The units of the parameter values stored in each struct are defined in src/descriptors/power_system_structs.json. Conversion between unit systems does not change the stored parameter values. Instead, unit system conversions are made when accessing parameters using the accessor functions (see above), thus making it imperative to utilize the accessor functions instead of the "dot" accessor methods to ensure the return of the correct values.

JSON Serialization

PowerSystems.jl provides functionality to serialize an entire system to a JSON file and then deserialize it back to a system. The main benefit is that deserializing is significantly faster than reconstructing the system from raw data files.

The function that serializes the system to_json requires the system and a file name

to_json(system, "system.json")

The serialization process stores 3 files

  1. System data file (*.json file)
  2. Validation data file (*.json file)
  3. Time Series data file (*.h5 file)

To deserialize:

system2 = System("system.json")

PowerSystems generates UUIDs for the System and all components in order to have a way to uniquely identify objects. During deserialization it restores the same UUIDs. If you will modify the System or components after deserialization then it is recommended that you set this flag to generate new UUIDs.

system2 = System("system.json", assign_new_uuids = true)

Reducing REPL printing

By default PowerSystems.jl outputs to the REPL all Logging values, this can be overwhelming in some cases. Use configure_logging to create a logger with your preferences (console and/or file, levels, etc.). For more detail refer to Logging.

Example: Set log output to only error messages

using PowerSystems
 using Logging
 configure_logging(console_level = Logging.Error)

Note: log messages are not automatically flushed to files. Call flush(logger) to make this happen.

Refer to this page for more logging configuration options. Note that it describes how to enable debug logging for some log messages but not others.

Viewing PowerSystems Data in JSON Format

PowerSystems data can be serialized and deserialized in JSON. This section shows how to explore the data outside of Julia using.

system = System("system.json")

It can be useful to view and filter the PowerSystems data in this format. There are many tools available to browse JSON data.

Here is an example GUI tool that is available online in a browser.

The command line utility jq offers even more features. The rest of this document provides example commands.

  • View the entire file pretty-printed
jq . system.json
  • View the PowerSystems component types
jq '.data.components | .[] | .__metadata__ | .type' system.json | sort | uniq
  • View specific components
jq '.data.components | .[] | select(.__metadata__.type == "ThermalStandard")' system.json
  • Get the count of a component type
# There is almost certainly a better way.
-jq '.data.components | .[] | select(.__metadata__.type == "ThermalStandard")' system.json | grep -c ThermalStandard
  • View specific component by name
jq '.data.components | .[] | select(.__metadata__.type == "ThermalStandard" and .name == "107_CC_1")' system.json
  • Filter on a field value
jq '.data.components | .[] | select(.__metadata__.type == "ThermalStandard" and .active_power > 2.3)' system.json
  • View the time series metadata for a component.
jq '.data.components | .[] | select(.__metadata__.type == "RenewableDispatch") | .time_series_container' system.json
+jq '.data.components | .[] | select(.__metadata__.type == "ThermalStandard")' system.json | grep -c ThermalStandard
  • View specific component by name
jq '.data.components | .[] | select(.__metadata__.type == "ThermalStandard" and .name == "107_CC_1")' system.json
  • Filter on a field value
jq '.data.components | .[] | select(.__metadata__.type == "ThermalStandard" and .active_power > 2.3)' system.json
diff --git a/dev/modeler_guide/system_dynamic_data/index.html b/dev/modeler_guide/system_dynamic_data/index.html index 5491ff81e6..b6ea4c1376 100644 --- a/dev/modeler_guide/system_dynamic_data/index.html +++ b/dev/modeler_guide/system_dynamic_data/index.html @@ -1,5 +1,5 @@ -Creating a System with Dynamic devices · PowerSystems.jl

Creating a System with Dynamic devices

You can access example data in the Power Systems Test Data Repository. Most of these systems are available to use using PowerSystemCaseBuilder.jl.

julia> using PowerSystems
julia> const PSY = PowerSystemsPowerSystems
julia> file_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "tutorials_data")"/home/runner/work/PowerSystems.jl/PowerSystems.jl/docs/src/tutorials/tutorials_data"

Although PowerSystems.jl is not constrained to only PSS/e files, commonly the data available comes in a pair of files: One for the static data power flow case and a second one with the dynamic components information. However, PowerSystems.jl is able to take any power flow case and specify dynamic components to it.

The following describes the system creation for the one machine infinite bus case using custom component specifications.

One Machine Infinite Bus Example

First load data from any format (see Constructing a System from RAW data for details. In this example we will load a PTI power flow data format (.raw file) as follows:

0, 100, 33, 0, 0, 60  / 24-Apr-2020 17:05:49 - MATPOWER 7.0.1-dev
+Creating a System with Dynamic devices · PowerSystems.jl

Creating a System with Dynamic devices

You can access example data in the Power Systems Test Data Repository. Most of these systems are available to use using PowerSystemCaseBuilder.jl.

julia> using PowerSystems
julia> const PSY = PowerSystemsPowerSystems
julia> file_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "tutorials_data")"/home/runner/work/PowerSystems.jl/PowerSystems.jl/docs/src/tutorials/tutorials_data"

Although PowerSystems.jl is not constrained to only PSS/e files, commonly the data available comes in a pair of files: One for the static data power flow case and a second one with the dynamic components information. However, PowerSystems.jl is able to take any power flow case and specify dynamic components to it.

The following describes the system creation for the one machine infinite bus case using custom component specifications.

One Machine Infinite Bus Example

First load data from any format (see Constructing a System from RAW data for details. In this example we will load a PTI power flow data format (.raw file) as follows:

0, 100, 33, 0, 0, 60  / 24-Apr-2020 17:05:49 - MATPOWER 7.0.1-dev
 
 
      101, 'BUS 1       ',       230, 3,    1,    1, 1,        1.05,           0, 1.06, 0.94, 1.06, 0.94
@@ -35,9 +35,9 @@
 [ Info: Parsing PSS(R)E Transformer data into a PowerModels Dict...
 [ Info: Parsing PSS(R)E Two-Terminal and VSC DC line data into a PowerModels Dict...
 ┌ Warning: This PSS(R)E parser currently doesn't support Storage data parsing...
-└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:985
+└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:998
 ┌ Warning: This PSS(R)E parser currently doesn't support Switch data parsing...
-└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:991
+└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:1004
 [ Info: angmin and angmax values are 0, widening these values on branch 1 to +/- 60.0 deg.
 [ Info: the voltage setpoint on generator 1 does not match the value at bus 102
 ┌ Info: Constructing System from Power Models
@@ -48,7 +48,7 @@
 [ Info: Reading LoadZones data in PowerModels dict to populate System ...
 [ Info: Reading generator data
 [ Info: Reading branch data
-[ Info: Reading branch data
+[ Info: Reading shunt data
 [ Info: Reading DC Line data
 [ Info: Reading storage data
 System
@@ -64,45 +64,45 @@
 └───────────────────┴─────────────┘
 
 Static Components
-┌─────────────────┬───────┬────────────────────────┬───────────────┐
-│ Type            │ Count │ Has Static Time Series │ Has Forecasts │
-├─────────────────┼───────┼────────────────────────┼───────────────┤
-│ ACBus           │ 2     │ false                  │ false         │
-│ Arc             │ 1     │ false                  │ false         │
-│ Area            │ 1     │ false                  │ false         │
-│ Line            │ 1     │ false                  │ false         │
-│ LoadZone        │ 1     │ false                  │ false         │
-│ ThermalStandard │ 1     │ false                  │ false         │
-└─────────────────┴───────┴────────────────────────┴───────────────┘

Dynamic Generator

We are now interested in attaching to the system the dynamic component that will be modeling our dynamic generator. The data can be added by directly passing a .dyr file, but in this example we want to add custom dynamic data.

Dynamic generator devices are composed by 5 components, namely, machine, shaft, avr, tg and pss (see DynamicGenerator). So we will be adding functions to create all of its components and the generator itself. The example code creates all the components for a DynamicGenerator based on specific models for its components. This result will be a classic machine model without AVR, Turbine Governor and PSS.

julia> #Machine
+┌─────────────────┬───────┐
+│ Type            │ Count │
+├─────────────────┼───────┤
+│ ACBus           │ 2     │
+│ Arc             │ 1     │
+│ Area            │ 1     │
+│ Line            │ 1     │
+│ LoadZone        │ 1     │
+│ ThermalStandard │ 1     │
+└─────────────────┴───────┘

Dynamic Generator

We are now interested in attaching to the system the dynamic component that will be modeling our dynamic generator. The data can be added by directly passing a .dyr file, but in this example we want to add custom dynamic data.

Dynamic generator devices are composed by 5 components, namely, machine, shaft, avr, tg and pss (see DynamicGenerator). So we will be adding functions to create all of its components and the generator itself. The example code creates all the components for a DynamicGenerator based on specific models for its components. This result will be a classic machine model without AVR, Turbine Governor and PSS.

julia> #Machine
        machine_classic = BaseMachine(
            R = 0.0,
            Xd_p = 0.2995,
            eq_p = 0.7087,
        )
        
-       #ShaftBaseMachine(0.0, 0.2995, 0.7087, Dict{String, Any}(), Symbol[], 0, InfrastructureSystems.InfrastructureSystemsInternal(UUID("fd91d118-dba4-49cb-85a4-ca4677b73243"), nothing, nothing))
julia> shaft_damping = SingleMass( + #ShaftBaseMachine(0.0, 0.2995, 0.7087, Dict{String, Any}(), Symbol[], 0, InfrastructureSystems.InfrastructureSystemsInternal(UUID("06a5b1ac-7af1-4e1d-88be-4e0f33c51aae"), nothing, nothing, nothing))
julia> shaft_damping = SingleMass( H = 3.148, D = 2.0, ) - #AVRSingleMass(3.148, 2.0, Dict{String, Any}(), [:δ, :ω], 2, InfrastructureSystems.InfrastructureSystemsInternal(UUID("a720178d-cf8d-465b-abd6-778a16855604"), nothing, nothing))
julia> avr_none = AVRFixed(Vf = 0.0) + #AVRSingleMass(3.148, 2.0, Dict{String, Any}(), [:δ, :ω], 2, InfrastructureSystems.InfrastructureSystemsInternal(UUID("f3a58ad2-0131-4249-be9d-32aa6e6b2eee"), nothing, nothing, nothing))
julia> avr_none = AVRFixed(Vf = 0.0) - #TurbineGovernorAVRFixed(0.0, 1.0, Dict{String, Any}(), Symbol[], 0, StateTypes[], InfrastructureSystems.InfrastructureSystemsInternal(UUID("52afd3cf-b064-4faf-9483-f1349cf12f2c"), nothing, nothing))
julia> tg_none = TGFixed(efficiency = 1.0) + #TurbineGovernorAVRFixed(0.0, 1.0, Dict{String, Any}(), Symbol[], 0, StateTypes[], InfrastructureSystems.InfrastructureSystemsInternal(UUID("848a6b40-e316-45d0-b1d5-b9f6c320db95"), nothing, nothing, nothing))
julia> tg_none = TGFixed(efficiency = 1.0) - #PSSTGFixed(1.0, 1.0, Dict{String, Any}(), Symbol[], 0, InfrastructureSystems.InfrastructureSystemsInternal(UUID("c5c080ac-8f51-42f3-8dea-23056bfa32d6"), nothing, nothing))
julia> pss_none = PSSFixed(V_pss = 0.0);

Then we can collect all the dynamic components and create the dynamic generator and assign it to a static generator of choice. In this example we will add it to the generator "generator-102-1" as follows:

julia> #Collect the static gen in the system
+       #PSSTGFixed(1.0, 1.0, Dict{String, Any}(), Symbol[], 0, InfrastructureSystems.InfrastructureSystemsInternal(UUID("8bae79f7-7c70-4ef9-a2cf-b3df84677847"), nothing, nothing, nothing))
julia> pss_none = PSSFixed(V_pss = 0.0);

Then we can collect all the dynamic components and create the dynamic generator and assign it to a static generator of choice. In this example we will add it to the generator "generator-102-1" as follows:

julia> #Collect the static gen in the system
        static_gen = get_component(Generator, omib_sys, "generator-102-1")
-       #Creates the dynamic generatorgenerator-102-1 (ThermalStandard):
+       #Creates the dynamic generatorThermalStandard: generator-102-1:
    name: generator-102-1
    available: true
    status: true
-   bus: BUS 2 (ACBus)
+   bus: ACBus: BUS 2
    active_power: 0.5
    reactive_power: 0.0
    rating: 1.4142135623730951
    active_power_limits: (min = 0.0, max = 1.0)
    reactive_power_limits: (min = -1.0, max = 1.0)
    ramp_limits: (up = 1.0, down = 1.0)
-   operation_cost: ThreePartCost
+   operation_cost: ThermalGenerationCost composed of variable: CostCurve{QuadraticCurve}
    base_power: 100.0
    time_limits: nothing
    must_run: false
@@ -112,10 +112,11 @@
    time_at_status: 10000.0
    dynamic_injector: nothing
    ext: Dict{String, Any}("z_source" => (r = 0.0, x = 1.0))
-   time_series_container:
    InfrastructureSystems.SystemUnitsSettings:
       base_value: 100.0
-      unit_system: UnitSystem.SYSTEM_BASE = 0
julia> dyn_gen = DynamicGenerator( + unit_system: UnitSystem.SYSTEM_BASE = 0 + has_supplemental_attributes: false + has_time_series: false
julia> dyn_gen = DynamicGenerator( name = get_name(static_gen), ω_ref = 1.0, machine = machine_classic, @@ -125,7 +126,7 @@ pss = pss_none, ) #Add the dynamic generator the system -generator-102-1 (DynamicGenerator{BaseMachine, SingleMass, AVRFixed, TGFixed, PSSFixed}): +DynamicGenerator: generator-102-1: name: generator-102-1 ω_ref: 1.0 machine: BaseMachine @@ -137,7 +138,9 @@ n_states: 2 states: [:δ, :ω] ext: Dict{String, Any}() - internal: InfrastructureSystems.InfrastructureSystemsInternal
julia> add_component!(omib_sys, dyn_gen, static_gen)

Once the data is created, we can export our system data such that it can be reloaded later:

to_json(omib_sys, "YOUR_DIR/omib_sys.json")

Example with Dynamic Inverter

We will now create a three bus system with one inverter and one generator. In order to do so, we will parse the following file ThreebusInverter.raw:

0, 100, 33, 0, 0, 60  / 24-Apr-2020 19:28:39 - MATPOWER 7.0.1-dev
+   internal: InfrastructureSystems.InfrastructureSystemsInternal
+   has_supplemental_attributes: false
+   has_time_series: false
julia> add_component!(omib_sys, dyn_gen, static_gen)

Once the data is created, we can export our system data such that it can be reloaded later:

to_json(omib_sys, "YOUR_DIR/omib_sys.json")

Example with Dynamic Inverter

We will now create a three bus system with one inverter and one generator. In order to do so, we will parse the following file ThreebusInverter.raw:

0, 100, 33, 0, 0, 60  / 24-Apr-2020 19:28:39 - MATPOWER 7.0.1-dev
 
 
      101, 'BUS 1       ',       138, 3,    1,    1, 1,           1.02,        0,  1.1,  0.9,  1.1,  0.9
@@ -180,9 +183,9 @@
 [ Info: Parsing PSS(R)E Transformer data into a PowerModels Dict...
 [ Info: Parsing PSS(R)E Two-Terminal and VSC DC line data into a PowerModels Dict...
 ┌ Warning: This PSS(R)E parser currently doesn't support Storage data parsing...
-└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:985
+└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:998
 ┌ Warning: This PSS(R)E parser currently doesn't support Switch data parsing...
-└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:991
+└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:1004
 [ Info: angmin and angmax values are 0, widening these values on branch 1 to +/- 60.0 deg.
 [ Info: angmin and angmax values are 0, widening these values on branch 2 to +/- 60.0 deg.
 [ Info: angmin and angmax values are 0, widening these values on branch 3 to +/- 60.0 deg.
@@ -194,7 +197,7 @@
 [ Info: Reading LoadZones data in PowerModels dict to populate System ...
 [ Info: Reading generator data
 [ Info: Reading branch data
-[ Info: Reading branch data
+[ Info: Reading shunt data
 [ Info: Reading DC Line data
 [ Info: Reading storage data
 System
@@ -210,17 +213,17 @@
 └───────────────────┴─────────────┘
 
 Static Components
-┌─────────────────┬───────┬────────────────────────┬───────────────┐
-│ Type            │ Count │ Has Static Time Series │ Has Forecasts │
-├─────────────────┼───────┼────────────────────────┼───────────────┤
-│ ACBus           │ 3     │ false                  │ false         │
-│ Arc             │ 3     │ false                  │ false         │
-│ Area            │ 1     │ false                  │ false         │
-│ Line            │ 3     │ false                  │ false         │
-│ LoadZone        │ 1     │ false                  │ false         │
-│ StandardLoad    │ 3     │ false                  │ false         │
-│ ThermalStandard │ 2     │ false                  │ false         │
-└─────────────────┴───────┴────────────────────────┴───────────────┘

We will connect a OneDOneQMachine machine at bus 102, and a Virtual Synchronous Generator Inverter at bus 103. An inverter is composed by a converter, outer control, inner control, dc source, frequency estimator and a filter (see DynamicInverter).

Dynamic Inverter definition

We will create specific components of the inverter as follows:

julia> #Define converter as an AverageConverter
+┌─────────────────┬───────┐
+│ Type            │ Count │
+├─────────────────┼───────┤
+│ ACBus           │ 3     │
+│ Arc             │ 3     │
+│ Area            │ 1     │
+│ Line            │ 3     │
+│ LoadZone        │ 1     │
+│ StandardLoad    │ 3     │
+│ ThermalStandard │ 2     │
+└─────────────────┴───────┘

We will connect a OneDOneQMachine machine at bus 102, and a Virtual Synchronous Generator Inverter at bus 103. An inverter is composed by a converter, outer control, inner control, dc source, frequency estimator and a filter (see DynamicInverter).

Dynamic Inverter definition

We will create specific components of the inverter as follows:

julia> #Define converter as an AverageConverter
        converter_high_power = AverageConverter(rated_voltage = 138.0, rated_current = 100.0)
        
        #Define Outer Control as a composition of Virtual Inertia + Reactive Power DroopAverageConverter(138.0, 100.0, Dict{String, Any}(), Symbol[], 0)
julia> outer_cont = OuterControl( @@ -243,7 +246,7 @@ #Define DC Source as a FixedSource:VoltageModeControl(0.59, 736.0, 0.0, 0.0, 0.2, 1.27, 14.3, 0.0, 50.0, 0.2, Dict{String, Any}(), [:ξd_ic, :ξq_ic, :γd_ic, :γq_ic, :ϕd_ic, :ϕq_ic], 6)
julia> dc_source_lv = FixedDCSource(voltage = 600.0) - #Define a Frequency Estimator as a PLL based on Vikram Kaura and Vladimir Blaskoc 1997 paper:FixedDCSource(600.0, Dict{String, Any}(), Symbol[], 0, InfrastructureSystems.InfrastructureSystemsInternal(UUID("e2145dc0-9a1d-4d5d-9f36-031f83b051ed"), nothing, nothing))
julia> pll = KauraPLL( + #Define a Frequency Estimator as a PLL based on Vikram Kaura and Vladimir Blaskoc 1997 paper:FixedDCSource(600.0, Dict{String, Any}(), Symbol[], 0, InfrastructureSystems.InfrastructureSystemsInternal(UUID("2ff00683-46a6-4880-89ec-9b8e2a02ad1c"), nothing, nothing, nothing))
julia> pll = KauraPLL( ω_lp = 500.0, #Cut-off frequency for LowPass filter of PLL filter. kp_pll = 0.084, #PLL proportional gain ki_pll = 4.69, #PLL integral gain @@ -260,12 +263,12 @@ Tq0_p = 0.6, ) - #ShaftOneDOneQMachine(0.0, 1.3125, 1.2578, 0.1813, 0.25, 5.89, 0.6, Dict{String, Any}(), [:eq_p, :ed_p], 2, InfrastructureSystems.InfrastructureSystemsInternal(UUID("531b3a33-00c6-4b33-8b5c-ca9af52d4a70"), nothing, nothing))
julia> shaft_no_damping = SingleMass( + #ShaftOneDOneQMachine(0.0, 1.3125, 1.2578, 0.1813, 0.25, 5.89, 0.6, Dict{String, Any}(), [:eq_p, :ed_p], 2, InfrastructureSystems.InfrastructureSystemsInternal(UUID("de90b417-5300-4176-9b7c-fec5ce9a6610"), nothing, nothing, nothing))
julia> shaft_no_damping = SingleMass( H = 3.01, D = 0.0, ) - #AVR: Type I: Resembles a DC1 AVRSingleMass(3.01, 0.0, Dict{String, Any}(), [:δ, :ω], 2, InfrastructureSystems.InfrastructureSystemsInternal(UUID("05639dfa-3876-40e5-87a6-a4d2b4b270ec"), nothing, nothing))
julia> avr_type1 = AVRTypeI( + #AVR: Type I: Resembles a DC1 AVRSingleMass(3.01, 0.0, Dict{String, Any}(), [:δ, :ω], 2, InfrastructureSystems.InfrastructureSystemsInternal(UUID("9305fd78-c9ec-451a-9509-15fcff2a4c48"), nothing, nothing, nothing))
julia> avr_type1 = AVRTypeI( Ka = 20.0, Ke = 0.01, Kf = 0.063, @@ -278,9 +281,9 @@ Be = 1.555, #2nd ceiling coefficient ) - #No TGAVRTypeI(20.0, 0.01, 0.063, 0.2, 0.314, 0.35, 0.001, (min = -5.0, max = 5.0), 0.0039, 1.555, 1.0, Dict{String, Any}(), [:Vf, :Vr1, :Vr2, :Vm], 4, StateTypes[StateTypes.Differential = 1, StateTypes.Differential = 1, StateTypes.Differential = 1, StateTypes.Differential = 1], InfrastructureSystems.InfrastructureSystemsInternal(UUID("b911dd18-86e9-43ae-bf2e-c95848837703"), nothing, nothing))
julia> tg_none = TGFixed(efficiency = 1.0) + #No TGAVRTypeI(20.0, 0.01, 0.063, 0.2, 0.314, 0.35, 0.001, (min = -5.0, max = 5.0), 0.0039, 1.555, 1.0, Dict{String, Any}(), [:Vf, :Vr1, :Vr2, :Vm], 4, StateTypes[StateTypes.Differential = 1, StateTypes.Differential = 1, StateTypes.Differential = 1, StateTypes.Differential = 1], InfrastructureSystems.InfrastructureSystemsInternal(UUID("81015b02-d679-4cd7-9b3e-468294198a0f"), nothing, nothing, nothing))
julia> tg_none = TGFixed(efficiency = 1.0) - #No PSSTGFixed(1.0, 1.0, Dict{String, Any}(), Symbol[], 0, InfrastructureSystems.InfrastructureSystemsInternal(UUID("bed7d662-4dd0-44c7-b4d4-ad86b12665ca"), nothing, nothing))
julia> pss_none = PSSFixed(V_pss = 0.0);

Add the components to the System

julia> for g in get_components(Generator, threebus_sys)
+       #No PSSTGFixed(1.0, 1.0, Dict{String, Any}(), Symbol[], 0, InfrastructureSystems.InfrastructureSystemsInternal(UUID("3481e58a-97c8-4c4c-be67-24b7aab7cf7a"), nothing, nothing, nothing))
julia> pss_none = PSSFixed(V_pss = 0.0);

Add the components to the System

julia> for g in get_components(Generator, threebus_sys)
            #Find the generator at bus 102
            if get_number(get_bus(g)) == 102
                #Create the dynamic generator
@@ -326,22 +329,23 @@
 └───────────────────┴─────────────┘
 
 Static Components
-┌─────────────────┬───────┬────────────────────────┬───────────────┐
-│ Type            │ Count │ Has Static Time Series │ Has Forecasts │
-├─────────────────┼───────┼────────────────────────┼───────────────┤
-│ ACBus           │ 3     │ false                  │ false         │
-│ Arc             │ 3     │ false                  │ false         │
-│ Area            │ 1     │ false                  │ false         │
-│ Line            │ 3     │ false                  │ false         │
-│ LoadZone        │ 1     │ false                  │ false         │
-│ StandardLoad    │ 3     │ false                  │ false         │
-│ ThermalStandard │ 2     │ false                  │ false         │
-└─────────────────┴───────┴────────────────────────┴───────────────┘
+┌─────────────────┬───────┐
+│ Type            │ Count │
+├─────────────────┼───────┤
+│ ACBus           │ 3     │
+│ Arc             │ 3     │
+│ Area            │ 1     │
+│ Line            │ 3     │
+│ LoadZone        │ 1     │
+│ StandardLoad    │ 3     │
+│ ThermalStandard │ 2     │
+└─────────────────┴───────┘
 
 Dynamic Components
-┌──────────────────┬───────┐
-│ Type             │ Count │
-├──────────────────┼───────┤
-│ DynamicGenerator │ 1     │
-│ DynamicInverter  │ 1     │
-└──────────────────┴───────┘

Finally we can seraliaze the system data for later reloading

to_json(threebus_sys, "YOUR_DIR/threebus_sys.json")
+┌─────────────────────────────────────────────────────────────────────────────── +│ Type ⋯ +├─────────────────────────────────────────────────────────────────────────────── +│ DynamicGenerator{OneDOneQMachine, SingleMass, AVRTypeI, TGFixed, PSSFixed} ⋯ +│ DynamicInverter{AverageConverter, OuterControl{VirtualInertia, ReactivePower ⋯ +└─────────────────────────────────────────────────────────────────────────────── + 2 columns omitted

Finally we can seraliaze the system data for later reloading

to_json(threebus_sys, "YOUR_DIR/threebus_sys.json")
diff --git a/dev/modeler_guide/time_series/index.html b/dev/modeler_guide/time_series/index.html index dd4cf2cf2b..519b0fc814 100644 --- a/dev/modeler_guide/time_series/index.html +++ b/dev/modeler_guide/time_series/index.html @@ -1,5 +1,5 @@ -Time Series Data · PowerSystems.jl

Time Series Data

Introduction

The bulk of the data in many power system models is time series data, in order to organize the data the potential inherent complexity, PowerSystems.jl has a set of definitions to enable consistent modeling.

  • Resolution: The period of time between each discrete value in the data, all resolutions are represented using Dates.Period types. For instance, a Day-ahead market data set usually has a resolution of Hour(1), a Real-Time market data set usually has a resolution of Minute(5).

  • Static data: a single column of time series values for a component field (such as active power) where each time period is represented by a single value. This data commonly is obtained from historical information or the realization of a time-varying quantity.

This category of Time Series data usually comes in the following format:

DateTimeValue
2020-09-01T00:00:00100.0
2020-09-01T01:00:00101.0
2020-09-01T02:00:0099.0

Where a column (or several columns) represent the timestamp associated with the value and a column stores the values of interest.

  • Forecasts: Predicted values of a time-varying quantity that commonly features a look-ahead and can have multiple data values representing each time period. This data is used in simulation with receding horizons or data generated from forecasting algorithms.

Forecast data usually comes in the following format:

DateTime01234567
2020-09-01T00:00:00100.0101.0101.390.098.087.088.067.0
2020-09-01T01:00:00101.0101.399.098.088.988.367.189.4
2020-09-01T02:00:0099.067.089.099.9100.0101.0112.0101.3

Where a column (or several columns) represent the time stamp associated with the initial time of the forecast, and the columns represent the forecasted values.

  • Interval: The period of time between forecasts initial times. In PowerSystems.jl all intervals are represented using Dates.Period types. For instance, in a Day-Ahead market simulation, the interval of the time series is usually Hour(24), in the example above, the interval is Hour(1).

  • Horizon: Is the count of discrete forecasted values, all horizons in PowerSystems.jl are represented with Int. For instance, many Day-ahead markets will have a forecast with a horizon 24.

  • Forecast window: Represents the forecasted value starting at a particular initial time.

Currently PowerSystems.jl does not support Forecasts or SingleTimeSeries with dissimilar intervals or resolution.

Types

PowerSystems.jl supports two categories of time series data depending on the process to obtain the data:

  • Static data: a single column of time series values for a component field (such as active power) where each time period is represented by a single value. This data commonly is obtained from historical information or the realization of a time-varying quantity.
  • Forecasts: Predicted values of a time-varying quantity that commonly features a look-ahead and can have multiple data values representing each time period. This data is used in simulation with receding horizons or data generated from forecasting algorithms.

Static Time Series Data

PowerSystems defines the Julia struct SingleTimeSeries to represent this data.

Forecasts

PowerSystems defines the following Julia structs to represent forecasts:

  • Deterministic: Point forecast without any uncertainty representation.
  • Probabilistic: Stores a discretized cumulative distribution functions (CDFs) or probability distribution functions (PDFs) at each time step in the look-ahead window.
  • Scenarios: Stores a set of probable trajectories for forecasted quantity with equal probability.

Storage

By default PowerSystems stores time series data in an HDF5 file. This prevents large datasets from overwhelming system memory. If you know that your dataset will fit in your computer's memory then you can increase performance by storing it in memory. Here is an example of how to do this:

sys = System(100.0; time_series_in_memory = true)

PowerSystems stores the HDF5 file in the tmp filesystem by default. You can change this by passing time_series_directory = X when you create the System. This is required if the time series data is larger than the amount of tmp space available. You can also override the location by setting the environment variable SIIPTIMESERIES_DIRECTORY to another directory.

Compression

PowerSystems does not enable HDF5 compression by default. You can enable it to get significant storage savings at the cost of CPU time.

# Take defaults.
+Time Series Data · PowerSystems.jl

Time Series Data

Introduction

The bulk of the data in many power system models is time series data. Given the potential inherent complexity, PowerSystems.jl has a set of definitions to organize this data and enable consistent modeling.

  • Resolution: The period of time between each discrete value in the data, all resolutions are represented using Dates.Period types. For instance, a Day-ahead market data set usually has a resolution of Hour(1), a Real-Time market data set usually has a resolution of Minute(5).

  • Static data: a single column of time series values for a component field (such as active power) where each time period is represented by a single value. This data commonly is obtained from historical information or the realization of a time-varying quantity.

This category of Time Series data usually comes in the following format:

DateTimeValue
2020-09-01T00:00:00100.0
2020-09-01T01:00:00101.0
2020-09-01T02:00:0099.0

Where a column (or several columns) represent the timestamp associated with the value and a column stores the values of interest.

  • Forecasts: Predicted values of a time-varying quantity that commonly features a look-ahead and can have multiple data values representing each time period. This data is used in simulation with receding horizons or data generated from forecasting algorithms.

Forecast data usually comes in the following format:

DateTime01234567
2020-09-01T00:00:00100.0101.0101.390.098.087.088.067.0
2020-09-01T01:00:00101.0101.399.098.088.988.367.189.4
2020-09-01T02:00:0099.067.089.099.9100.0101.0112.0101.3

Where a column (or several columns) represent the time stamp associated with the initial time of the forecast, and the columns represent the forecasted values.

  • Interval: The period of time between forecasts initial times. In PowerSystems.jl all intervals are represented using Dates.Period types. For instance, in a Day-Ahead market simulation, the interval of the time series is usually Hour(24), in the example above, the interval is Hour(1).

  • Horizon: Is the count of discrete forecasted values, all horizons in PowerSystems.jl are represented with Dates.Period. For instance, many Day-ahead markets will have a forecast with a horizon of Dates.Hour(24).

  • Forecast window: Represents the forecasted value starting at a particular initial time.

Currently PowerSystems.jl does not support Forecasts or SingleTimeSeries with dissimilar intervals or resolution.

Types

PowerSystems.jl supports two categories of time series data depending on the process to obtain the data:

  • Static data: a single column of time series values for a component field (such as active power) where each time period is represented by a single value. This data commonly is obtained from historical information or the realization of a time-varying quantity.
  • Forecasts: Predicted values of a time-varying quantity that commonly features a look-ahead and can have multiple data values representing each time period. This data is used in simulation with receding horizons or data generated from forecasting algorithms.

Static Time Series Data

PowerSystems defines the Julia struct SingleTimeSeries to represent this data.

Forecasts

PowerSystems defines the following Julia structs to represent forecasts:

  • Deterministic: Point forecast without any uncertainty representation.
  • Probabilistic: Stores a discretized cumulative distribution functions (CDFs) or probability distribution functions (PDFs) at each time step in the look-ahead window.
  • Scenarios: Stores a set of probable trajectories for forecasted quantity with equal probability.

Storage

By default PowerSystems stores time series data in an HDF5 file. This prevents large datasets from overwhelming system memory. If you know that your dataset will fit in your computer's memory then you can increase performance by storing it in memory. Here is an example of how to do this:

sys = System(100.0; time_series_in_memory = true)

PowerSystems stores the HDF5 file in the tmp filesystem by default. You can change this by passing time_series_directory = X when you create the System. This is required if the time series data is larger than the amount of tmp space available. You can also override the location by setting the environment variable SIIPTIMESERIES_DIRECTORY to another directory.

Compression

PowerSystems does not enable HDF5 compression by default. You can enable it to get significant storage savings at the cost of CPU time.

# Take defaults.
 sys = System(100.0; enable_compression = true)
# Customize.
 settings = CompressionSettings(
     enabled = true,
@@ -22,11 +22,43 @@
         DateTime("2020-01-01T01:00:00") => ones(24),
     )
     forecast = Deterministic(
-	"max_active_power",
-	data,
-	resolution,
-	scaling_factor_multiplier = get_max_active_power,
-    )

In this example, the forecasted component is a generator. Whenever the user retrieves the forecast data PowerSystems will call get_max_active_power(component) and multiply the result with the forecast values (scaling factors). For instance it the maximum active power returns the value 50.0 and the scaling factor at some time point is 0.65, the forecast value will correspond to 32.5.

Adding time series to the System

Adding time series data to a system requires a component that is already attached to the system. Extending the example above:

    add_time_series!(sys, component, forecast)

In order to optimize the storage of time series data, time series can be shared across devices to avoid duplication. If the same forecast applies to multiple components then can call add_time_series!, passing the collection of components that share the time series data.

    add_time_series!(sys, components, forecast)

This function stores a single copy of the data. Each component will store a reference to that data.

Removing time series data

Time series instances can be removed from a system like this:

    remove_time_series!(Deterministic, sys, "max_active_power")

Note: If you are storing time series data in an HDF5 file, this does not actually free up file space (HDF5 behavior). If you want to remove all or most time series instances then consider using clear_time_series!. It will delete the HDF5 file and create a new one. PowerSystems has plans to automate this type of workflow.

    clear_time_series!(sys)

Retrieving time series data

PowerSystems provides several methods to retrieve time series data. It is important that you choose the best one for your use case as there are performance implications. When an accessor function is used to create the forecast, the get_time_series_array methods will apply the associated multiplier and return a different value than is stored. If you want to explore the data as it's stored rather than as it's intended for modeling use, refer to the next section.

Get a TimeArray for a SingleTimeSeries

    ta = get_time_series_array(
+        "max_active_power",
+        data,
+        resolution,
+        scaling_factor_multiplier = get_max_active_power,
+    )

In this example, the forecasted component is a generator. Whenever the user retrieves the forecast data PowerSystems will call get_max_active_power(component) and multiply the result with the forecast values (scaling factors). For instance it the maximum active power returns the value 50.0 and the scaling factor at some time point is 0.65, the forecast value will correspond to 32.5.

Adding time series to the System

Adding time series data to a system requires a component that is already attached to the system. Extending the example above:

    add_time_series!(sys, component, forecast)

In order to optimize the storage of time series data, time series can be shared across devices to avoid duplication. If the same forecast applies to multiple components then can call add_time_series!, passing the collection of components that share the time series data.

    add_time_series!(sys, components, forecast)

This function stores a single copy of the data. Each component will store a reference to that data.

Time series data can also be shared on a component level. Suppose a time series array applies to both the max_active_power and max_reactive_power attributes of a generator. You can share the data as shown in this example.

    resolution = Dates.Hour(1)
+    data = Dict(
+        DateTime("2020-01-01T00:00:00") => ones(24),
+        DateTime("2020-01-01T01:00:00") => ones(24),
+    )
+    forecast_max_active_power = Deterministic(
+        "max_active_power",
+        data,
+        resolution,
+        scaling_factor_multiplier = get_max_active_power,
+    )
+    add_time_series!(sys, generator, forecast_max_active_power)
+    forecast_max_reactive_power = Deterministic(
+        forecast_max_active_power,
+        "max_reactive_power",
+        scaling_factor_multiplier = get_max_reactive_power,
+    )
+    add_time_series!(sys, generator, forecast_max_reactive_power)

Adding time series in bulk

By default, the call to add_time_series! will open the HDF5 file, write the data to the file, and close the file. It will also add a row to an SQLite database. These operations have overhead. If you will add thousands of time series arrays, consider using bulk_add_time_series!as shown in the example below. All arrays will be written with one file handle. The bulk SQLite operations are much more efficient.

This example assumes that the function read_time_series will return data appropriate for Deterministic forecasts based on the generator name.

The filenames match the component and time series names. The bulk_add_time_series! function will only load 100 arrays into memory at a time, by default.

resolution = Dates.Hour(1)
+associations = (
+    TimeSeriesAssociation(
+        gen,
+        Deterministic(
+            data = read_time_series("$(get_name(gen)).csv"),
+            name = "get_max_active_power",
+            resolution=resolution),
+    )
+    for gen in get_components(ThermalStandard, sys)
+)
+bulk_add_time_series!(sys, associations)

If you must add time series arrays one at a time, you can minimize HDF5 file handle overhead, as shown in the example below.

This example assumes that there are arrays of components and time series stored in the variables components and single_time_series, respectively.

    open_time_series_store!(sys, "r+") do
+        for (component, ts) in zip(components, single_time_series)
+            add_time_series!(sys, component, ts)
+        end
+    end

You can also use this function to make reads faster. Change the mode from "r+" to "r" to open the file read-only.

Removing time series data

Time series instances can be removed from a system like this:

    remove_time_series!(Deterministic, sys, "max_active_power")

Note: If you are storing time series data in an HDF5 file, this does not actually free up file space (HDF5 behavior). If you want to remove all or most time series instances then consider using clear_time_series!. It will delete the HDF5 file and create a new one. PowerSystems has plans to automate this type of workflow.

    clear_time_series!(sys)

Retrieving time series data

PowerSystems provides several methods to retrieve time series data. It is important that you choose the best one for your use case as there are performance implications. When an accessor function is used to create the forecast, the get_time_series_array methods will apply the associated multiplier and return a different value than is stored. If you want to explore the data as it's stored rather than as it's intended for modeling use, refer to the next section.

Get a TimeArray for a SingleTimeSeries

    ta = get_time_series_array(
         SingleTimeSeries,
         component,
         "max_active_power",
@@ -61,10 +93,10 @@
     add_time_series!(sys, component, ts)
 
     # Transform it to Deterministic
-    transform_single_time_series!(sys, 24, Hour(24))

This function transforms all SingleTimeSeries instances stored in the system. You can also call it on a single component.

You can now access either a Deterministic or the original SingleTimeSeries.

    ta_forecast = get_time_series_array(
+    transform_single_time_series!(sys, Hour(24), Hour(24))

This function transforms all SingleTimeSeries instances stored in the system. You can also call it on a single component.

You can now access either a Deterministic or the original SingleTimeSeries.

    ta_forecast = get_time_series_array(
         Deterministic,
         component,
         "max_active_power",
         start_time = DateTime("2020-01-01T00:00:00"),
     )
-    ta_static = get_time_series_array(SingleTimeSeries, component, "max_active_power")

Note: The actual type of the returned forecast will be DeterministicSingleTimeSeries. This type and Deterministic are subtypes of AbstractDeterministic and implement all of the same methods (i.e., they behave identically).

Time Series Validation

PowerSystems applies validation rules whenever users add time series to a System. It will throw an exception if any rule is violated.

  1. All time series data, static or forecasts, must have the same resolution.
  2. All forecasts must have identical parameters: initial timestamp, horizon, interval, look-ahead window count.

Static time series instances may have different start times and lengths.

Data Format

Refer to this page for details on how the time series data is stored in HDF5 files.

+ ta_static = get_time_series_array(SingleTimeSeries, component, "max_active_power")

Note: The actual type of the returned forecast will be DeterministicSingleTimeSeries. This type and Deterministic are subtypes of AbstractDeterministic and implement all of the same methods (i.e., they behave identically).

Time Series Validation

PowerSystems applies validation rules whenever users add time series to a System. It will throw an exception if any rule is violated.

  1. All time series data, static or forecasts, must have the same resolution.
  2. All forecasts must have identical parameters: initial timestamp, horizon, interval, look-ahead window count.

Static time series instances may have different start times and lengths.

Data Format

Refer to this page for details on how the time series data is stored in HDF5 files.

diff --git a/dev/modeler_guide/type_structure/index.html b/dev/modeler_guide/type_structure/index.html index 2221b0d318..544e0b7a49 100644 --- a/dev/modeler_guide/type_structure/index.html +++ b/dev/modeler_guide/type_structure/index.html @@ -1,2 +1,2 @@ -Type Structure · PowerSystems.jl

Type Structure

The abstract hierarchy enables categorization of the devices by their operational characteristics and modeling requirements.

For instance, generation is classified by the distinctive data requirements for modeling in three categories: ThermalGen, RenewableGen, and HydroGen.

As a result of this design, developers can define model logic entirely based on abstract types and create generic code to support modeling technologies that are not yet implemented in the package.

PowerSystems.jl has a category Topology of topological components (e.g., ACBus, Arc), separate from the physical components.

The hierarchy also includes components absent in standard data models, such as services. The services category includes reserves, transfers and AGC. The power of PowerSystems.jl lies in providing the abstraction without an implicit mathematical representation of the component.

In this tutorial you can find a more detailed introduction to the type system and how to manipulate data.

+Type Structure · PowerSystems.jl

Type Structure

The abstract hierarchy enables categorization of the devices by their operational characteristics and modeling requirements.

For instance, generation is classified by the distinctive data requirements for modeling in three categories: ThermalGen, RenewableGen, and HydroGen.

As a result of this design, developers can define model logic entirely based on abstract types and create generic code to support modeling technologies that are not yet implemented in the package.

PowerSystems.jl has a category Topology of topological components (e.g., ACBus, Arc), separate from the physical components.

The hierarchy also includes components absent in standard data models, such as services. The services category includes reserves, transfers and AGC. The power of PowerSystems.jl lies in providing the abstraction without an implicit mathematical representation of the component.

In the Basics tutorial, you can find a more detailed introduction to the type system and how to manipulate data.

diff --git a/dev/quick_start_guide/index.html b/dev/quick_start_guide/index.html index 17df3dfd6d..dec3359082 100644 --- a/dev/quick_start_guide/index.html +++ b/dev/quick_start_guide/index.html @@ -1,5 +1,5 @@ -Quick Start Guide · PowerSystems.jl

Quick Start Guide

PowerSystems.jl is structured to enable data creation scripts, flexible interfaces for data intake and extension of the data model. These features are enabled through three main features:

  • Abstract type hierarchy,
  • Optimized read/write data container (the container is called System),
  • Utilities to facilitate modeling, extensions, and integration.

It is possible to load examples systems directly using PowerSystemCaseBuilder.

julia> using PowerSystems

Loading data from files

Data can be loaded from several file formats and return a summary of the system's components and time-series. Some example files can be found in the tutorials data folder


julia> system_data = System(joinpath(file_dir, "RTS_GMLC.m"))┌ Error: Matlab parser skipping line number 802 consisting of: +Quick Start Guide · PowerSystems.jl

Quick Start Guide

PowerSystems.jl is structured to enable data creation scripts, flexible interfaces for data intake and extension of the data model. These features are enabled through three main features:

  • Abstract type hierarchy,
  • Optimized read/write data container (the container is called System),
  • Utilities to facilitate modeling, extensions, and integration.

It is possible to load examples systems directly using PowerSystemCaseBuilder.

julia> using PowerSystems

Loading data from files

Data can be loaded from several file formats and return a summary of the system's components and time-series. Some example files can be found in the tutorials data folder


julia> system_data = System(joinpath(file_dir, "RTS_GMLC.m"))┌ Error: Matlab parser skipping line number 802 consisting of: │ ]; └ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/im_io/matlab.jl:64 [ Info: Correcting vm in bus 101 to 1.0468 to match generator set-point @@ -29,196 +29,196 @@ [ Info: extending matpower format with data: gen_name 158x4 [ Info: added zero cost function data for dclines [ Info: extending matpower format by appending matrix "gen_name" in to "gen" +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 5 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 5 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 56 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 56 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 35 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 35 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 55 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 55 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 110 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 110 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 114 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 114 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 60 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 60 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 30 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 30 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 32 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 32 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 29 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 29 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 1 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 1 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 6 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 6 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 67 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 67 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 45 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 45 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 117 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 117 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 73 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 73 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 115 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 115 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 112 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 112 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 64 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 64 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 90 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 90 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 4 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 4 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 13 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 13 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 54 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 54 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 78 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 78 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 81 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 81 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 101 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 101 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 2 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 2 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 105 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 105 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 109 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 109 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 74 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 74 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 41 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 41 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 65 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 65 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 51 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 51 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 53 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 53 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 106 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 106 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 119 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 119 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 27 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 27 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 75 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 75 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 42 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 42 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 33 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 33 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 28 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 28 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 50 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 50 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 52 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 52 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 111 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 111 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 63 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 63 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 115 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 115 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 92 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 92 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 88 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 88 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 93 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 93 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 26 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 26 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 10 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 10 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 120 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 120 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 77 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 77 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 24 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 24 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 87 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 87 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 117 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 117 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 86 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 86 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 104 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 104 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 91 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 91 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 62 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 62 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 58 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 58 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 25 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 25 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 114 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 114 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 52 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 52 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 12 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 12 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 28 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 28 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 75 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 75 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 23 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 23 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 49 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 49 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 59 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 59 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 5 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 5 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 31 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 31 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 89 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 89 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 62 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 62 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 111 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 111 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 92 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 92 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 41 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 41 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 43 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 43 from 90.0 to 60.0 deg. -[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 90 from -90.0 to -60.0 deg. -[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 90 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 11 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 11 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 36 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 36 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 68 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 68 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 69 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 69 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 98 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 98 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 82 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 82 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 85 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 85 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 118 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 118 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 119 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 119 from 90.0 to 60.0 deg. [ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 39 from -90.0 to -60.0 deg. [ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 39 from 90.0 to 60.0 deg. -[ Info: the voltage setpoint on generator 78 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 105 does not match the value at bus 324 -[ Info: the voltage setpoint on generator 109 does not match the value at bus 324 -[ Info: the voltage setpoint on generator 155 does not match the value at bus 317 -[ Info: the voltage setpoint on generator 106 does not match the value at bus 312 -[ Info: the voltage setpoint on generator 75 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 111 does not match the value at bus 319 -[ Info: the voltage setpoint on generator 121 does not match the value at bus 103 -[ Info: the voltage setpoint on generator 141 does not match the value at bus 320 -[ Info: the voltage setpoint on generator 77 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 117 does not match the value at bus 212 -[ Info: the voltage setpoint on generator 154 does not match the value at bus 309 -[ Info: the voltage setpoint on generator 122 does not match the value at bus 119 -[ Info: the voltage setpoint on generator 137 does not match the value at bus 320 -[ Info: the voltage setpoint on generator 79 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 80 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 104 does not match the value at bus 310 +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 84 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 84 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 77 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 77 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 7 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 7 from 90.0 to 60.0 deg. +[ Info: this code only supports angmin values in -90 deg. to 90 deg., tightening the value on branch 25 from -90.0 to -60.0 deg. +[ Info: this code only supports angmax values in -90 deg. to 90 deg., tightening the value on branch 25 from 90.0 to 60.0 deg. [ Info: the voltage setpoint on generator 123 does not match the value at bus 308 -[ Info: the voltage setpoint on generator 140 does not match the value at bus 320 -[ Info: the voltage setpoint on generator 107 does not match the value at bus 310 -[ Info: the voltage setpoint on generator 97 does not match the value at bus 320 -[ Info: the voltage setpoint on generator 156 does not match the value at bus 303 +[ Info: the voltage setpoint on generator 117 does not match the value at bus 212 [ Info: the voltage setpoint on generator 136 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 104 does not match the value at bus 310 +[ Info: the voltage setpoint on generator 122 does not match the value at bus 119 +[ Info: the voltage setpoint on generator 75 does not match the value at bus 122 +[ Info: the voltage setpoint on generator 111 does not match the value at bus 319 [ Info: the voltage setpoint on generator 148 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 77 does not match the value at bus 122 [ Info: the voltage setpoint on generator 108 does not match the value at bus 324 -[ Info: the voltage setpoint on generator 116 does not match the value at bus 104 [ Info: the voltage setpoint on generator 76 does not match the value at bus 122 -[ Info: the voltage setpoint on generator 138 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 156 does not match the value at bus 303 [ Info: the voltage setpoint on generator 18 does not match the value at bus 118 +[ Info: the voltage setpoint on generator 116 does not match the value at bus 104 +[ Info: the voltage setpoint on generator 140 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 79 does not match the value at bus 122 +[ Info: the voltage setpoint on generator 141 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 138 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 106 does not match the value at bus 312 +[ Info: the voltage setpoint on generator 109 does not match the value at bus 324 +[ Info: the voltage setpoint on generator 107 does not match the value at bus 310 +[ Info: the voltage setpoint on generator 78 does not match the value at bus 122 +[ Info: the voltage setpoint on generator 105 does not match the value at bus 324 +[ Info: the voltage setpoint on generator 137 does not match the value at bus 320 +[ Info: the voltage setpoint on generator 154 does not match the value at bus 309 +[ Info: the voltage setpoint on generator 121 does not match the value at bus 103 +[ Info: the voltage setpoint on generator 80 does not match the value at bus 122 +[ Info: the voltage setpoint on generator 155 does not match the value at bus 317 +[ Info: the voltage setpoint on generator 97 does not match the value at bus 320 [ Info: the from bus voltage setpoint on dc line 1 does not match the value at bus 113 [ Info: the to bus voltage setpoint on dc line 1 does not match the value at bus 316 -[ Info: simplifying pwl cost on generator 78, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 81, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 101, [0.0, 0.0, 0.309, 0.0, 0.618, 0.0, 0.927, 0.0] -> [0.0, 0.0, 0.927, 0.0] -[ Info: simplifying pwl cost on generator 105, [0.0, 0.0, 0.16566669999999997, 0.0, 0.3313333, 0.0, 0.49700000000000005, 0.0] -> [0.0, 0.0, 0.49700000000000005, 0.0] -[ Info: simplifying pwl cost on generator 109, [0.0, 0.0, 0.17, 0.0, 0.34, 0.0, 0.51, 0.0] -> [0.0, 0.0, 0.51, 0.0] -[ Info: simplifying pwl cost on generator 74, [3.96, 3208.986, 3.9733332999999997, 3219.79067, 3.9866667000000002, 3230.59533, 4.0, 3241.4] -> [3.96, 3208.986, 4.0, 3241.4] -[ Info: simplifying pwl cost on generator 132, [0.0, 0.0, 0.20800000000000002, 0.0, 0.41600000000000004, 0.0, 0.624, 0.0] -> [0.0, 0.0, 0.624, 0.0] +[ Info: simplifying pwl cost on generator 110, [0.0, 0.0, 0.312, 0.0, 0.624, 0.0, 0.9359999999999999, 0.0] -> [0.0, 0.0, 0.9359999999999999, 0.0] +[ Info: simplifying pwl cost on generator 114, [0.0, 0.0, 0.0863333, 0.0, 0.1726667, 0.0, 0.259, 0.0] -> [0.0, 0.0, 0.259, 0.0] +[ Info: simplifying pwl cost on generator 123, [0.0, 0.0, 0.3363333, 0.0, 0.6726667000000001, 0.0, 1.0090000000000001, 0.0] -> [0.0, 0.0, 1.0090000000000001, 0.0] +[ Info: simplifying pwl cost on generator 117, [0.3, 0.0, 0.66, 0.0, 1.2, 0.0, 1.6, 0.0] -> [0.3, 0.0, 1.6, 0.0] +[ Info: simplifying pwl cost on generator 136, [0.0, 0.0, 0.091, 0.0, 0.182, 0.0, 0.273, 0.0] -> [0.0, 0.0, 0.273, 0.0] +[ Info: simplifying pwl cost on generator 145, [0.0, 0.0, 0.030333299999999997, 0.0, 0.060666700000000004, 0.0, 0.091, 0.0] -> [0.0, 0.0, 0.091, 0.0] +[ Info: pwl x value 0.0033333 is outside the bounds 0.0-0.0 on generator 73 +[ Info: pwl x value 0.0066667 is outside the bounds 0.0-0.0 on generator 73 +[ Info: pwl x value 0.01 is outside the bounds 0.0-0.0 on generator 73 +[ Info: simplifying pwl cost on generator 73, [0.0, 0.0, 0.0033333, 0.0, 0.0066667, 0.0, 0.01, 0.0] -> [0.0, 0.0, 0.01, 0.0] +[ Info: simplifying pwl cost on generator 115, [0.0, 0.0, 0.0843333, 0.0, 0.1686667, 0.0, 0.253, 0.0] -> [0.0, 0.0, 0.253, 0.0] [ Info: simplifying pwl cost on generator 153, [0.0, 0.0, 0.044000000000000004, 0.0, 0.08800000000000001, 0.0, 0.132, 0.0] -> [0.0, 0.0, 0.132, 0.0] -[ Info: simplifying pwl cost on generator 155, [0.0, 0.0, 2.6636667, 0.0, 5.3273333, 0.0, 7.9910000000000005, 0.0] -> [0.0, 0.0, 7.9910000000000005, 0.0] -[ Info: simplifying pwl cost on generator 106, [0.0, 0.0, 0.31366669999999996, 0.0, 0.6273333, 0.0, 0.941, 0.0] -> [0.0, 0.0, 0.941, 0.0] -[ Info: simplifying pwl cost on generator 119, [0.0, 0.0, 0.0873333, 0.0, 0.1746667, 0.0, 0.262, 0.0] -> [0.0, 0.0, 0.262, 0.0] +[ Info: simplifying pwl cost on generator 112, [0.0, 0.0, 0.41700000000000004, 0.0, 0.8340000000000001, 0.0, 1.251, 0.0] -> [0.0, 0.0, 1.251, 0.0] +[ Info: simplifying pwl cost on generator 151, [0.0, 0.0, 0.034333300000000004, 0.0, 0.0686667, 0.0, 0.10300000000000001, 0.0] -> [0.0, 0.0, 0.10300000000000001, 0.0] +[ Info: simplifying pwl cost on generator 90, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 139, [0.0, 0.0, 0.0906667, 0.0, 0.1813333, 0.0, 0.272, 0.0] -> [0.0, 0.0, 0.272, 0.0] +[ Info: simplifying pwl cost on generator 86, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 104, [0.0, 0.0, 0.1723333, 0.0, 0.3446667, 0.0, 0.517, 0.0] -> [0.0, 0.0, 0.517, 0.0] +[ Info: simplifying pwl cost on generator 91, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 158, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 150, [0.0, 0.0, 0.0373333, 0.0, 0.0746667, 0.0, 0.11199999999999999, 0.0] -> [0.0, 0.0, 0.11199999999999999, 0.0] +[ Info: simplifying pwl cost on generator 122, [0.0, 0.0, 0.222, 0.0, 0.444, 0.0, 0.6659999999999999, 0.0] -> [0.0, 0.0, 0.6659999999999999, 0.0] [ Info: simplifying pwl cost on generator 75, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] [ Info: simplifying pwl cost on generator 111, [0.0, 0.0, 0.6273333, 0.0, 1.2546667, 0.0, 1.882, 0.0] -> [0.0, 0.0, 1.882, 0.0] -[ Info: simplifying pwl cost on generator 121, [0.0, 0.0, 0.205, 0.0, 0.41, 0.0, 0.615, 0.0] -> [0.0, 0.0, 0.615, 0.0] -[ Info: simplifying pwl cost on generator 115, [0.0, 0.0, 0.0843333, 0.0, 0.1686667, 0.0, 0.253, 0.0] -> [0.0, 0.0, 0.253, 0.0] -[ Info: simplifying pwl cost on generator 141, [0.0, 0.0, 0.094, 0.0, 0.188, 0.0, 0.282, 0.0] -> [0.0, 0.0, 0.282, 0.0] +[ Info: simplifying pwl cost on generator 148, [0.0, 0.0, 0.0313333, 0.0, 0.0626667, 0.0, 0.094, 0.0] -> [0.0, 0.0, 0.094, 0.0] [ Info: pwl x value 0.0033333 is outside the bounds 0.0-0.0 on generator 92 [ Info: pwl x value 0.0066667 is outside the bounds 0.0-0.0 on generator 92 [ Info: pwl x value 0.01 is outside the bounds 0.0-0.0 on generator 92 [ Info: simplifying pwl cost on generator 92, [0.0, 0.0, 0.0033333, 0.0, 0.0066667, 0.0, 0.01, 0.0] -> [0.0, 0.0, 0.01, 0.0] -[ Info: simplifying pwl cost on generator 88, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 93, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 120, [0.0, 0.0, 0.086, 0.0, 0.172, 0.0, 0.258, 0.0] -> [0.0, 0.0, 0.258, 0.0] -[ Info: simplifying pwl cost on generator 77, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 87, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 117, [0.3, 0.0, 0.66, 0.0, 1.2, 0.0, 1.6, 0.0] -> [0.3, 0.0, 1.6, 0.0] -[ Info: simplifying pwl cost on generator 114, [0.0, 0.0, 0.0863333, 0.0, 0.1726667, 0.0, 0.259, 0.0] -> [0.0, 0.0, 0.259, 0.0] -[ Info: simplifying pwl cost on generator 154, [0.0, 0.0, 0.4943333, 0.0, 0.9886667, 0.0, 1.483, 0.0] -> [0.0, 0.0, 1.483, 0.0] -[ Info: simplifying pwl cost on generator 149, [0.0, 0.0, 0.0393333, 0.0, 0.0786667, 0.0, 0.11800000000000001, 0.0] -> [0.0, 0.0, 0.11800000000000001, 0.0] -[ Info: simplifying pwl cost on generator 89, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 122, [0.0, 0.0, 0.222, 0.0, 0.444, 0.0, 0.6659999999999999, 0.0] -> [0.0, 0.0, 0.6659999999999999, 0.0] -[ Info: simplifying pwl cost on generator 90, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 143, [0.0, 0.0, 0.0323333, 0.0, 0.0646667, 0.0, 0.09699999999999999, 0.0] -> [0.0, 0.0, 0.09699999999999999, 0.0] -[ Info: simplifying pwl cost on generator 112, [0.0, 0.0, 0.41700000000000004, 0.0, 0.8340000000000001, 0.0, 1.251, 0.0] -> [0.0, 0.0, 1.251, 0.0] -[ Info: simplifying pwl cost on generator 129, [0.0, 0.0, 0.21266670000000001, 0.0, 0.42533329999999997, 0.0, 0.638, 0.0] -> [0.0, 0.0, 0.638, 0.0] -[ Info: simplifying pwl cost on generator 150, [0.0, 0.0, 0.0373333, 0.0, 0.0746667, 0.0, 0.11199999999999999, 0.0] -> [0.0, 0.0, 0.11199999999999999, 0.0] -[ Info: simplifying pwl cost on generator 137, [0.0, 0.0, 0.09, 0.0, 0.18, 0.0, 0.27, 0.0] -> [0.0, 0.0, 0.27, 0.0] -[ Info: simplifying pwl cost on generator 94, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 86, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 126, [0.0, 0.0, 0.218, 0.0, 0.436, 0.0, 0.654, 0.0] -> [0.0, 0.0, 0.654, 0.0] -[ Info: simplifying pwl cost on generator 99, [0.0, 0.0, 0.172, 0.0, 0.344, 0.0, 0.516, 0.0] -> [0.0, 0.0, 0.516, 0.0] -[ Info: simplifying pwl cost on generator 152, [0.0, 0.0, 0.015, 0.0, 0.03, 0.0, 0.045, 0.0] -> [0.0, 0.0, 0.045, 0.0] -[ Info: pwl x value 0.0033333 is outside the bounds 0.0-0.0 on generator 73 -[ Info: pwl x value 0.0066667 is outside the bounds 0.0-0.0 on generator 73 -[ Info: pwl x value 0.01 is outside the bounds 0.0-0.0 on generator 73 -[ Info: simplifying pwl cost on generator 73, [0.0, 0.0, 0.0033333, 0.0, 0.0066667, 0.0, 0.01, 0.0] -> [0.0, 0.0, 0.01, 0.0] +[ Info: simplifying pwl cost on generator 98, [0.0, 0.0, 0.172, 0.0, 0.344, 0.0, 0.516, 0.0] -> [0.0, 0.0, 0.516, 0.0] [ Info: pwl x value 0.0033333 is outside the bounds 0.0-0.0 on generator 82 [ Info: pwl x value 0.0066667 is outside the bounds 0.0-0.0 on generator 82 [ Info: pwl x value 0.01 is outside the bounds 0.0-0.0 on generator 82 [ Info: simplifying pwl cost on generator 82, [0.0, 0.0, 0.0033333, 0.0, 0.0066667, 0.0, 0.01, 0.0] -> [0.0, 0.0, 0.01, 0.0] -[ Info: simplifying pwl cost on generator 79, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 146, [0.0, 0.0, 0.030333299999999997, 0.0, 0.060666700000000004, 0.0, 0.091, 0.0] -> [0.0, 0.0, 0.091, 0.0] -[ Info: simplifying pwl cost on generator 142, [0.0, 0.0, 0.031, 0.0, 0.062, 0.0, 0.09300000000000001, 0.0] -> [0.0, 0.0, 0.09300000000000001, 0.0] +[ Info: simplifying pwl cost on generator 85, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 118, [0.0, 0.0, 0.08900000000000001, 0.0, 0.17800000000000002, 0.0, 0.267, 0.0] -> [0.0, 0.0, 0.267, 0.0] +[ Info: simplifying pwl cost on generator 119, [0.0, 0.0, 0.0873333, 0.0, 0.1746667, 0.0, 0.262, 0.0] -> [0.0, 0.0, 0.262, 0.0] +[ Info: simplifying pwl cost on generator 125, [0.0, 0.0, 0.2103333, 0.0, 0.4206667, 0.0, 0.631, 0.0] -> [0.0, 0.0, 0.631, 0.0] +[ Info: simplifying pwl cost on generator 130, [0.0, 0.0, 0.2136667, 0.0, 0.4273333, 0.0, 0.6409999999999999, 0.0] -> [0.0, 0.0, 0.6409999999999999, 0.0] [ Info: simplifying pwl cost on generator 84, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 80, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] -[ Info: simplifying pwl cost on generator 104, [0.0, 0.0, 0.1723333, 0.0, 0.3446667, 0.0, 0.517, 0.0] -> [0.0, 0.0, 0.517, 0.0] +[ Info: simplifying pwl cost on generator 77, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 95, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 126, [0.0, 0.0, 0.218, 0.0, 0.436, 0.0, 0.654, 0.0] -> [0.0, 0.0, 0.654, 0.0] +[ Info: simplifying pwl cost on generator 108, [0.0, 0.0, 0.172, 0.0, 0.344, 0.0, 0.516, 0.0] -> [0.0, 0.0, 0.516, 0.0] +[ Info: simplifying pwl cost on generator 76, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 103, [0.0, 0.0, 0.311, 0.0, 0.622, 0.0, 0.9329999999999999, 0.0] -> [0.0, 0.0, 0.9329999999999999, 0.0] +[ Info: simplifying pwl cost on generator 156, [0.0, 0.0, 2.8233333, 0.0, 5.6466667, 0.0, 8.47, 0.0] -> [0.0, 0.0, 8.47, 0.0] +[ Info: simplifying pwl cost on generator 93, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] [ Info: simplifying pwl cost on generator 124, [0.0, 0.0, 0.33899999999999997, 0.0, 0.6779999999999999, 0.0, 1.0170000000000001, 0.0] -> [0.0, 0.0, 1.0170000000000001, 0.0] -[ Info: simplifying pwl cost on generator 125, [0.0, 0.0, 0.2103333, 0.0, 0.4206667, 0.0, 0.631, 0.0] -> [0.0, 0.0, 0.631, 0.0] -[ Info: simplifying pwl cost on generator 98, [0.0, 0.0, 0.172, 0.0, 0.344, 0.0, 0.516, 0.0] -> [0.0, 0.0, 0.516, 0.0] +[ Info: simplifying pwl cost on generator 87, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 127, [0.0, 0.0, 0.2233333, 0.0, 0.4466667, 0.0, 0.67, 0.0] -> [0.0, 0.0, 0.67, 0.0] +[ Info: simplifying pwl cost on generator 116, [0.0, 0.0, 0.0893333, 0.0, 0.17866669999999998, 0.0, 0.268, 0.0] -> [0.0, 0.0, 0.268, 0.0] +[ Info: simplifying pwl cost on generator 100, [0.0, 0.0, 0.317, 0.0, 0.634, 0.0, 0.951, 0.0] -> [0.0, 0.0, 0.951, 0.0] +[ Info: simplifying pwl cost on generator 132, [0.0, 0.0, 0.20800000000000002, 0.0, 0.41600000000000004, 0.0, 0.624, 0.0] -> [0.0, 0.0, 0.624, 0.0] +[ Info: simplifying pwl cost on generator 140, [0.0, 0.0, 0.09, 0.0, 0.18, 0.0, 0.27, 0.0] -> [0.0, 0.0, 0.27, 0.0] +[ Info: simplifying pwl cost on generator 79, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 81, [0.0, 0.0, 0.1666667, 0.0, 0.33333329999999994, 0.0, 0.5, 0.0] -> [0.0, 0.0, 0.5, 0.0] +[ Info: simplifying pwl cost on generator 144, [0.0, 0.0, 0.0313333, 0.0, 0.0626667, 0.0, 0.094, 0.0] -> [0.0, 0.0, 0.094, 0.0] +[ Info: simplifying pwl cost on generator 147, [0.0, 0.0, 0.0323333, 0.0, 0.0646667, 0.0, 0.09699999999999999, 0.0] -> [0.0, 0.0, 0.09699999999999999, 0.0] ┌ Info: Constructing System from Power Models │ data["name"] = "RTS_GMLC" └ data["source_type"] = "matpower" @@ -226,10 +226,10 @@ [ Info: Reading Load data in PowerModels dict to populate System ... [ Info: Reading LoadZones data in PowerModels dict to populate System ... [ Info: Reading generator data -┌ Warning: GenericBattery should be defined as a PowerModels storage... Skipping -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_models_data.jl:549 -[ Info: Reading branch data +┌ Warning: EnergyReservoirStorage should be defined as a PowerModels storage... Skipping +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_models_data.jl:619 [ Info: Reading branch data +[ Info: Reading shunt data [ Info: Reading DC Line data [ Info: Reading storage data System @@ -245,40 +245,40 @@ └───────────────────┴─────────────┘ Static Components -┌─────────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├─────────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 73 │ false │ false │ -│ Arc │ 109 │ false │ false │ -│ Area │ 3 │ false │ false │ -│ FixedAdmittance │ 3 │ false │ false │ -│ HydroDispatch │ 20 │ false │ false │ -│ Line │ 104 │ false │ false │ -│ LoadZone │ 21 │ false │ false │ -│ PowerLoad │ 51 │ false │ false │ -│ RenewableDispatch │ 30 │ false │ false │ -│ RenewableFix │ 31 │ false │ false │ -│ TapTransformer │ 15 │ false │ false │ -│ ThermalStandard │ 76 │ false │ false │ -│ Transformer2W │ 1 │ false │ false │ -│ TwoTerminalHVDCLine │ 1 │ false │ false │ -└─────────────────────┴───────┴────────────────────────┴───────────────┘

More details about parsing text files from different formats in this section


Using PowerSystems.jl for modeling

This example function implements a function where the modeler can choose the technology by its type and use the different implementations of get_max_active_power. Using the "dot" access to get a parameter value from a device is actively discouraged, use "getter" functions instead

Refer to Modeling with JuMP for a more detailed use of PowerSystems.jl to develop a model

julia> function installed_capacity(system::System; technology::Type{T} = Generator) where T <: Generator
+┌──────────────────────┬───────┐
+│ Type                 │ Count │
+├──────────────────────┼───────┤
+│ ACBus                │ 73    │
+│ Arc                  │ 109   │
+│ Area                 │ 3     │
+│ FixedAdmittance      │ 3     │
+│ HydroDispatch        │ 20    │
+│ Line                 │ 104   │
+│ LoadZone             │ 21    │
+│ PowerLoad            │ 51    │
+│ RenewableDispatch    │ 30    │
+│ RenewableNonDispatch │ 31    │
+│ TapTransformer       │ 15    │
+│ ThermalStandard      │ 76    │
+│ Transformer2W        │ 1     │
+│ TwoTerminalHVDCLine  │ 1     │
+└──────────────────────┴───────┘

More details about parsing text files from different formats in this section


Using PowerSystems.jl for modeling

This example function implements a function where the modeler can choose the technology by its type and use the different implementations of get_max_active_power. Using the "dot" access to get a parameter value from a device is actively discouraged, use "getter" functions instead

Refer to Modeling with JuMP for a more detailed use of PowerSystems.jl to develop a model

julia> function installed_capacity(system::System; technology::Type{T} = Generator) where T <: Generator
            installed_capacity = 0.0
            for g in get_components(T, system)
                installed_capacity += get_max_active_power(g)
            end
            return installed_capacity
-       endinstalled_capacity (generic function with 1 method)
  • Total installed capacity
julia> installed_capacity(system_data)144.99799999999993
  • Installed capacity of the thermal generation
julia> installed_capacity(system_data; technology = ThermalStandard)80.75999999999998
  • Installed capacity of renewable generation
julia> installed_capacity(system_data; technology = RenewableGen)54.23800000000002

Adding Time Series data to a System

PowerSystems.jl provides interfaces to augment the data sets already created. You can also add time series data to a system from one or more CSV files, more details in Time Series Data. This example implements SingleTimeSeries

julia> using TimeSeries
julia> using Dates
julia> system = System(joinpath(file_dir, "case5.m"))[ Info: Correcting vm in bus 1 to 1.07762 to match generator set-point + endinstalled_capacity (generic function with 1 method)
  • Total installed capacity
julia> installed_capacity(system_data)144.99799999999996
  • Installed capacity of the thermal generation
julia> installed_capacity(system_data; technology = ThermalStandard)80.75999999999998
  • Installed capacity of renewable generation
julia> installed_capacity(system_data; technology = RenewableGen)54.23800000000002

Adding Time Series data to a System

PowerSystems.jl provides interfaces to augment the data sets already created. You can also add time series data to a system from one or more CSV files, more details in Time Series Data. This example implements SingleTimeSeries

julia> using TimeSeries
julia> using Dates
julia> system = System(joinpath(file_dir, "case5.m"))[ Info: Correcting vm in bus 1 to 1.07762 to match generator set-point [ Info: Correcting vm in bus 3 to 1.1 to match generator set-point [ Info: Correcting vm in bus 4 to 1.06414 to match generator set-point [ Info: Correcting vm in bus 10 to 1.06907 to match generator set-point [ Info: extending matpower format with data: areas 1x3 [ Info: reversing the orientation of branch 6 (4, 3) to be consistent with other parallel branches -[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] -[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] [ Info: removing 1 cost terms from generator 5: [1000.0, 0.0] +[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] [ Info: removing 1 cost terms from generator 2: [1500.0, 0.0] [ Info: removing 1 cost terms from generator 3: [3000.0, 0.0] +[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] ┌ Info: Constructing System from Power Models │ data["name"] = "nesta_case5_pjm" └ data["source_type"] = "matpower" @@ -287,7 +287,7 @@ [ Info: Reading LoadZones data in PowerModels dict to populate System ... [ Info: Reading generator data [ Info: Reading branch data -[ Info: Reading branch data +[ Info: Reading shunt data [ Info: Reading DC Line data [ Info: Reading storage data System @@ -303,18 +303,18 @@ └───────────────────┴─────────────┘ Static Components -┌──────────────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├──────────────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 5 │ false │ false │ -│ Arc │ 6 │ false │ false │ -│ Area │ 1 │ false │ false │ -│ Line │ 5 │ false │ false │ -│ LoadZone │ 1 │ false │ false │ -│ PhaseShiftingTransformer │ 2 │ false │ false │ -│ PowerLoad │ 3 │ false │ false │ -│ ThermalStandard │ 5 │ false │ false │ -└──────────────────────────┴───────┴────────────────────────┴───────────────┘
julia> new_renewable = RenewableDispatch( +┌──────────────────────────┬───────┐ +│ Type │ Count │ +├──────────────────────────┼───────┤ +│ ACBus │ 5 │ +│ Arc │ 6 │ +│ Area │ 1 │ +│ Line │ 5 │ +│ LoadZone │ 1 │ +│ PhaseShiftingTransformer │ 2 │ +│ PowerLoad │ 3 │ +│ ThermalStandard │ 5 │ +└──────────────────────────┴───────┘
julia> new_renewable = RenewableDispatch( name = "WindPowerNew", available = true, bus = get_component(ACBus, system, "3"), @@ -324,26 +324,18 @@ prime_mover_type = PrimeMovers.WT, reactive_power_limits = (min = 0.0, max = 0.0), base_power = 100.0, - operation_cost = TwoPartCost(22.0, 0.0), + operation_cost = RenewableGenerationCost(CostCurve(LinearCurve(22.0))), power_factor = 1.0 - ) -WindPowerNew (RenewableDispatch): - name: WindPowerNew - available: true - bus: 3 (ACBus) - active_power: 200.0 - reactive_power: 100.0 - rating: 120.0 - prime_mover_type: PrimeMovers.WT = 22 - reactive_power_limits: (min = 0.0, max = 0.0) - power_factor: 1.0 - operation_cost: TwoPartCost - base_power: 100.0 - services: 0-element Vector{Service} - dynamic_injector: nothing - ext: Dict{String, Any}() - time_series_container: - internal: InfrastructureSystems.InfrastructureSystemsInternal
julia> add_component!(system, new_renewable)
julia> ts_data = [0.98, 0.99, 0.99, 1.0, 0.99, 0.99, 0.99, 0.98, 0.95, 0.92, 0.90, 0.88, 0.84, 0.76, + )ERROR: MethodError: Cannot `convert` an object of type Nothing to an object of type ACBus + +Closest candidates are: + convert(::Type{T}, !Matched::T) where T + @ Base Base.jl:84 + ACBus(::Nothing) + @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/models/generated/ACBus.jl:88 + ACBus(::Any, !Matched::Any, !Matched::Any, !Matched::Any, !Matched::Any, !Matched::Any, !Matched::Any, !Matched::Any, !Matched::Any, !Matched::Any) + @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/models/generated/ACBus.jl:79 + ...
julia> add_component!(system, new_renewable)ERROR: UndefVarError: `new_renewable` not defined
julia> ts_data = [0.98, 0.99, 0.99, 1.0, 0.99, 0.99, 0.99, 0.98, 0.95, 0.92, 0.90, 0.88, 0.84, 0.76, 0.65, 0.52, 0.39, 0.28, 0.19, 0.15, 0.13, 0.11, 0.09, 0.06,]24-element Vector{Float64}: 0.98 0.99 @@ -365,45 +357,26 @@ 0.11 0.09 0.06
julia> time_stamps = range(DateTime("2020-01-01"); step = Hour(1), length = 24)Dates.DateTime("2020-01-01T00:00:00"):Dates.Hour(1):Dates.DateTime("2020-01-01T23:00:00")
julia> time_series_data_raw = TimeArray(time_stamps, ts_data)24×1 TimeSeries.TimeArray{Float64, 1, Dates.DateTime, Vector{Float64}} 2020-01-01T00:00:00 to 2020-01-01T23:00:00 -│ │ A │ -├─────────────────────┼───────┤ -│ 2020-01-01T00:00:00 │ 0.98 │ -│ 2020-01-01T01:00:00 │ 0.99 │ -│ 2020-01-01T02:00:00 │ 0.99 │ -│ 2020-01-01T03:00:00 │ 1.0 │ -│ 2020-01-01T04:00:00 │ 0.99 │ -│ 2020-01-01T05:00:00 │ 0.99 │ -│ 2020-01-01T06:00:00 │ 0.99 │ -│ 2020-01-01T07:00:00 │ 0.98 │ -│ ⋮ │ ⋮ │ -│ 2020-01-01T17:00:00 │ 0.28 │ -│ 2020-01-01T18:00:00 │ 0.19 │ -│ 2020-01-01T19:00:00 │ 0.15 │ -│ 2020-01-01T20:00:00 │ 0.13 │ -│ 2020-01-01T21:00:00 │ 0.11 │ -│ 2020-01-01T22:00:00 │ 0.09 │ -│ 2020-01-01T23:00:00 │ 0.06 │
julia> time_series = SingleTimeSeries(name = "active_power", data = time_series_data_raw) +┌─────────────────────┬──────┐ +│ │ A │ +├─────────────────────┼──────┤ +│ 2020-01-01T00:00:00 │ 0.98 │ +│ 2020-01-01T01:00:00 │ 0.99 │ +│ 2020-01-01T02:00:00 │ 0.99 │ +│ 2020-01-01T03:00:00 │ 1.0 │ +│ 2020-01-01T04:00:00 │ 0.99 │ +│ 2020-01-01T05:00:00 │ 0.99 │ +│ 2020-01-01T06:00:00 │ 0.99 │ +│ 2020-01-01T07:00:00 │ 0.98 │ +│ ⋮ │ ⋮ │ +│ 2020-01-01T17:00:00 │ 0.28 │ +│ 2020-01-01T18:00:00 │ 0.19 │ +│ 2020-01-01T19:00:00 │ 0.15 │ +│ 2020-01-01T20:00:00 │ 0.13 │ +│ 2020-01-01T21:00:00 │ 0.11 │ +│ 2020-01-01T22:00:00 │ 0.09 │ +│ 2020-01-01T23:00:00 │ 0.06 │ +└─────────────────────┴──────┘ + 9 rows omitted
julia> time_series = SingleTimeSeries(name = "active_power", data = time_series_data_raw) - #Add the forecast to the system and componentSingleTimeSeries time_series (24): - name: active_power - data: 24×1 TimeSeries.TimeArray{Float64, 1, Dates.DateTime, Vector{Float64}} 2020-01-01T00:00:00 to 2020-01-01T23:00:00 -│ │ A │ -├─────────────────────┼───────┤ -│ 2020-01-01T00:00:00 │ 0.98 │ -│ 2020-01-01T01:00:00 │ 0.99 │ -│ 2020-01-01T02:00:00 │ 0.99 │ -│ 2020-01-01T03:00:00 │ 1.0 │ -│ 2020-01-01T04:00:00 │ 0.99 │ -│ 2020-01-01T05:00:00 │ 0.99 │ -│ 2020-01-01T06:00:00 │ 0.99 │ -│ 2020-01-01T07:00:00 │ 0.98 │ -│ ⋮ │ ⋮ │ -│ 2020-01-01T17:00:00 │ 0.28 │ -│ 2020-01-01T18:00:00 │ 0.19 │ -│ 2020-01-01T19:00:00 │ 0.15 │ -│ 2020-01-01T20:00:00 │ 0.13 │ -│ 2020-01-01T21:00:00 │ 0.11 │ -│ 2020-01-01T22:00:00 │ 0.09 │ -│ 2020-01-01T23:00:00 │ 0.06 │ - resolution: 3600000 milliseconds - scaling_factor_multiplier: nothing
julia> add_time_series!(system, new_renewable, time_series)
+ #Add the forecast to the system and component
SingleTimeSeries("active_power", 24×1 TimeSeries.TimeArray{Float64, 1, Dates.DateTime, Vector{Float64}} 2020-01-01T00:00:00 to 2020-01-01T23:00:00, Dates.Millisecond(3600000), nothing, InfrastructureSystems.InfrastructureSystemsInternal(UUID("42ef7f4e-f7dd-463f-90e8-5ef061a0f081"), nothing, nothing, nothing))
julia> add_time_series!(system, new_renewable, time_series)ERROR: UndefVarError: `new_renewable` not defined
diff --git a/dev/search/index.html b/dev/search/index.html index a7462a4d7e..8a9ab99d10 100644 --- a/dev/search/index.html +++ b/dev/search/index.html @@ -1,2 +1,2 @@ -Search · PowerSystems.jl

Loading search...

    +Search · PowerSystems.jl

    Loading search...

      diff --git a/dev/search_index.js b/dev/search_index.js index 57b7eac40b..9d9ccd3433 100644 --- a/dev/search_index.js +++ b/dev/search_index.js @@ -1,3 +1,3 @@ var documenterSearchIndex = {"docs": -[{"location":"model_library/generated_Filter/#Filter","page":"Filter","title":"Filter","text":"","category":"section"},{"location":"model_library/generated_Filter/#LCFilter","page":"Filter","title":"LCFilter","text":"","category":"section"},{"location":"model_library/generated_Filter/","page":"Filter","title":"Filter","text":"Modules = [PowerSystems]\nPages = [\"/LCFilter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Filter/#PowerSystems.LCFilter","page":"Filter","title":"PowerSystems.LCFilter","text":"mutable struct LCFilter <: Filter\n lf::Float64\n rf::Float64\n cf::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a LCL filter outside the converter\n\nArguments\n\nlf::Float64: filter inductance, validation range: (0, nothing)\nrf::Float64: filter resistance, validation range: (0, nothing)\ncf::Float64: filter capacitance, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the LCFilter model are:\n\nir_filter: Real current out of the filter,\nii_filter: Imaginary current out of the filter\n\nn_states::Int: LCFilter has two states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Filter/#PowerSystems.get_cf-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_cf","text":"get_cf(value::LCFilter) -> Float64\n\n\nGet LCFilter cf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_ext-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_ext","text":"get_ext(value::LCFilter) -> Dict{String, Any}\n\n\nGet LCFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_lf-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_lf","text":"get_lf(value::LCFilter) -> Float64\n\n\nGet LCFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_n_states-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_n_states","text":"get_n_states(value::LCFilter) -> Int64\n\n\nGet LCFilter n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_rf-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_rf","text":"get_rf(value::LCFilter) -> Float64\n\n\nGet LCFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_states-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_states","text":"get_states(value::LCFilter) -> Vector{Symbol}\n\n\nGet LCFilter states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_cf!-Tuple{LCFilter, Any}","page":"Filter","title":"PowerSystems.set_cf!","text":"set_cf!(value::LCFilter, val) -> Any\n\n\nSet LCFilter cf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_ext!-Tuple{LCFilter, Any}","page":"Filter","title":"PowerSystems.set_ext!","text":"set_ext!(value::LCFilter, val) -> Any\n\n\nSet LCFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_lf!-Tuple{LCFilter, Any}","page":"Filter","title":"PowerSystems.set_lf!","text":"set_lf!(value::LCFilter, val) -> Any\n\n\nSet LCFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_rf!-Tuple{LCFilter, Any}","page":"Filter","title":"PowerSystems.set_rf!","text":"set_rf!(value::LCFilter, val) -> Any\n\n\nSet LCFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#LCLFilter","page":"Filter","title":"LCLFilter","text":"","category":"section"},{"location":"model_library/generated_Filter/","page":"Filter","title":"Filter","text":"Modules = [PowerSystems]\nPages = [\"/LCLFilter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Filter/#PowerSystems.LCLFilter","page":"Filter","title":"PowerSystems.LCLFilter","text":"mutable struct LCLFilter <: Filter\n lf::Float64\n rf::Float64\n cf::Float64\n lg::Float64\n rg::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a LCL filter outside the converter, the states are in the grid's reference frame\n\nArguments\n\nlf::Float64: Series inductance in p.u. of converter filter, validation range: (0, nothing)\nrf::Float64: Series resistance in p.u. of converter filter, validation range: (0, nothing)\ncf::Float64: Shunt capacitance in p.u. of converter filter, validation range: (0, nothing)\nlg::Float64: Series inductance in p.u. of converter filter to the grid, validation range: (0, nothing)\nrg::Float64: Series resistance in p.u. of converter filter to the grid, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the LCLFilter model are:\n\nir_cnv: Real current out of the converter,\nii_cnv: Imaginary current out of the converter,\nvr_filter: Real voltage at the filter's capacitor,\nvi_filter: Imaginary voltage at the filter's capacitor,\nir_filter: Real current out of the filter,\nii_filter: Imaginary current out of the filter\n\nn_states::Int: LCLFilter has 6 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Filter/#PowerSystems.get_cf-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_cf","text":"get_cf(value::LCLFilter) -> Float64\n\n\nGet LCLFilter cf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_ext-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_ext","text":"get_ext(value::LCLFilter) -> Dict{String, Any}\n\n\nGet LCLFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_lf-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_lf","text":"get_lf(value::LCLFilter) -> Float64\n\n\nGet LCLFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_lg-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_lg","text":"get_lg(value::LCLFilter) -> Float64\n\n\nGet LCLFilter lg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_n_states-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_n_states","text":"get_n_states(value::LCLFilter) -> Int64\n\n\nGet LCLFilter n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_rf-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_rf","text":"get_rf(value::LCLFilter) -> Float64\n\n\nGet LCLFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_rg-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_rg","text":"get_rg(value::LCLFilter) -> Float64\n\n\nGet LCLFilter rg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_states-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_states","text":"get_states(value::LCLFilter) -> Vector{Symbol}\n\n\nGet LCLFilter states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_cf!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_cf!","text":"set_cf!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter cf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_ext!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_ext!","text":"set_ext!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_lf!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_lf!","text":"set_lf!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_lg!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_lg!","text":"set_lg!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter lg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_rf!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_rf!","text":"set_rf!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_rg!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_rg!","text":"set_rg!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter rg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#RLFilter","page":"Filter","title":"RLFilter","text":"","category":"section"},{"location":"model_library/generated_Filter/","page":"Filter","title":"Filter","text":"Modules = [PowerSystems]\nPages = [\"/RLFilter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Filter/#PowerSystems.RLFilter","page":"Filter","title":"PowerSystems.RLFilter","text":"mutable struct RLFilter <: Filter\n rf::Float64\n lf::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of RL series filter in algebraic representation\n\nArguments\n\nrf::Float64: Series resistance in p.u. of converter filter to the grid, validation range: (0, nothing)\nlf::Float64: Series inductance in p.u. of converter filter to the grid, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: RLFilter has zero states\nn_states::Int: RLFilter has zero states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Filter/#PowerSystems.get_ext-Tuple{RLFilter}","page":"Filter","title":"PowerSystems.get_ext","text":"get_ext(value::RLFilter) -> Dict{String, Any}\n\n\nGet RLFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_lf-Tuple{RLFilter}","page":"Filter","title":"PowerSystems.get_lf","text":"get_lf(value::RLFilter) -> Float64\n\n\nGet RLFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_n_states-Tuple{RLFilter}","page":"Filter","title":"PowerSystems.get_n_states","text":"get_n_states(value::RLFilter) -> Int64\n\n\nGet RLFilter n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_rf-Tuple{RLFilter}","page":"Filter","title":"PowerSystems.get_rf","text":"get_rf(value::RLFilter) -> Float64\n\n\nGet RLFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_states-Tuple{RLFilter}","page":"Filter","title":"PowerSystems.get_states","text":"get_states(value::RLFilter) -> Vector{Symbol}\n\n\nGet RLFilter states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_ext!-Tuple{RLFilter, Any}","page":"Filter","title":"PowerSystems.set_ext!","text":"set_ext!(value::RLFilter, val) -> Any\n\n\nSet RLFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_lf!-Tuple{RLFilter, Any}","page":"Filter","title":"PowerSystems.set_lf!","text":"set_lf!(value::RLFilter, val) -> Any\n\n\nSet RLFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_rf!-Tuple{RLFilter, Any}","page":"Filter","title":"PowerSystems.set_rf!","text":"set_rf!(value::RLFilter, val) -> Any\n\n\nSet RLFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"code_base_developer_guide/troubleshooting/#Troubleshooting-code-development","page":"Troubleshooting","title":"Troubleshooting code development","text":"","category":"section"},{"location":"code_base_developer_guide/troubleshooting/#Issues-with-Serialization/De-Serialization","page":"Troubleshooting","title":"Issues with Serialization/De-Serialization","text":"","category":"section"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"If this doesn't work then you likely need to implement custom InfrastructureSystems.serialize and InfrastructureSystems.deserialize methods for your type. Here are some examples of potential problems and solutions:","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Problem: Your struct contains a field defined as an abstract type. The deserialization process doesn't know what concrete type to construct.","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Solution: Encode the concrete type into the serialized dictionary as a string.","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Example: serialize and deserialize methods for DynamicBranch in src/models/dynamic_branch.jl.","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Problem: Similar to above in that a field is defined as an abstract type but the struct is parameterized on the actual concrete type.","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Solution: Use the fact that the concrete type is encoded into the serialized type of the struct and extract it in a customized deserialze method.","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Example: deserialize method for OuterControl in src/models/OuterControl.jl.","category":"page"},{"location":"model_library/generated_Machine/#Machine","page":"Machine","title":"Machine","text":"","category":"section"},{"location":"model_library/generated_Machine/#AndersonFouadMachine","page":"Machine","title":"AndersonFouadMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/AndersonFouadMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.AndersonFouadMachine","page":"Machine","title":"PowerSystems.AndersonFouadMachine","text":"mutable struct AndersonFouadMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xq_pp::Float64\n Td0_p::Float64\n Tq0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 6-states synchronous machine: Anderson-Fouad model\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nψq: q-axis stator flux,\nψd: d-axis stator flux,\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage,\neq_pp: q-axis subtransient voltage,\ned_pp: d-axis subtransient voltage\n\nn_states::Int: AndersonFouadMachine has 6 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_pp-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xq_pp","text":"get_Xq_pp(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::AndersonFouadMachine) -> Dict{String, Any}\n\n\nGet AndersonFouadMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::AndersonFouadMachine) -> Int64\n\n\nGet AndersonFouadMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::AndersonFouadMachine) -> Vector{Symbol}\n\n\nGet AndersonFouadMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_pp!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_pp!","text":"set_Xq_pp!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#BaseMachine","page":"Machine","title":"BaseMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/BaseMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.BaseMachine","page":"Machine","title":"PowerSystems.BaseMachine","text":"mutable struct BaseMachine <: Machine\n R::Float64\n Xd_p::Float64\n eq_p::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a Classic Machine: GENCLS in PSSE and PSLF\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd_p::Float64: Reactance after EMF in machine per unit, validation range: (0, nothing)\neq_p::Float64: Fixed EMF behind the impedance, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: BaseMachine has no states\nn_states::Int: BaseMachine has no states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::BaseMachine) -> Float64\n\n\nGet BaseMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::BaseMachine) -> Float64\n\n\nGet BaseMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_eq_p-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_eq_p","text":"get_eq_p(value::BaseMachine) -> Float64\n\n\nGet BaseMachine eq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::BaseMachine) -> Dict{String, Any}\n\n\nGet BaseMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::BaseMachine) -> Int64\n\n\nGet BaseMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::BaseMachine) -> Vector{Symbol}\n\n\nGet BaseMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{BaseMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::BaseMachine, val) -> Any\n\n\nSet BaseMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{BaseMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::BaseMachine, val) -> Any\n\n\nSet BaseMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_eq_p!-Tuple{BaseMachine, Any}","page":"Machine","title":"PowerSystems.set_eq_p!","text":"set_eq_p!(value::BaseMachine, val) -> Any\n\n\nSet BaseMachine eq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{BaseMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::BaseMachine, val) -> Any\n\n\nSet BaseMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#FullMachine","page":"Machine","title":"FullMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/FullMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.FullMachine","page":"Machine","title":"PowerSystems.FullMachine","text":"mutable struct FullMachine <: Machine\n R::Float64\n R_f::Float64\n R_1d::Float64\n R_1q::Float64\n L_d::Float64\n L_q::Float64\n L_ad::Float64\n L_aq::Float64\n L_f1d::Float64\n L_ff::Float64\n L_1d::Float64\n L_1q::Float64\n ext::Dict{String, Any}\n inv_d_fluxlink::Array{Float64,2}\n inv_q_fluxlink::Array{Float64,2}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameter of a full order flux stator-rotor model without zero sequence flux in the stator. The derivative of stator fluxes (ψd and ψq) is NOT neglected. Only one q-axis damping circuit is considered. All parameters are in machine per unit. Refer to Chapter 3 of Power System Stability and Control by P. Kundur or Chapter 11 of Power System Dynamics: Stability and Control, by J. Machowski, J. Bialek and J. Bumby, for more details. Note that the models are somewhat different (but equivalent) due to the different Park Transformation used in both books.\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nR_f::Float64: Field rotor winding resistance in per unit, validation range: (0, nothing)\nR_1d::Float64: Damping rotor winding resistance on d-axis in per unit. This value is denoted as RD in Machowski., validation range: (0, nothing)\nR_1q::Float64: Damping rotor winding resistance on q-axis in per unit. This value is denoted as RQ in Machowski., validation range: (0, nothing)\nL_d::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the d-axis of the rotor, in per unit. This value is denoted as Lad + Ll in Kundur (and Ld in Machowski)., validation range: (0, nothing)\nL_q::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the q-axis of the rotor, in per unit. This value is denoted as Laq + Ll in Kundur., validation range: (0, nothing)\nL_ad::Float64: Mutual inductance between stator winding and rotor field (and damping) winding inductance on d-axis, in per unit, validation range: (0, nothing)\nL_aq::Float64: Mutual inductance between stator winding and rotor damping winding inductance on q-axis, in per unit, validation range: (0, nothing)\nL_f1d::Float64: Mutual inductance between rotor field winding and rotor damping winding inductance on d-axis, in per unit, validation range: (0, nothing)\nL_ff::Float64: Field rotor winding inductance, in per unit, validation range: (0, nothing)\nL_1d::Float64: Inductance of the d-axis rotor damping circuit, in per unit, validation range: (0, nothing)\nL_1q::Float64: Inductance of the q-axis rotor damping circuit, in per unit, validation range: (0, nothing)\next::Dict{String, Any}\ninv_d_fluxlink::Array{Float64,2}: Equations 3.127, 3.130, 3.131 From Kundur\ninv_q_fluxlink::Array{Float64,2}: Equations 3.128, 3.132 From Kundur\nstates::Vector{Symbol}: The states are:\n\nψd: d-axis stator flux,\nψq: q-axis stator flux,\nψf: field rotor flux,\nψ1d: d-axis rotor damping flux,\nψ1q: q-axis rotor damping flux\n\nn_states::Int: FullMachine has 5 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_1d-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_1d","text":"get_L_1d(value::FullMachine) -> Float64\n\n\nGet FullMachine L_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_1q-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_1q","text":"get_L_1q(value::FullMachine) -> Float64\n\n\nGet FullMachine L_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_ad-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_ad","text":"get_L_ad(value::FullMachine) -> Float64\n\n\nGet FullMachine L_ad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_aq-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_aq","text":"get_L_aq(value::FullMachine) -> Float64\n\n\nGet FullMachine L_aq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_d-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_d","text":"get_L_d(value::FullMachine) -> Float64\n\n\nGet FullMachine L_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_f1d-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_f1d","text":"get_L_f1d(value::FullMachine) -> Float64\n\n\nGet FullMachine L_f1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_ff-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_ff","text":"get_L_ff(value::FullMachine) -> Float64\n\n\nGet FullMachine L_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_q-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_q","text":"get_L_q(value::FullMachine) -> Float64\n\n\nGet FullMachine L_q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::FullMachine) -> Float64\n\n\nGet FullMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_1d-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_R_1d","text":"get_R_1d(value::FullMachine) -> Float64\n\n\nGet FullMachine R_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_1q-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_R_1q","text":"get_R_1q(value::FullMachine) -> Float64\n\n\nGet FullMachine R_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_f-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_R_f","text":"get_R_f(value::FullMachine) -> Float64\n\n\nGet FullMachine R_f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::FullMachine) -> Dict{String, Any}\n\n\nGet FullMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_inv_d_fluxlink-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_inv_d_fluxlink","text":"get_inv_d_fluxlink(value::FullMachine) -> Matrix{Float64}\n\n\nGet FullMachine inv_d_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_inv_q_fluxlink-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_inv_q_fluxlink","text":"get_inv_q_fluxlink(value::FullMachine) -> Matrix{Float64}\n\n\nGet FullMachine inv_q_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::FullMachine) -> Int64\n\n\nGet FullMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::FullMachine) -> Vector{Symbol}\n\n\nGet FullMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_1d!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_1d!","text":"set_L_1d!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_1q!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_1q!","text":"set_L_1q!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_ad!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_ad!","text":"set_L_ad!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_ad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_aq!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_aq!","text":"set_L_aq!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_aq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_d!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_d!","text":"set_L_d!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_f1d!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_f1d!","text":"set_L_f1d!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_f1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_ff!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_ff!","text":"set_L_ff!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_q!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_q!","text":"set_L_q!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::FullMachine, val) -> Any\n\n\nSet FullMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_1d!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_1d!","text":"set_R_1d!(value::FullMachine, val) -> Any\n\n\nSet FullMachine R_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_1q!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_1q!","text":"set_R_1q!(value::FullMachine, val) -> Any\n\n\nSet FullMachine R_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_f!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_f!","text":"set_R_f!(value::FullMachine, val) -> Any\n\n\nSet FullMachine R_f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::FullMachine, val) -> Any\n\n\nSet FullMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_inv_d_fluxlink!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_inv_d_fluxlink!","text":"set_inv_d_fluxlink!(value::FullMachine, val) -> Any\n\n\nSet FullMachine inv_d_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_inv_q_fluxlink!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_inv_q_fluxlink!","text":"set_inv_q_fluxlink!(value::FullMachine, val) -> Any\n\n\nSet FullMachine inv_q_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#MarconatoMachine","page":"Machine","title":"MarconatoMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/MarconatoMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.MarconatoMachine","page":"Machine","title":"PowerSystems.MarconatoMachine","text":"mutable struct MarconatoMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xq_pp::Float64\n Td0_p::Float64\n Tq0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n T_AA::Float64\n ext::Dict{String, Any}\n γd::Float64\n γq::Float64\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 6-states synchronous machine: Marconato model\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\nT_AA::Float64: Time constant of d-axis additional leakage, validation range: (0, nothing)\next::Dict{String, Any}\nγd::Float64\nγq::Float64\nstates::Vector{Symbol}: The states are:\n\nψq: q-axis stator flux,\nψd: d-axis stator flux,\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage,\neq_pp: q-axis subtransient voltage,\ned_pp: d-axis subtransient voltage\n\nn_states::Int: MarconatoMachine has 6 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_T_AA-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_T_AA","text":"get_T_AA(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine T_AA.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_pp-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq_pp","text":"get_Xq_pp(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::MarconatoMachine) -> Dict{String, Any}\n\n\nGet MarconatoMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::MarconatoMachine) -> Int64\n\n\nGet MarconatoMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::MarconatoMachine) -> Vector{Symbol}\n\n\nGet MarconatoMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γd-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_γd","text":"get_γd(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine γd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γq-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_γq","text":"get_γq(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine γq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_T_AA!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_T_AA!","text":"set_T_AA!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine T_AA.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_pp!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_pp!","text":"set_Xq_pp!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γd!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_γd!","text":"set_γd!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine γd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γq!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_γq!","text":"set_γq!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine γq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#OneDOneQMachine","page":"Machine","title":"OneDOneQMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/OneDOneQMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.OneDOneQMachine","page":"Machine","title":"PowerSystems.OneDOneQMachine","text":"mutable struct OneDOneQMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Td0_p::Float64\n Tq0_p::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 4-states synchronous machine: Simplified Marconato model The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected.\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage\n\nn_states::Int: OneDOneQMachine has 2 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::OneDOneQMachine) -> Dict{String, Any}\n\n\nGet OneDOneQMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::OneDOneQMachine) -> Int64\n\n\nGet OneDOneQMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::OneDOneQMachine) -> Vector{Symbol}\n\n\nGet OneDOneQMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#RoundRotorExponential","page":"Machine","title":"RoundRotorExponential","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/RoundRotorExponential.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.RoundRotorExponential","page":"Machine","title":"PowerSystems.RoundRotorExponential","text":"mutable struct RoundRotorExponential <: Machine\n base_machine::RoundRotorMachine\n saturation_coeffs::Tuple{Float64, Float64}\n\n4-states round-rotor synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROE model in PSSE and PSLF.\n\nArguments\n\nbase_machine::RoundRotorMachine: Round Rotor Machine model.\nsaturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for exponential model.\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#RoundRotorMachine","page":"Machine","title":"RoundRotorMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/RoundRotorMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.RoundRotorMachine","page":"Machine","title":"PowerSystems.RoundRotorMachine","text":"mutable struct RoundRotorMachine <: Machine\n R::Float64\n Td0_p::Float64\n Td0_pp::Float64\n Tq0_p::Float64\n Tq0_pp::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xl::Float64\n Se::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n γ_d1::Float64\n γ_q1::Float64\n γ_d2::Float64\n γ_q2::Float64\n γ_qd::Float64\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 4-states round-rotor synchronous machine with quadratic/exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROU or GENROE model in PSSE and PSLF.\n\nArguments\n\nR::Float64: Armature resistance, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit. Note: Xdpp = Xqpp, validation range: (0, nothing)\nXl::Float64: Stator leakage reactance, validation range: (0, nothing)\nSe::Tuple{Float64, Float64}: Saturation factor at 1 and 1.2 pu flux: S(1.0) = B(|ψ_pp|-A)^2\next::Dict{String, Any}\nγ_d1::Float64: γ_d1 parameter\nγ_q1::Float64: γ_q1 parameter\nγ_d2::Float64: γ_d2 parameter\nγ_q2::Float64: γ_q2 parameter\nγ_qd::Float64: γ_qd parameter\nstates::Vector{Symbol}: The states are:\n\neq_p: q-axis generator voltage behind the transient reactance,\ned_p: d-axis generator voltage behind the transient reactance,\nψ_kd: flux linkage in the first equivalent damping circuit in the d-axis,\nψ_kq: flux linkage in the first equivalent damping circuit in the d-axis\n\nn_states::Int: RoundRotorMachine has 4 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Se-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Se","text":"get_Se(value::RoundRotorMachine) -> Tuple{Float64, Float64}\n\n\nGet RoundRotorMachine Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xl-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xl","text":"get_Xl(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::RoundRotorMachine) -> Dict{String, Any}\n\n\nGet RoundRotorMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::RoundRotorMachine) -> Int64\n\n\nGet RoundRotorMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::RoundRotorMachine) -> Vector{Symbol}\n\n\nGet RoundRotorMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d1-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_γ_d1","text":"get_γ_d1(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d2-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_γ_d2","text":"get_γ_d2(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_q1-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_γ_q1","text":"get_γ_q1(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_q2-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_γ_q2","text":"get_γ_q2(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine γ_q2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_qd-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_γ_qd","text":"get_γ_qd(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine γ_qd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Se!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Se!","text":"set_Se!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xl!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xl!","text":"set_Xl!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d1!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d1!","text":"set_γ_d1!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d2!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d2!","text":"set_γ_d2!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_q1!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_q1!","text":"set_γ_q1!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_q2!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_q2!","text":"set_γ_q2!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine γ_q2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_qd!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_qd!","text":"set_γ_qd!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine γ_qd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#RoundRotorQuadratic","page":"Machine","title":"RoundRotorQuadratic","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/RoundRotorQuadratic.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.RoundRotorQuadratic","page":"Machine","title":"PowerSystems.RoundRotorQuadratic","text":"mutable struct RoundRotorQuadratic <: Machine\n base_machine::RoundRotorMachine\n saturation_coeffs::Tuple{Float64, Float64}\n\n4-states round-rotor synchronous machine with quadratic saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROU model in PSSE and PSLF.\n\nArguments\n\nbase_machine::RoundRotorMachine: Round Rotor Machine model.\nsaturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for quadratic model.\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#SalientPoleExponential","page":"Machine","title":"SalientPoleExponential","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SalientPoleExponential.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SalientPoleExponential","page":"Machine","title":"PowerSystems.SalientPoleExponential","text":"mutable struct SalientPoleExponential <: Machine\n base_machine::SalientPoleMachine\n saturation_coeffs::Tuple{Float64, Float64}\n\n3-states salient-pole synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.1). GENSAE in PSSE and PSLF.\n\nArguments:\n\nbase_machine::SalientPoleMachine: Salient Pole Machine model.\nsaturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for exponential model.\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#SalientPoleMachine","page":"Machine","title":"SalientPoleMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SalientPoleMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SalientPoleMachine","page":"Machine","title":"PowerSystems.SalientPoleMachine","text":"mutable struct SalientPoleMachine <: Machine\n R::Float64\n Td0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xd_pp::Float64\n Xl::Float64\n Se::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n γ_d1::Float64\n γ_q1::Float64\n γ_d2::Float64\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 3-states salient-pole synchronous machine with quadratic/exponential saturation: IEEE Std 1110 §5.3.1 (Model 2.1). GENSAL or GENSAE model in PSSE and PSLF.\n\nArguments\n\nR::Float64: Armature resistance, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit. Note: Xdpp = Xqpp, validation range: (0, nothing)\nXl::Float64: Stator leakage reactance, validation range: (0, nothing)\nSe::Tuple{Float64, Float64}: Saturation factor at 1 and 1.2 pu flux: Se(eqp) = B(eqp-A)^2\next::Dict{String, Any}\nγ_d1::Float64: γ_d1 parameter\nγ_q1::Float64: γ_q1 parameter\nγ_d2::Float64: γ_d2 parameter\nstates::Vector{Symbol}: The states are:\n\neq_p: q-axis generator voltage behind the transient reactance,\nψ_kd: flux linkage in the first equivalent damping circuit in the d-axis,\nψq_pp: phasonf of the subtransient flux linkage in the q-axis\n\nn_states::Int: SalientPoleMachine has 3 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Se-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Se","text":"get_Se(value::SalientPoleMachine) -> Tuple{Float64, Float64}\n\n\nGet SalientPoleMachine Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xl-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Xl","text":"get_Xl(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::SalientPoleMachine) -> Dict{String, Any}\n\n\nGet SalientPoleMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::SalientPoleMachine) -> Int64\n\n\nGet SalientPoleMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::SalientPoleMachine) -> Vector{Symbol}\n\n\nGet SalientPoleMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d1-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_γ_d1","text":"get_γ_d1(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d2-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_γ_d2","text":"get_γ_d2(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_q1-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_γ_q1","text":"get_γ_q1(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Se!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Se!","text":"set_Se!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xl!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Xl!","text":"set_Xl!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d1!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d1!","text":"set_γ_d1!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d2!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d2!","text":"set_γ_d2!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_q1!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_q1!","text":"set_γ_q1!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#SalientPoleQuadratic","page":"Machine","title":"SalientPoleQuadratic","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SalientPoleQuadratic.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SalientPoleQuadratic","page":"Machine","title":"PowerSystems.SalientPoleQuadratic","text":"mutable struct SalientPoleQuadratic <: Machine\n base_machine::SalientPoleMachine\n saturation_coeffs::Tuple{Float64, Float64}\n\n3-states salient-pole synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.1). GENSAL in PSSE and PSLF.\n\nArguments:\n\nbase_machine::SalientPoleMachine: Salient Pole Machine model.\nsaturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for quadratic model.\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#SauerPaiMachine","page":"Machine","title":"SauerPaiMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SauerPaiMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SauerPaiMachine","page":"Machine","title":"PowerSystems.SauerPaiMachine","text":"mutable struct SauerPaiMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xq_pp::Float64\n Xl::Float64\n Td0_p::Float64\n Tq0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n ext::Dict{String, Any}\n γ_d1::Float64\n γ_q1::Float64\n γ_d2::Float64\n γ_q2::Float64\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of synchronous machine: Sauer Pai model\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXl::Float64: Stator Leakage Reactance, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\next::Dict{String, Any}\nγ_d1::Float64\nγ_q1::Float64\nγ_d2::Float64\nγ_q2::Float64\nstates::Vector{Symbol}: The states are:\n\nψq: q-axis stator flux,\nψd: d-axis stator flux,\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage\nψd_pp: subtransient flux linkage in the d-axis\nψq_pp: subtransient flux linkage in the q-axis\n\nn_states::Int: SauerPaiMachine has 6 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xl-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xl","text":"get_Xl(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_pp-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xq_pp","text":"get_Xq_pp(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::SauerPaiMachine) -> Dict{String, Any}\n\n\nGet SauerPaiMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::SauerPaiMachine) -> Int64\n\n\nGet SauerPaiMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::SauerPaiMachine) -> Vector{Symbol}\n\n\nGet SauerPaiMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d1-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_γ_d1","text":"get_γ_d1(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d2-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_γ_d2","text":"get_γ_d2(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_q1-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_γ_q1","text":"get_γ_q1(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_q2-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_γ_q2","text":"get_γ_q2(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine γ_q2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xl!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xl!","text":"set_Xl!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_pp!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_pp!","text":"set_Xq_pp!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d1!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d1!","text":"set_γ_d1!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d2!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d2!","text":"set_γ_d2!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_q1!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_q1!","text":"set_γ_q1!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_q2!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_q2!","text":"set_γ_q2!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine γ_q2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#SimpleAFMachine","page":"Machine","title":"SimpleAFMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SimpleAFMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SimpleAFMachine","page":"Machine","title":"PowerSystems.SimpleAFMachine","text":"mutable struct SimpleAFMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xq_pp::Float64\n Td0_p::Float64\n Tq0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 4-states simplified Anderson-Fouad (SimpleAFMachine) model. The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected. If transmission dynamics is considered use the full order Anderson Fouad model.\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage,\neq_pp: q-axis subtransient voltage,\ned_pp: d-axis subtransient voltage\n\nn_states::Int: SimpleAFMachine has 4 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_pp-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xq_pp","text":"get_Xq_pp(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::SimpleAFMachine) -> Dict{String, Any}\n\n\nGet SimpleAFMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::SimpleAFMachine) -> Int64\n\n\nGet SimpleAFMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::SimpleAFMachine) -> Vector{Symbol}\n\n\nGet SimpleAFMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_pp!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_pp!","text":"set_Xq_pp!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#SimpleFullMachine","page":"Machine","title":"SimpleFullMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SimpleFullMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SimpleFullMachine","page":"Machine","title":"PowerSystems.SimpleFullMachine","text":"mutable struct SimpleFullMachine <: Machine\n R::Float64\n R_f::Float64\n R_1d::Float64\n R_1q::Float64\n L_d::Float64\n L_q::Float64\n L_ad::Float64\n L_aq::Float64\n L_f1d::Float64\n L_ff::Float64\n L_1d::Float64\n L_1q::Float64\n ext::Dict{String, Any}\n inv_d_fluxlink::Array{Float64,2}\n inv_q_fluxlink::Array{Float64,2}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameter of a full order flux stator-rotor model without zero sequence flux in the stator. The derivative of stator fluxes (ψd and ψq) is neglected. This is standard when transmission network dynamics is neglected. Only one q-axis damping circuit is considered. All per unit are in machine per unit. Refer to Chapter 3 of Power System Stability and Control by P. Kundur or Chapter 11 of Power System Dynamics: Stability and Control, by J. Machowski, J. Bialek and J. Bumby, for more details. Note that the models are somewhat different (but equivalent) due to the different Park Transformation used in both books.\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nR_f::Float64: Field rotor winding resistance in per unit, validation range: (0, nothing)\nR_1d::Float64: Damping rotor winding resistance on d-axis in per unit. This value is denoted as RD in Machowski., validation range: (0, nothing)\nR_1q::Float64: Damping rotor winding resistance on q-axis in per unit. This value is denoted as RQ in Machowski., validation range: (0, nothing)\nL_d::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the d-axis of the rotor, in per unit. This value is denoted as Lad + Ll in Kundur (and Ld in Machowski)., validation range: (0, nothing)\nL_q::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the q-axis of the rotor, in per unit. This value is denoted as Laq + Ll in Kundur., validation range: (0, nothing)\nL_ad::Float64: Mutual inductance between stator winding and rotor field (and damping) winding inductance on d-axis, in per unit, validation range: (0, nothing)\nL_aq::Float64: Mutual inductance between stator winding and rotor damping winding inductance on q-axis, in per unit, validation range: (0, nothing)\nL_f1d::Float64: Mutual inductance between rotor field winding and rotor damping winding inductance on d-axis, in per unit, validation range: (0, nothing)\nL_ff::Float64: Field rotor winding inductance, in per unit, validation range: (0, nothing)\nL_1d::Float64: Inductance of the d-axis rotor damping circuit, in per unit, validation range: (0, nothing)\nL_1q::Float64: Inductance of the q-axis rotor damping circuit, in per unit, validation range: (0, nothing)\next::Dict{String, Any}\ninv_d_fluxlink::Array{Float64,2}: Equations 3.127, 3.130, 3.131 From Kundur\ninv_q_fluxlink::Array{Float64,2}: Equations 3.128, 3.132 From Kundur\nstates::Vector{Symbol}: The states are:\n\nψf: field rotor flux,\nψ1d: d-axis rotor damping flux,\nψ1q: q-axis rotor damping flux\n\nn_states::Int: SimpleFullMachine has 3 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_1d-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_1d","text":"get_L_1d(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_1q-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_1q","text":"get_L_1q(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_ad-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_ad","text":"get_L_ad(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_ad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_aq-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_aq","text":"get_L_aq(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_aq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_d-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_d","text":"get_L_d(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_f1d-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_f1d","text":"get_L_f1d(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_f1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_ff-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_ff","text":"get_L_ff(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_q-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_q","text":"get_L_q(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_1d-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_R_1d","text":"get_R_1d(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine R_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_1q-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_R_1q","text":"get_R_1q(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine R_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_f-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_R_f","text":"get_R_f(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine R_f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::SimpleFullMachine) -> Dict{String, Any}\n\n\nGet SimpleFullMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_inv_d_fluxlink-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_inv_d_fluxlink","text":"get_inv_d_fluxlink(\n value::SimpleFullMachine\n) -> Matrix{Float64}\n\n\nGet SimpleFullMachine inv_d_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_inv_q_fluxlink-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_inv_q_fluxlink","text":"get_inv_q_fluxlink(\n value::SimpleFullMachine\n) -> Matrix{Float64}\n\n\nGet SimpleFullMachine inv_q_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::SimpleFullMachine) -> Int64\n\n\nGet SimpleFullMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::SimpleFullMachine) -> Vector{Symbol}\n\n\nGet SimpleFullMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_1d!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_1d!","text":"set_L_1d!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_1q!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_1q!","text":"set_L_1q!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_ad!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_ad!","text":"set_L_ad!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_ad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_aq!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_aq!","text":"set_L_aq!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_aq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_d!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_d!","text":"set_L_d!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_f1d!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_f1d!","text":"set_L_f1d!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_f1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_ff!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_ff!","text":"set_L_ff!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_q!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_q!","text":"set_L_q!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_1d!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_1d!","text":"set_R_1d!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine R_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_1q!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_1q!","text":"set_R_1q!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine R_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_f!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_f!","text":"set_R_f!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine R_f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_inv_d_fluxlink!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_inv_d_fluxlink!","text":"set_inv_d_fluxlink!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine inv_d_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_inv_q_fluxlink!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_inv_q_fluxlink!","text":"set_inv_q_fluxlink!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine inv_q_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#SimpleMarconatoMachine","page":"Machine","title":"SimpleMarconatoMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SimpleMarconatoMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SimpleMarconatoMachine","page":"Machine","title":"PowerSystems.SimpleMarconatoMachine","text":"mutable struct SimpleMarconatoMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xq_pp::Float64\n Td0_p::Float64\n Tq0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n T_AA::Float64\n ext::Dict{String, Any}\n γd::Float64\n γq::Float64\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 4-states synchronous machine: Simplified Marconato model The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected.\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\nT_AA::Float64: Time constant of d-axis additional leakage, validation range: (0, nothing)\next::Dict{String, Any}\nγd::Float64\nγq::Float64\nstates::Vector{Symbol}: The states are:\n\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage,\neq_pp: q-axis subtransient voltage,\ned_pp: d-axis subtransient voltage\n\nn_states::Int: SimpleMarconatoMachine has 4 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_T_AA-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_T_AA","text":"get_T_AA(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine T_AA.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_pp-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq_pp","text":"get_Xq_pp(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::SimpleMarconatoMachine) -> Dict{String, Any}\n\n\nGet SimpleMarconatoMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::SimpleMarconatoMachine) -> Int64\n\n\nGet SimpleMarconatoMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::SimpleMarconatoMachine) -> Vector{Symbol}\n\n\nGet SimpleMarconatoMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γd-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_γd","text":"get_γd(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine γd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γq-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_γq","text":"get_γq(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine γq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_T_AA!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_T_AA!","text":"set_T_AA!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine T_AA.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_pp!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_pp!","text":"set_Xq_pp!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γd!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_γd!","text":"set_γd!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine γd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γq!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_γq!","text":"set_γq!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine γq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSS","page":"PSS","title":"PSS","text":"","category":"section"},{"location":"model_library/generated_PSS/#IEEEST","page":"PSS","title":"IEEEST","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/IEEEST.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.IEEEST","page":"PSS","title":"PowerSystems.IEEEST","text":"mutable struct IEEEST <: PSS\n input_code::Int\n remote_bus_control::Int\n A1::Float64\n A2::Float64\n A3::Float64\n A4::Float64\n A5::Float64\n A6::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n T4::Float64\n T5::Float64\n T6::Float64\n Ks::Float64\n Ls_lim::Tuple{Float64, Float64}\n Vcu::Float64\n Vcl::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIEEE Stabilizing Model PSS. \n\nArguments\n\ninput_code::Int: Code input for stabilizer, validation range: (1, 6), action if invalid: error\nremote_bus_control::Int: Remote Bus number for control.\nA1::Float64: Filter coefficient, validation range: (0, nothing), action if invalid: warn\nA2::Float64: Filter coefficient, validation range: (0, nothing), action if invalid: warn\nA3::Float64: Filter coefficient, validation range: (0, nothing)\nA4::Float64: Filter coefficient, validation range: (0, nothing), action if invalid: warn\nA5::Float64: Filter coefficient, validation range: (0, nothing), action if invalid: warn\nA6::Float64: Filter coefficient, validation range: (0, nothing), action if invalid: warn\nT1::Float64: Time constant, validation range: (0, 10), action if invalid: warn\nT2::Float64: Time constant, validation range: (0, 10), action if invalid: warn\nT3::Float64: Time constant, validation range: (0, 10), action if invalid: warn\nT4::Float64: Time constant, validation range: (0, 10), action if invalid: warn\nT5::Float64: Time constant, validation range: (0, 10), action if invalid: warn\nT6::Float64: Time constant, validation range: (eps(), 2.0), action if invalid: error\nKs::Float64: Proportional gain, validation range: (0, nothing), action if invalid: warn\nLs_lim::Tuple{Float64, Float64}: PSS output limits for regulator output (Ls_min, Ls_max)\nVcu::Float64: Cutoff limiter upper bound, validation range: (0, 1.25), action if invalid: warn\nVcl::Float64: Cutoff limiter lower bound, validation range: (0, 1.0), action if invalid: warn\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nx_p1: 1st filter integration,\nx_p2: 2nd filter integration, \nx_p3: 3rd filter integration, \nx_p4: 4rd filter integration, \nx_p5: T1/T2 lead-lag integrator, \nx_p6: T3/T4 lead-lag integrator, \n:x_p7 last integer,\n\nn_states::Int: IEEEST has 7 states\nstates_types::Vector{StateTypes}: IEEEST has 7 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_A1-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A1","text":"get_A1(value::IEEEST) -> Float64\n\n\nGet IEEEST A1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_A2-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A2","text":"get_A2(value::IEEEST) -> Float64\n\n\nGet IEEEST A2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_A3-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A3","text":"get_A3(value::IEEEST) -> Float64\n\n\nGet IEEEST A3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_A4-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A4","text":"get_A4(value::IEEEST) -> Float64\n\n\nGet IEEEST A4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_A5-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A5","text":"get_A5(value::IEEEST) -> Float64\n\n\nGet IEEEST A5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_A6-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A6","text":"get_A6(value::IEEEST) -> Float64\n\n\nGet IEEEST A6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_Ks","text":"get_Ks(value::IEEEST) -> Float64\n\n\nGet IEEEST Ks.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ls_lim-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_Ls_lim","text":"get_Ls_lim(value::IEEEST) -> Tuple{Float64, Float64}\n\n\nGet IEEEST Ls_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T1-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T1","text":"get_T1(value::IEEEST) -> Float64\n\n\nGet IEEEST T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T2-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T2","text":"get_T2(value::IEEEST) -> Float64\n\n\nGet IEEEST T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T3-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T3","text":"get_T3(value::IEEEST) -> Float64\n\n\nGet IEEEST T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T4-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T4","text":"get_T4(value::IEEEST) -> Float64\n\n\nGet IEEEST T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T5-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T5","text":"get_T5(value::IEEEST) -> Float64\n\n\nGet IEEEST T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T6-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T6","text":"get_T6(value::IEEEST) -> Float64\n\n\nGet IEEEST T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vcl-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_Vcl","text":"get_Vcl(value::IEEEST) -> Float64\n\n\nGet IEEEST Vcl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vcu-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_Vcu","text":"get_Vcu(value::IEEEST) -> Float64\n\n\nGet IEEEST Vcu.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::IEEEST) -> Dict{String, Any}\n\n\nGet IEEEST ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_input_code","text":"get_input_code(value::IEEEST) -> Int64\n\n\nGet IEEEST input_code.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::IEEEST) -> Int64\n\n\nGet IEEEST n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_remote_bus_control","text":"get_remote_bus_control(value::IEEEST) -> Int64\n\n\nGet IEEEST remote_bus_control.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::IEEEST) -> Vector{Symbol}\n\n\nGet IEEEST states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states_types-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_states_types","text":"get_states_types(value::IEEEST) -> Vector{StateTypes}\n\n\nGet IEEEST states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A1!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A1!","text":"set_A1!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A2!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A2!","text":"set_A2!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A3!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A3!","text":"set_A3!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A4!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A4!","text":"set_A4!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A5!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A5!","text":"set_A5!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A6!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A6!","text":"set_A6!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_Ks!","text":"set_Ks!(value::IEEEST, val) -> Any\n\n\nSet IEEEST Ks.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ls_lim!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_Ls_lim!","text":"set_Ls_lim!(value::IEEEST, val) -> Any\n\n\nSet IEEEST Ls_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T1!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T1!","text":"set_T1!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T2!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T2!","text":"set_T2!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T3!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T3!","text":"set_T3!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T4!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T4!","text":"set_T4!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T5!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T5!","text":"set_T5!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T6!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T6!","text":"set_T6!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vcl!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_Vcl!","text":"set_Vcl!(value::IEEEST, val) -> Any\n\n\nSet IEEEST Vcl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vcu!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_Vcu!","text":"set_Vcu!(value::IEEEST, val) -> Any\n\n\nSet IEEEST Vcu.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::IEEEST, val) -> Any\n\n\nSet IEEEST ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_input_code!","text":"set_input_code!(value::IEEEST, val) -> Any\n\n\nSet IEEEST input_code.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control!","text":"set_remote_bus_control!(value::IEEEST, val) -> Any\n\n\nSet IEEEST remote_bus_control.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_states_types!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::IEEEST, val) -> Any\n\n\nSet IEEEST states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSS2A","page":"PSS","title":"PSS2A","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/PSS2A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.PSS2A","page":"PSS","title":"PowerSystems.PSS2A","text":"mutable struct PSS2A <: PSS\n input_code_1::Int\n remote_bus_control_1::Int\n input_code_2::Int\n remote_bus_control_2::Int\n M_rtf::Int\n N_rtf::Int\n Tw1::Float64\n Tw2::Float64\n T6::Float64\n Tw3::Float64\n Tw4::Float64\n T7::Float64\n Ks2::Float64\n Ks3::Float64\n T8::Float64\n T9::Float64\n Ks1::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n T4::Float64\n Vst_lim::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIEEE Dual-Input Stabilizer Model\n\nArguments\n\ninput_code_1::Int: First Input Code for stabilizer, validation range: (1, 6), action if invalid: error\nremote_bus_control_1::Int: First Input Remote Bus number for control.\ninput_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6), action if invalid: error\nremote_bus_control_2::Int: Second Input Remote Bus number for control.\nM_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error\nN_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error\nTw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing), action if invalid: warn\nTw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing), action if invalid: warn\nT6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing), action if invalid: warn\nTw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing), action if invalid: warn\nTw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing), action if invalid: warn\nT7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn\nKs2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn\nKs3::Float64: Gain for second input, validation range: (0, nothing), action if invalid: warn\nT8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing), action if invalid: warn\nT9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing), action if invalid: warn\nKs1::Float64: Gain before lead-lag blocks, validation range: (0, nothing), action if invalid: warn\nT1::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn\nT2::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn\nT3::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn\nT4::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn\nVst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nx_p1: 1st washout 1st input, \nx_p2: 2nd washout 1st input, \nx_p3: transducer 1st input, \nx_p4: 1st washout 2nd input, \nx_p5: 2nd washout 2nd input, \nx_p6: transducer 2nd input, \nx_p7: ramp tracking filter state 1, \nx_p8: ramp tracking filter state 2, \nx_p9: ramp tracking filter state 3, \nx_p10: ramp tracking filter state 4, \nx_p11: ramp tracking filter state 5, \nx_p12: ramp tracking filter state 6, \nx_p13: ramp tracking filter state 7, \nx_p14: ramp tracking filter state 8, \nx_p15: 1st lead-lag, \nx_p16: 2nd lead-lag,\n\nn_states::Int: IEEEST has 16 states\nstates_types::Vector{StateTypes}: IEEEST has 16 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks1-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Ks1","text":"get_Ks1(value::PSS2A) -> Float64\n\n\nGet PSS2A Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks2-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Ks2","text":"get_Ks2(value::PSS2A) -> Float64\n\n\nGet PSS2A Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks3-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Ks3","text":"get_Ks3(value::PSS2A) -> Float64\n\n\nGet PSS2A Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_M_rtf-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_M_rtf","text":"get_M_rtf(value::PSS2A) -> Int64\n\n\nGet PSS2A M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_N_rtf-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_N_rtf","text":"get_N_rtf(value::PSS2A) -> Int64\n\n\nGet PSS2A N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T1-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T1","text":"get_T1(value::PSS2A) -> Float64\n\n\nGet PSS2A T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T2-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T2","text":"get_T2(value::PSS2A) -> Float64\n\n\nGet PSS2A T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T3-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T3","text":"get_T3(value::PSS2A) -> Float64\n\n\nGet PSS2A T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T4-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T4","text":"get_T4(value::PSS2A) -> Float64\n\n\nGet PSS2A T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T6-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T6","text":"get_T6(value::PSS2A) -> Float64\n\n\nGet PSS2A T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T7-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T7","text":"get_T7(value::PSS2A) -> Float64\n\n\nGet PSS2A T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T8-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T8","text":"get_T8(value::PSS2A) -> Float64\n\n\nGet PSS2A T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T9-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T9","text":"get_T9(value::PSS2A) -> Float64\n\n\nGet PSS2A T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw1-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Tw1","text":"get_Tw1(value::PSS2A) -> Float64\n\n\nGet PSS2A Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw2-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Tw2","text":"get_Tw2(value::PSS2A) -> Float64\n\n\nGet PSS2A Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw3-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Tw3","text":"get_Tw3(value::PSS2A) -> Float64\n\n\nGet PSS2A Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw4-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Tw4","text":"get_Tw4(value::PSS2A) -> Float64\n\n\nGet PSS2A Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vst_lim-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Vst_lim","text":"get_Vst_lim(value::PSS2A) -> Tuple{Float64, Float64}\n\n\nGet PSS2A Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::PSS2A) -> Dict{String, Any}\n\n\nGet PSS2A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_1-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_input_code_1","text":"get_input_code_1(value::PSS2A) -> Int64\n\n\nGet PSS2A input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_2-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_input_code_2","text":"get_input_code_2(value::PSS2A) -> Int64\n\n\nGet PSS2A input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::PSS2A) -> Int64\n\n\nGet PSS2A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_1-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_remote_bus_control_1","text":"get_remote_bus_control_1(value::PSS2A) -> Int64\n\n\nGet PSS2A remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_2-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_remote_bus_control_2","text":"get_remote_bus_control_2(value::PSS2A) -> Int64\n\n\nGet PSS2A remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::PSS2A) -> Vector{Symbol}\n\n\nGet PSS2A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states_types-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_states_types","text":"get_states_types(value::PSS2A) -> Vector{StateTypes}\n\n\nGet PSS2A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks1!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Ks1!","text":"set_Ks1!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks2!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Ks2!","text":"set_Ks2!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks3!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Ks3!","text":"set_Ks3!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_M_rtf!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_M_rtf!","text":"set_M_rtf!(value::PSS2A, val) -> Any\n\n\nSet PSS2A M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_N_rtf!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_N_rtf!","text":"set_N_rtf!(value::PSS2A, val) -> Any\n\n\nSet PSS2A N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T1!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T1!","text":"set_T1!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T2!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T2!","text":"set_T2!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T3!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T3!","text":"set_T3!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T4!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T4!","text":"set_T4!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T6!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T6!","text":"set_T6!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T7!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T7!","text":"set_T7!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T8!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T8!","text":"set_T8!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T9!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T9!","text":"set_T9!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw1!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Tw1!","text":"set_Tw1!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw2!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Tw2!","text":"set_Tw2!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw3!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Tw3!","text":"set_Tw3!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw4!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Tw4!","text":"set_Tw4!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vst_lim!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Vst_lim!","text":"set_Vst_lim!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::PSS2A, val) -> Any\n\n\nSet PSS2A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_1!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_input_code_1!","text":"set_input_code_1!(value::PSS2A, val) -> Any\n\n\nSet PSS2A input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_2!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_input_code_2!","text":"set_input_code_2!(value::PSS2A, val) -> Any\n\n\nSet PSS2A input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_1!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_1!","text":"set_remote_bus_control_1!(value::PSS2A, val) -> Any\n\n\nSet PSS2A remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_2!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_2!","text":"set_remote_bus_control_2!(value::PSS2A, val) -> Any\n\n\nSet PSS2A remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_states_types!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::PSS2A, val) -> Any\n\n\nSet PSS2A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSS2B","page":"PSS","title":"PSS2B","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/PSS2B.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.PSS2B","page":"PSS","title":"PowerSystems.PSS2B","text":"mutable struct PSS2B <: PSS\n input_code_1::Int\n remote_bus_control_1::Int\n input_code_2::Int\n remote_bus_control_2::Int\n M_rtf::Int\n N_rtf::Int\n Tw1::Float64\n Tw2::Float64\n T6::Float64\n Tw3::Float64\n Tw4::Float64\n T7::Float64\n Ks2::Float64\n Ks3::Float64\n T8::Float64\n T9::Float64\n Ks1::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n T4::Float64\n T10::Float64\n T11::Float64\n Vs1_lim::Tuple{Float64, Float64}\n Vs2_lim::Tuple{Float64, Float64}\n Vst_lim::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIEEE 421.5 2005 PSS2B IEEE Dual-Input Stabilizer Model\n\nArguments\n\ninput_code_1::Int: First Input Code for stabilizer, validation range: (1, 6), action if invalid: error\nremote_bus_control_1::Int: First Input Remote Bus number for control.\ninput_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6), action if invalid: error\nremote_bus_control_2::Int: Second Input Remote Bus number for control.\nM_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error\nN_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error\nTw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing), action if invalid: warn\nTw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing), action if invalid: warn\nT6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing), action if invalid: warn\nTw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing), action if invalid: warn\nTw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing), action if invalid: warn\nT7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn\nKs2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn\nKs3::Float64: Gain for second input, validation range: (0, nothing), action if invalid: warn\nT8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing), action if invalid: warn\nT9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing), action if invalid: warn\nKs1::Float64: Gain before lead-lag blocks, validation range: (0, nothing), action if invalid: warn\nT1::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn\nT2::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn\nT3::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn\nT4::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn\nT10::Float64: Time constant for third lead-lag block, validation range: (0, nothing), action if invalid: warn\nT11::Float64: Time constant for third lead-lag block, validation range: (0, nothing), action if invalid: warn\nVs1_lim::Tuple{Float64, Float64}: First input limits (Vs1_min, Vs1_max)\nVs2_lim::Tuple{Float64, Float64}: Second input limits (Vs2_min, Vs2_max)\nVst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nx_p1: 1st washout 1st input, \nx_p2: 2nd washout 1st input, \nx_p3: transducer 1st input, \nx_p4: 1st washout 2nd input, \nx_p5: 2nd washout 2nd input, \nx_p6: transducer 2nd input, \nx_p7: ramp tracking filter state 1, \nx_p8: ramp tracking filter state 2, \nx_p9: ramp tracking filter state 3, \nx_p10: ramp tracking filter state 4, \nx_p11: ramp tracking filter state 5, \nx_p12: ramp tracking filter state 6, \nx_p13: ramp tracking filter state 7, \nx_p14: ramp tracking filter state 8, \nx_p15: 1st lead-lag, \nx_p16: 2nd lead-lag, \nx_p17: 3rd lead-lag,\n\nn_states::Int: IEEEST has 17 states\nstates_types::Vector{StateTypes}: IEEEST has 17 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks1-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Ks1","text":"get_Ks1(value::PSS2B) -> Float64\n\n\nGet PSS2B Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks2-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Ks2","text":"get_Ks2(value::PSS2B) -> Float64\n\n\nGet PSS2B Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks3-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Ks3","text":"get_Ks3(value::PSS2B) -> Float64\n\n\nGet PSS2B Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_M_rtf-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_M_rtf","text":"get_M_rtf(value::PSS2B) -> Int64\n\n\nGet PSS2B M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_N_rtf-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_N_rtf","text":"get_N_rtf(value::PSS2B) -> Int64\n\n\nGet PSS2B N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T1-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T1","text":"get_T1(value::PSS2B) -> Float64\n\n\nGet PSS2B T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T10-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T10","text":"get_T10(value::PSS2B) -> Float64\n\n\nGet PSS2B T10.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T11-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T11","text":"get_T11(value::PSS2B) -> Float64\n\n\nGet PSS2B T11.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T2-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T2","text":"get_T2(value::PSS2B) -> Float64\n\n\nGet PSS2B T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T3-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T3","text":"get_T3(value::PSS2B) -> Float64\n\n\nGet PSS2B T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T4-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T4","text":"get_T4(value::PSS2B) -> Float64\n\n\nGet PSS2B T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T6-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T6","text":"get_T6(value::PSS2B) -> Float64\n\n\nGet PSS2B T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T7-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T7","text":"get_T7(value::PSS2B) -> Float64\n\n\nGet PSS2B T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T8-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T8","text":"get_T8(value::PSS2B) -> Float64\n\n\nGet PSS2B T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T9-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T9","text":"get_T9(value::PSS2B) -> Float64\n\n\nGet PSS2B T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw1-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Tw1","text":"get_Tw1(value::PSS2B) -> Float64\n\n\nGet PSS2B Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw2-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Tw2","text":"get_Tw2(value::PSS2B) -> Float64\n\n\nGet PSS2B Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw3-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Tw3","text":"get_Tw3(value::PSS2B) -> Float64\n\n\nGet PSS2B Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw4-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Tw4","text":"get_Tw4(value::PSS2B) -> Float64\n\n\nGet PSS2B Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vs1_lim-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Vs1_lim","text":"get_Vs1_lim(value::PSS2B) -> Tuple{Float64, Float64}\n\n\nGet PSS2B Vs1_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vs2_lim-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Vs2_lim","text":"get_Vs2_lim(value::PSS2B) -> Tuple{Float64, Float64}\n\n\nGet PSS2B Vs2_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vst_lim-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Vst_lim","text":"get_Vst_lim(value::PSS2B) -> Tuple{Float64, Float64}\n\n\nGet PSS2B Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::PSS2B) -> Dict{String, Any}\n\n\nGet PSS2B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_1-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_input_code_1","text":"get_input_code_1(value::PSS2B) -> Int64\n\n\nGet PSS2B input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_2-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_input_code_2","text":"get_input_code_2(value::PSS2B) -> Int64\n\n\nGet PSS2B input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::PSS2B) -> Int64\n\n\nGet PSS2B n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_1-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_remote_bus_control_1","text":"get_remote_bus_control_1(value::PSS2B) -> Int64\n\n\nGet PSS2B remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_2-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_remote_bus_control_2","text":"get_remote_bus_control_2(value::PSS2B) -> Int64\n\n\nGet PSS2B remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::PSS2B) -> Vector{Symbol}\n\n\nGet PSS2B states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states_types-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_states_types","text":"get_states_types(value::PSS2B) -> Vector{StateTypes}\n\n\nGet PSS2B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks1!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Ks1!","text":"set_Ks1!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks2!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Ks2!","text":"set_Ks2!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks3!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Ks3!","text":"set_Ks3!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_M_rtf!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_M_rtf!","text":"set_M_rtf!(value::PSS2B, val) -> Any\n\n\nSet PSS2B M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_N_rtf!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_N_rtf!","text":"set_N_rtf!(value::PSS2B, val) -> Any\n\n\nSet PSS2B N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T1!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T1!","text":"set_T1!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T10!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T10!","text":"set_T10!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T10.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T11!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T11!","text":"set_T11!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T11.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T2!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T2!","text":"set_T2!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T3!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T3!","text":"set_T3!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T4!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T4!","text":"set_T4!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T6!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T6!","text":"set_T6!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T7!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T7!","text":"set_T7!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T8!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T8!","text":"set_T8!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T9!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T9!","text":"set_T9!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw1!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Tw1!","text":"set_Tw1!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw2!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Tw2!","text":"set_Tw2!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw3!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Tw3!","text":"set_Tw3!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw4!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Tw4!","text":"set_Tw4!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vs1_lim!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Vs1_lim!","text":"set_Vs1_lim!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Vs1_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vs2_lim!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Vs2_lim!","text":"set_Vs2_lim!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Vs2_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vst_lim!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Vst_lim!","text":"set_Vst_lim!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::PSS2B, val) -> Any\n\n\nSet PSS2B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_1!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_input_code_1!","text":"set_input_code_1!(value::PSS2B, val) -> Any\n\n\nSet PSS2B input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_2!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_input_code_2!","text":"set_input_code_2!(value::PSS2B, val) -> Any\n\n\nSet PSS2B input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_1!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_1!","text":"set_remote_bus_control_1!(value::PSS2B, val) -> Any\n\n\nSet PSS2B remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_2!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_2!","text":"set_remote_bus_control_2!(value::PSS2B, val) -> Any\n\n\nSet PSS2B remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_states_types!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::PSS2B, val) -> Any\n\n\nSet PSS2B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSS2C","page":"PSS","title":"PSS2C","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/PSS2C.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.PSS2C","page":"PSS","title":"PowerSystems.PSS2C","text":"mutable struct PSS2C <: PSS\n input_code_1::Int\n remote_bus_control_1::Int\n input_code_2::Int\n remote_bus_control_2::Int\n M_rtf::Int\n N_rtf::Int\n Tw1::Float64\n Tw2::Float64\n T6::Float64\n Tw3::Float64\n Tw4::Float64\n T7::Float64\n Ks2::Float64\n Ks3::Float64\n T8::Float64\n T9::Float64\n Ks1::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n T4::Float64\n T10::Float64\n T11::Float64\n Vs1_lim::Tuple{Float64, Float64}\n Vs2_lim::Tuple{Float64, Float64}\n Vst_lim::Tuple{Float64, Float64}\n T12::Float64\n T13::Float64\n PSS_Hysteresis_param::Tuple{Float64, Float64}\n Xcomp::Float64\n Tcomp::Float64\n hysteresis_binary_logic::Int\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIEEE 421.5 2016 PSS2C IEEE Dual-Input Stabilizer Model\n\nArguments\n\ninput_code_1::Int: First Input Code for stabilizer, validation range: (1, 7), action if invalid: error\nremote_bus_control_1::Int: First Input Remote Bus number for control.\ninput_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6), action if invalid: error\nremote_bus_control_2::Int: Second Input Remote Bus number for control.\nM_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error\nN_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8), action if invalid: error\nTw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing), action if invalid: warn\nTw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing), action if invalid: warn\nT6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing), action if invalid: warn\nTw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing), action if invalid: warn\nTw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing), action if invalid: warn\nT7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn\nKs2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing), action if invalid: warn\nKs3::Float64: Gain for second input, validation range: (0, nothing), action if invalid: warn\nT8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing), action if invalid: warn\nT9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing), action if invalid: warn\nKs1::Float64: Gain before lead-lag blocks, validation range: (0, nothing), action if invalid: warn\nT1::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn\nT2::Float64: Time constant for first lead-lag block, validation range: (0, nothing), action if invalid: warn\nT3::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn\nT4::Float64: Time constant for second lead-lag block, validation range: (0, nothing), action if invalid: warn\nT10::Float64: Time constant for third lead-lag block, validation range: (0, nothing), action if invalid: warn\nT11::Float64: Time constant for third lead-lag block, validation range: (0, nothing), action if invalid: warn\nVs1_lim::Tuple{Float64, Float64}: First input limits (Vs1_min, Vs1_max)\nVs2_lim::Tuple{Float64, Float64}: Second input limits (Vs2_min, Vs2_max)\nVst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)\nT12::Float64: Time constant for fourth lead-lag block, validation range: (0, nothing), action if invalid: warn\nT13::Float64: Time constant for fourth lead-lag block, validation range: (0, nothing), action if invalid: warn\nPSS_Hysteresis_param::Tuple{Float64, Float64}: PSS output hysteresis parameters (PSSOFF, PSSON)\nXcomp::Float64: Stator Leakage Reactance, validation range: (0, nothing)\nTcomp::Float64: Time measured with compensated frequency, validation range: (eps(), nothing), action if invalid: error\nhysteresis_binary_logic::Int: Hysteresis memory variable\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nx_p1: 1st washout 1st input, \nx_p2: 2nd washout 1st input, \nx_p3: transducer 1st input, \nx_p4: 1st washout 2nd input, \nx_p5: 2nd washout 2nd input, \nx_p6: transducer 2nd input, \nx_p7: ramp tracking filter state 1, \nx_p8: ramp tracking filter state 2, \nx_p9: ramp tracking filter state 3, \nx_p10: ramp tracking filter state 4, \nx_p11: ramp tracking filter state 5, \nx_p12: ramp tracking filter state 6, \nx_p13: ramp tracking filter state 7, \nx_p14: ramp tracking filter state 8, \nx_p15: 1st lead-lag, \nx_p16: 2nd lead-lag, \nx_p17: 3rd lead-lag, \nx_p18: 4th lead-lag, \nx_p19: washout block for compensated frequency,\n\nn_states::Int: IEEEST has 19 states\nstates_types::Vector{StateTypes}: IEEEST has 19 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks1-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Ks1","text":"get_Ks1(value::PSS2C) -> Float64\n\n\nGet PSS2C Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks2-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Ks2","text":"get_Ks2(value::PSS2C) -> Float64\n\n\nGet PSS2C Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks3-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Ks3","text":"get_Ks3(value::PSS2C) -> Float64\n\n\nGet PSS2C Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_M_rtf-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_M_rtf","text":"get_M_rtf(value::PSS2C) -> Int64\n\n\nGet PSS2C M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_N_rtf-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_N_rtf","text":"get_N_rtf(value::PSS2C) -> Int64\n\n\nGet PSS2C N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_PSS_Hysteresis_param-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_PSS_Hysteresis_param","text":"get_PSS_Hysteresis_param(\n value::PSS2C\n) -> Tuple{Float64, Float64}\n\n\nGet PSS2C PSS_Hysteresis_param.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T1-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T1","text":"get_T1(value::PSS2C) -> Float64\n\n\nGet PSS2C T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T10-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T10","text":"get_T10(value::PSS2C) -> Float64\n\n\nGet PSS2C T10.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T11-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T11","text":"get_T11(value::PSS2C) -> Float64\n\n\nGet PSS2C T11.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T12-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T12","text":"get_T12(value::PSS2C) -> Float64\n\n\nGet PSS2C T12.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T13-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T13","text":"get_T13(value::PSS2C) -> Float64\n\n\nGet PSS2C T13.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T2-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T2","text":"get_T2(value::PSS2C) -> Float64\n\n\nGet PSS2C T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T3-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T3","text":"get_T3(value::PSS2C) -> Float64\n\n\nGet PSS2C T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T4-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T4","text":"get_T4(value::PSS2C) -> Float64\n\n\nGet PSS2C T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T6-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T6","text":"get_T6(value::PSS2C) -> Float64\n\n\nGet PSS2C T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T7-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T7","text":"get_T7(value::PSS2C) -> Float64\n\n\nGet PSS2C T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T8-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T8","text":"get_T8(value::PSS2C) -> Float64\n\n\nGet PSS2C T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T9-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T9","text":"get_T9(value::PSS2C) -> Float64\n\n\nGet PSS2C T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tcomp-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Tcomp","text":"get_Tcomp(value::PSS2C) -> Float64\n\n\nGet PSS2C Tcomp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw1-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Tw1","text":"get_Tw1(value::PSS2C) -> Float64\n\n\nGet PSS2C Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw2-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Tw2","text":"get_Tw2(value::PSS2C) -> Float64\n\n\nGet PSS2C Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw3-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Tw3","text":"get_Tw3(value::PSS2C) -> Float64\n\n\nGet PSS2C Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw4-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Tw4","text":"get_Tw4(value::PSS2C) -> Float64\n\n\nGet PSS2C Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vs1_lim-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Vs1_lim","text":"get_Vs1_lim(value::PSS2C) -> Tuple{Float64, Float64}\n\n\nGet PSS2C Vs1_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vs2_lim-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Vs2_lim","text":"get_Vs2_lim(value::PSS2C) -> Tuple{Float64, Float64}\n\n\nGet PSS2C Vs2_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vst_lim-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Vst_lim","text":"get_Vst_lim(value::PSS2C) -> Tuple{Float64, Float64}\n\n\nGet PSS2C Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Xcomp-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Xcomp","text":"get_Xcomp(value::PSS2C) -> Float64\n\n\nGet PSS2C Xcomp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::PSS2C) -> Dict{String, Any}\n\n\nGet PSS2C ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_hysteresis_binary_logic-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_hysteresis_binary_logic","text":"get_hysteresis_binary_logic(value::PSS2C) -> Int64\n\n\nGet PSS2C hysteresis_binary_logic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_1-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_input_code_1","text":"get_input_code_1(value::PSS2C) -> Int64\n\n\nGet PSS2C input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_2-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_input_code_2","text":"get_input_code_2(value::PSS2C) -> Int64\n\n\nGet PSS2C input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::PSS2C) -> Int64\n\n\nGet PSS2C n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_1-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_remote_bus_control_1","text":"get_remote_bus_control_1(value::PSS2C) -> Int64\n\n\nGet PSS2C remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_2-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_remote_bus_control_2","text":"get_remote_bus_control_2(value::PSS2C) -> Int64\n\n\nGet PSS2C remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::PSS2C) -> Vector{Symbol}\n\n\nGet PSS2C states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states_types-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_states_types","text":"get_states_types(value::PSS2C) -> Vector{StateTypes}\n\n\nGet PSS2C states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks1!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Ks1!","text":"set_Ks1!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks2!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Ks2!","text":"set_Ks2!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks3!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Ks3!","text":"set_Ks3!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_M_rtf!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_M_rtf!","text":"set_M_rtf!(value::PSS2C, val) -> Any\n\n\nSet PSS2C M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_N_rtf!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_N_rtf!","text":"set_N_rtf!(value::PSS2C, val) -> Any\n\n\nSet PSS2C N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_PSS_Hysteresis_param!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_PSS_Hysteresis_param!","text":"set_PSS_Hysteresis_param!(value::PSS2C, val) -> Any\n\n\nSet PSS2C PSS_Hysteresis_param.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T1!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T1!","text":"set_T1!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T10!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T10!","text":"set_T10!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T10.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T11!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T11!","text":"set_T11!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T11.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T12!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T12!","text":"set_T12!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T12.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T13!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T13!","text":"set_T13!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T13.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T2!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T2!","text":"set_T2!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T3!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T3!","text":"set_T3!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T4!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T4!","text":"set_T4!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T6!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T6!","text":"set_T6!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T7!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T7!","text":"set_T7!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T8!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T8!","text":"set_T8!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T9!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T9!","text":"set_T9!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tcomp!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Tcomp!","text":"set_Tcomp!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Tcomp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw1!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Tw1!","text":"set_Tw1!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw2!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Tw2!","text":"set_Tw2!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw3!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Tw3!","text":"set_Tw3!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw4!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Tw4!","text":"set_Tw4!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vs1_lim!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Vs1_lim!","text":"set_Vs1_lim!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Vs1_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vs2_lim!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Vs2_lim!","text":"set_Vs2_lim!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Vs2_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vst_lim!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Vst_lim!","text":"set_Vst_lim!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Xcomp!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Xcomp!","text":"set_Xcomp!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Xcomp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::PSS2C, val) -> Any\n\n\nSet PSS2C ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_hysteresis_binary_logic!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_hysteresis_binary_logic!","text":"set_hysteresis_binary_logic!(value::PSS2C, val) -> Any\n\n\nSet PSS2C hysteresis_binary_logic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_1!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_input_code_1!","text":"set_input_code_1!(value::PSS2C, val) -> Any\n\n\nSet PSS2C input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_2!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_input_code_2!","text":"set_input_code_2!(value::PSS2C, val) -> Any\n\n\nSet PSS2C input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_1!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_1!","text":"set_remote_bus_control_1!(value::PSS2C, val) -> Any\n\n\nSet PSS2C remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_2!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_2!","text":"set_remote_bus_control_2!(value::PSS2C, val) -> Any\n\n\nSet PSS2C remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_states_types!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::PSS2C, val) -> Any\n\n\nSet PSS2C states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSSFixed","page":"PSS","title":"PSSFixed","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/PSSFixed.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.PSSFixed","page":"PSS","title":"PowerSystems.PSSFixed","text":"mutable struct PSSFixed <: PSS\n V_pss::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a PSS that returns a fixed voltage to add to the reference for the AVR\n\nArguments\n\nV_pss::Float64: Fixed voltage stabilization signal, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}\nn_states::Int: PSSFixed has no states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_V_pss-Tuple{PSSFixed}","page":"PSS","title":"PowerSystems.get_V_pss","text":"get_V_pss(value::PSSFixed) -> Float64\n\n\nGet PSSFixed V_pss.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{PSSFixed}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::PSSFixed) -> Dict{String, Any}\n\n\nGet PSSFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{PSSFixed}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::PSSFixed) -> Int64\n\n\nGet PSSFixed n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{PSSFixed}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::PSSFixed) -> Vector{Symbol}\n\n\nGet PSSFixed states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_V_pss!-Tuple{PSSFixed, Any}","page":"PSS","title":"PowerSystems.set_V_pss!","text":"set_V_pss!(value::PSSFixed, val) -> Any\n\n\nSet PSSFixed V_pss.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{PSSFixed, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::PSSFixed, val) -> Any\n\n\nSet PSSFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSSSimple","page":"PSS","title":"PSSSimple","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/PSSSimple.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.PSSSimple","page":"PSS","title":"PowerSystems.PSSSimple","text":"mutable struct PSSSimple <: PSS\n K_ω::Float64\n K_p::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a PSS that returns a proportional droop voltage to add to the reference for the AVR\n\nArguments\n\nK_ω::Float64: Proportional gain for frequency, validation range: (0, nothing)\nK_p::Float64: Proportional gain for active power, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}\nn_states::Int: PSSSimple has no states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_K_p-Tuple{PSSSimple}","page":"PSS","title":"PowerSystems.get_K_p","text":"get_K_p(value::PSSSimple) -> Float64\n\n\nGet PSSSimple K_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_K_ω-Tuple{PSSSimple}","page":"PSS","title":"PowerSystems.get_K_ω","text":"get_K_ω(value::PSSSimple) -> Float64\n\n\nGet PSSSimple K_ω.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{PSSSimple}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::PSSSimple) -> Dict{String, Any}\n\n\nGet PSSSimple ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{PSSSimple}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::PSSSimple) -> Int64\n\n\nGet PSSSimple n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{PSSSimple}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::PSSSimple) -> Vector{Symbol}\n\n\nGet PSSSimple states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_K_p!-Tuple{PSSSimple, Any}","page":"PSS","title":"PowerSystems.set_K_p!","text":"set_K_p!(value::PSSSimple, val) -> Any\n\n\nSet PSSSimple K_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_K_ω!-Tuple{PSSSimple, Any}","page":"PSS","title":"PowerSystems.set_K_ω!","text":"set_K_ω!(value::PSSSimple, val) -> Any\n\n\nSet PSSSimple K_ω.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{PSSSimple, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::PSSSimple, val) -> Any\n\n\nSet PSSSimple ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#STAB1","page":"PSS","title":"STAB1","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/STAB1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.STAB1","page":"PSS","title":"PowerSystems.STAB1","text":"mutable struct STAB1 <: PSS\n KT::Float64\n T::Float64\n T1T3::Float64\n T3::Float64\n T2T4::Float64\n T4::Float64\n H_lim::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nSpeed-Sensitive Stabilizing Model\n\nArguments\n\nKT::Float64: K/T for washout filter, validation range: (0, nothing), action if invalid: warn\nT::Float64: Time constant for washout filter, validation range: (0.01, nothing), action if invalid: warn\nT1T3::Float64: Time constant division T1/T3, validation range: (0, nothing)\nT3::Float64: Time constant, validation range: (0.01, nothing), action if invalid: warn\nT2T4::Float64: Time constant division T2/T4, validation range: (0, nothing), action if invalid: warn\nT4::Float64: Time constant, validation range: (0.01, nothing), action if invalid: warn\nH_lim::Float64: PSS output limit, validation range: (0, 0.5), action if invalid: warn\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nx_p1: washout filter,\nx_p2: T1/T3 lead-lag block, \nx_p3: T2/T4 lead-lag block,\n\nn_states::Int: STAB1 has 3 states\nstates_types::Vector{StateTypes}: STAB1 has 3 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_H_lim-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_H_lim","text":"get_H_lim(value::STAB1) -> Float64\n\n\nGet STAB1 H_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_KT-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_KT","text":"get_KT(value::STAB1) -> Float64\n\n\nGet STAB1 KT.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_T","text":"get_T(value::STAB1) -> Float64\n\n\nGet STAB1 T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T1T3-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_T1T3","text":"get_T1T3(value::STAB1) -> Float64\n\n\nGet STAB1 T1T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T2T4-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_T2T4","text":"get_T2T4(value::STAB1) -> Float64\n\n\nGet STAB1 T2T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T3-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_T3","text":"get_T3(value::STAB1) -> Float64\n\n\nGet STAB1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T4-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_T4","text":"get_T4(value::STAB1) -> Float64\n\n\nGet STAB1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::STAB1) -> Dict{String, Any}\n\n\nGet STAB1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::STAB1) -> Int64\n\n\nGet STAB1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::STAB1) -> Vector{Symbol}\n\n\nGet STAB1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states_types-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_states_types","text":"get_states_types(value::STAB1) -> Vector{StateTypes}\n\n\nGet STAB1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_H_lim!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_H_lim!","text":"set_H_lim!(value::STAB1, val) -> Any\n\n\nSet STAB1 H_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_KT!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_KT!","text":"set_KT!(value::STAB1, val) -> Any\n\n\nSet STAB1 KT.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_T!","text":"set_T!(value::STAB1, val) -> Any\n\n\nSet STAB1 T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T1T3!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_T1T3!","text":"set_T1T3!(value::STAB1, val) -> Any\n\n\nSet STAB1 T1T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T2T4!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_T2T4!","text":"set_T2T4!(value::STAB1, val) -> Any\n\n\nSet STAB1 T2T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T3!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_T3!","text":"set_T3!(value::STAB1, val) -> Any\n\n\nSet STAB1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T4!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_T4!","text":"set_T4!(value::STAB1, val) -> Any\n\n\nSet STAB1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::STAB1, val) -> Any\n\n\nSet STAB1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_states_types!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::STAB1, val) -> Any\n\n\nSet STAB1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#TwoTerminalHVDCLine","page":"TwoTerminalHVDCLine","title":"TwoTerminalHVDCLine","text":"","category":"section"},{"location":"model_library/generated_TwoTerminalHVDCLine/","page":"TwoTerminalHVDCLine","title":"TwoTerminalHVDCLine","text":"Modules = [PowerSystems]\nPages = [\"generated/TwoTerminalHVDCLine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.TwoTerminalHVDCLine","page":"TwoTerminalHVDCLine","title":"PowerSystems.TwoTerminalHVDCLine","text":"mutable struct TwoTerminalHVDCLine <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n arc::Arc\n active_power_limits_from::MinMax\n active_power_limits_to::MinMax\n reactive_power_limits_from::MinMax\n reactive_power_limits_to::MinMax\n loss::NamedTuple{(:l0, :l1), Tuple{Float64, Float64}}\n services::Vector{Service}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\na High voltage DC line.\n\nArguments\n\nname::String\navailable::Bool\nactive_power_flow::Float64\narc::Arc\nactive_power_limits_from::MinMax\nactive_power_limits_to::MinMax\nreactive_power_limits_from::MinMax\nreactive_power_limits_to::MinMax\nloss::NamedTuple{(:l0, :l1), Tuple{Float64, Float64}}\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TwoTerminalHVDCLine/#InfrastructureSystems.get_name-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"InfrastructureSystems.get_name","text":"get_name(value::TwoTerminalHVDCLine) -> String\n\n\nGet TwoTerminalHVDCLine name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#InfrastructureSystems.get_time_series_container-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::TwoTerminalHVDCLine\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet TwoTerminalHVDCLine time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_active_power_flow-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::TwoTerminalHVDCLine) -> Any\n\n\nGet TwoTerminalHVDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_active_power_limits_from-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_active_power_limits_from","text":"get_active_power_limits_from(\n value::TwoTerminalHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TwoTerminalHVDCLine active_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_active_power_limits_to-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_active_power_limits_to","text":"get_active_power_limits_to(\n value::TwoTerminalHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TwoTerminalHVDCLine active_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_arc-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_arc","text":"get_arc(value::TwoTerminalHVDCLine) -> Arc\n\n\nGet TwoTerminalHVDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_available-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_available","text":"get_available(value::TwoTerminalHVDCLine) -> Bool\n\n\nGet TwoTerminalHVDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_ext-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_ext","text":"get_ext(value::TwoTerminalHVDCLine) -> Dict{String, Any}\n\n\nGet TwoTerminalHVDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_loss-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_loss","text":"get_loss(\n value::TwoTerminalHVDCLine\n) -> @NamedTuple{l0::Float64, l1::Float64}\n\n\nGet TwoTerminalHVDCLine loss.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_reactive_power_limits_from-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_reactive_power_limits_from","text":"get_reactive_power_limits_from(\n value::TwoTerminalHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TwoTerminalHVDCLine reactive_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_reactive_power_limits_to-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_reactive_power_limits_to","text":"get_reactive_power_limits_to(\n value::TwoTerminalHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TwoTerminalHVDCLine reactive_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_services-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_services","text":"get_services(value::TwoTerminalHVDCLine) -> Vector{Service}\n\n\nGet TwoTerminalHVDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_active_power_flow!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_active_power_limits_from!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_active_power_limits_from!","text":"set_active_power_limits_from!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine active_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_active_power_limits_to!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_active_power_limits_to!","text":"set_active_power_limits_to!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine active_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_arc!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_arc!","text":"set_arc!(value::TwoTerminalHVDCLine, val) -> Any\n\n\nSet TwoTerminalHVDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_available!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_available!","text":"set_available!(value::TwoTerminalHVDCLine, val) -> Any\n\n\nSet TwoTerminalHVDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_ext!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_ext!","text":"set_ext!(value::TwoTerminalHVDCLine, val) -> Any\n\n\nSet TwoTerminalHVDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_loss!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_loss!","text":"set_loss!(value::TwoTerminalHVDCLine, val) -> Any\n\n\nSet TwoTerminalHVDCLine loss.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_reactive_power_limits_from!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_reactive_power_limits_from!","text":"set_reactive_power_limits_from!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine reactive_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_reactive_power_limits_to!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_reactive_power_limits_to!","text":"set_reactive_power_limits_to!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine reactive_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_services!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_services!","text":"set_services!(value::TwoTerminalHVDCLine, val) -> Any\n\n\nSet TwoTerminalHVDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_time_series_container!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#LoadZone","page":"LoadZone","title":"LoadZone","text":"","category":"section"},{"location":"model_library/generated_LoadZone/","page":"LoadZone","title":"LoadZone","text":"Modules = [PowerSystems]\nPages = [\"generated/LoadZone.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_LoadZone/#PowerSystems.LoadZone","page":"LoadZone","title":"PowerSystems.LoadZone","text":"mutable struct LoadZone <: AggregationTopology\n name::String\n peak_active_power::Float64\n peak_reactive_power::Float64\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nA collection of buses for electricity price analysis.\n\nArguments\n\nname::String\npeak_active_power::Float64\npeak_reactive_power::Float64\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_LoadZone/#InfrastructureSystems.get_name-Tuple{LoadZone}","page":"LoadZone","title":"InfrastructureSystems.get_name","text":"get_name(value::LoadZone) -> String\n\n\nGet LoadZone name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#InfrastructureSystems.get_time_series_container-Tuple{LoadZone}","page":"LoadZone","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::LoadZone\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet LoadZone time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.get_peak_active_power-Tuple{LoadZone}","page":"LoadZone","title":"PowerSystems.get_peak_active_power","text":"get_peak_active_power(value::LoadZone) -> Any\n\n\nGet LoadZone peak_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.get_peak_reactive_power-Tuple{LoadZone}","page":"LoadZone","title":"PowerSystems.get_peak_reactive_power","text":"get_peak_reactive_power(value::LoadZone) -> Any\n\n\nGet LoadZone peak_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.set_peak_active_power!-Tuple{LoadZone, Any}","page":"LoadZone","title":"PowerSystems.set_peak_active_power!","text":"set_peak_active_power!(value::LoadZone, val) -> Any\n\n\nSet LoadZone peak_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.set_peak_reactive_power!-Tuple{LoadZone, Any}","page":"LoadZone","title":"PowerSystems.set_peak_reactive_power!","text":"set_peak_reactive_power!(value::LoadZone, val) -> Any\n\n\nSet LoadZone peak_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.set_time_series_container!-Tuple{LoadZone, Any}","page":"LoadZone","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::LoadZone, val) -> Any\n\n\nSet LoadZone time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#Dynamic-Branch","page":"Dynamic Lines","title":"Dynamic Branch","text":"","category":"section"},{"location":"model_library/dynamic_branch/","page":"Dynamic Lines","title":"Dynamic Lines","text":"Modules = [PowerSystems]\nPages = [\"models/dynamic_branch.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/dynamic_branch/#PowerSystems.DynamicBranch","page":"Dynamic Lines","title":"PowerSystems.DynamicBranch","text":"Extends the branch type to add the information required for dynamic modeling of branches. Includes the fields for the states and the number of states\n\nArguments\n\nbranch::ACBranch\n\n\n\n\n\n","category":"type"},{"location":"model_library/dynamic_branch/#PowerSystems.get_active_power_flow-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::DynamicBranch)\n\n\nGet DynamicBranch activepowerflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_angle_limits-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_angle_limits","text":"get_angle_limits(\n value::DynamicBranch\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet DynamicBranch angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_arc-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_arc","text":"get_arc(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_available-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_available","text":"get_available(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_b-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_b","text":"get_b(\n value::DynamicBranch\n) -> @NamedTuple{from::Float64, to::Float64}\n\n\nGet DynamicBranch b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_ext-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_ext","text":"get_ext(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_n_states-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_n_states","text":"get_n_states(value::DynamicBranch) -> Int64\n\n\nGet n_states\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_r-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_r","text":"get_r(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_rate-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_rate","text":"get_rate(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_reactive_power_flow-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(value::DynamicBranch)\n\n\nGet DynamicBranch reactivepowerflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_services-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_services","text":"get_services(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_states-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_states","text":"get_states(value::DynamicBranch) -> Vector{Symbol}\n\n\nGet states\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_x-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_x","text":"get_x(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_active_power_flow!-Tuple{DynamicBranch, Float64}","page":"Dynamic Lines","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(\n value::DynamicBranch,\n val::Float64\n) -> Any\n\n\nSet DynamicBranch activepowerflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_angle_limits!-Tuple{DynamicBranch, @NamedTuple{min::Float64, max::Float64}}","page":"Dynamic Lines","title":"PowerSystems.set_angle_limits!","text":"set_angle_limits!(\n value::DynamicBranch,\n val::@NamedTuple{min::Float64, max::Float64}\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nSet DynamicBranch angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_arc!-Tuple{DynamicBranch, Arc}","page":"Dynamic Lines","title":"PowerSystems.set_arc!","text":"set_arc!(value::DynamicBranch, val::Arc) -> Any\n\n\nSet DynamicBranch arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_available!-Tuple{DynamicBranch, Bool}","page":"Dynamic Lines","title":"PowerSystems.set_available!","text":"set_available!(value::DynamicBranch, val::Bool) -> Any\n\n\nSet DynamicBranch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_b!-Tuple{DynamicBranch, Any}","page":"Dynamic Lines","title":"PowerSystems.set_b!","text":"set_b!(value::DynamicBranch, val) -> Any\n\n\nSet DynamicBranch b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_ext!-Tuple{DynamicBranch, Dict{String, Any}}","page":"Dynamic Lines","title":"PowerSystems.set_ext!","text":"set_ext!(\n value::DynamicBranch,\n val::Dict{String, Any}\n) -> Any\n\n\nSet DynamicBranch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_n_states!-Tuple{DynamicBranch, Int64}","page":"Dynamic Lines","title":"PowerSystems.set_n_states!","text":"set_n_states!(value::DynamicBranch, val::Int64) -> Int64\n\n\nSet n_states\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_r!-Tuple{DynamicBranch, Float64}","page":"Dynamic Lines","title":"PowerSystems.set_r!","text":"set_r!(value::DynamicBranch, val::Float64) -> Any\n\n\nSet DynamicBranch r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_rate!-Tuple{DynamicBranch, Float64}","page":"Dynamic Lines","title":"PowerSystems.set_rate!","text":"set_rate!(value::DynamicBranch, val::Float64) -> Any\n\n\nSet DynamicBranch rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_reactive_power_flow!-Tuple{DynamicBranch, Float64}","page":"Dynamic Lines","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(\n value::DynamicBranch,\n val::Float64\n) -> Any\n\n\nSet DynamicBranch reactivepowerflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_services!-Tuple{DynamicBranch, Vector{Service}}","page":"Dynamic Lines","title":"PowerSystems.set_services!","text":"set_services!(\n value::DynamicBranch,\n val::Vector{Service}\n) -> Any\n\n\nSet DynamicBranch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_states!-Tuple{DynamicBranch, Vector{Symbol}}","page":"Dynamic Lines","title":"PowerSystems.set_states!","text":"set_states!(\n value::DynamicBranch,\n val::Vector{Symbol}\n) -> Vector{Symbol}\n\n\nSet states\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_x!-Tuple{DynamicBranch, Float64}","page":"Dynamic Lines","title":"PowerSystems.set_x!","text":"set_x!(value::DynamicBranch, val::Float64) -> Any\n\n\nSet DynamicBranch x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#StaticReserveNonSpinning","page":"StaticReserveNonSpinning","title":"StaticReserveNonSpinning","text":"","category":"section"},{"location":"model_library/generated_StaticReserveNonSpinning/","page":"StaticReserveNonSpinning","title":"StaticReserveNonSpinning","text":"Modules = [PowerSystems]\nPages = [\"generated/StaticReserveNonSpinning.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.StaticReserveNonSpinning","page":"StaticReserveNonSpinning","title":"PowerSystems.StaticReserveNonSpinning","text":"mutable struct StaticReserveNonSpinning <: ReserveNonSpinning\n name::String\n available::Bool\n time_frame::Float64\n requirement::Float64\n sustained_time::Float64\n max_output_fraction::Float64\n max_participation_factor::Float64\n deployed_fraction::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nData Structure for a non-spinning reserve product for system simulations.\n\nArguments\n\nname::String\navailable::Bool\ntime_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing), action if invalid: error\nrequirement::Float64: the static value of required reserves in system p.u., validation range: (0, nothing), action if invalid: error\nsustained_time::Float64: the time in secounds reserve contribution must sustained at a specified level, validation range: (0, nothing), action if invalid: error\nmax_output_fraction::Float64: the maximum fraction of the device's output that can be assigned to the service, validation range: (0, 1), action if invalid: error\nmax_participation_factor::Float64: the maximum limit of reserve contribution per device, validation range: (0, 1), action if invalid: error\ndeployed_fraction::Float64: Fraction of ancillary services participation deployed from the assignment, validation range: (0, 1), action if invalid: error\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_StaticReserveNonSpinning/#InfrastructureSystems.get_name-Tuple{StaticReserveNonSpinning}","page":"StaticReserveNonSpinning","title":"InfrastructureSystems.get_name","text":"get_name(value::StaticReserveNonSpinning) -> String\n\n\nGet StaticReserveNonSpinning name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.get_available-Tuple{StaticReserveNonSpinning}","page":"StaticReserveNonSpinning","title":"PowerSystems.get_available","text":"get_available(value::StaticReserveNonSpinning) -> Bool\n\n\nGet StaticReserveNonSpinning available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.get_deployed_fraction-Tuple{StaticReserveNonSpinning}","page":"StaticReserveNonSpinning","title":"PowerSystems.get_deployed_fraction","text":"get_deployed_fraction(\n value::StaticReserveNonSpinning\n) -> Float64\n\n\nGet StaticReserveNonSpinning deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.get_ext-Tuple{StaticReserveNonSpinning}","page":"StaticReserveNonSpinning","title":"PowerSystems.get_ext","text":"get_ext(\n value::StaticReserveNonSpinning\n) -> Dict{String, Any}\n\n\nGet StaticReserveNonSpinning ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.get_max_output_fraction-Tuple{StaticReserveNonSpinning}","page":"StaticReserveNonSpinning","title":"PowerSystems.get_max_output_fraction","text":"get_max_output_fraction(\n value::StaticReserveNonSpinning\n) -> Float64\n\n\nGet StaticReserveNonSpinning max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.get_max_participation_factor-Tuple{StaticReserveNonSpinning}","page":"StaticReserveNonSpinning","title":"PowerSystems.get_max_participation_factor","text":"get_max_participation_factor(\n value::StaticReserveNonSpinning\n) -> Float64\n\n\nGet StaticReserveNonSpinning max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.get_requirement-Tuple{StaticReserveNonSpinning}","page":"StaticReserveNonSpinning","title":"PowerSystems.get_requirement","text":"get_requirement(value::StaticReserveNonSpinning) -> Any\n\n\nGet StaticReserveNonSpinning requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.get_sustained_time-Tuple{StaticReserveNonSpinning}","page":"StaticReserveNonSpinning","title":"PowerSystems.get_sustained_time","text":"get_sustained_time(\n value::StaticReserveNonSpinning\n) -> Float64\n\n\nGet StaticReserveNonSpinning sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.get_time_frame-Tuple{StaticReserveNonSpinning}","page":"StaticReserveNonSpinning","title":"PowerSystems.get_time_frame","text":"get_time_frame(value::StaticReserveNonSpinning) -> Float64\n\n\nGet StaticReserveNonSpinning time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.set_available!-Tuple{StaticReserveNonSpinning, Any}","page":"StaticReserveNonSpinning","title":"PowerSystems.set_available!","text":"set_available!(value::StaticReserveNonSpinning, val) -> Any\n\n\nSet StaticReserveNonSpinning available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.set_deployed_fraction!-Tuple{StaticReserveNonSpinning, Any}","page":"StaticReserveNonSpinning","title":"PowerSystems.set_deployed_fraction!","text":"set_deployed_fraction!(\n value::StaticReserveNonSpinning,\n val\n) -> Any\n\n\nSet StaticReserveNonSpinning deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.set_ext!-Tuple{StaticReserveNonSpinning, Any}","page":"StaticReserveNonSpinning","title":"PowerSystems.set_ext!","text":"set_ext!(value::StaticReserveNonSpinning, val) -> Any\n\n\nSet StaticReserveNonSpinning ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.set_max_output_fraction!-Tuple{StaticReserveNonSpinning, Any}","page":"StaticReserveNonSpinning","title":"PowerSystems.set_max_output_fraction!","text":"set_max_output_fraction!(\n value::StaticReserveNonSpinning,\n val\n) -> Any\n\n\nSet StaticReserveNonSpinning max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.set_max_participation_factor!-Tuple{StaticReserveNonSpinning, Any}","page":"StaticReserveNonSpinning","title":"PowerSystems.set_max_participation_factor!","text":"set_max_participation_factor!(\n value::StaticReserveNonSpinning,\n val\n) -> Any\n\n\nSet StaticReserveNonSpinning max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.set_requirement!-Tuple{StaticReserveNonSpinning, Any}","page":"StaticReserveNonSpinning","title":"PowerSystems.set_requirement!","text":"set_requirement!(\n value::StaticReserveNonSpinning,\n val\n) -> Any\n\n\nSet StaticReserveNonSpinning requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.set_sustained_time!-Tuple{StaticReserveNonSpinning, Any}","page":"StaticReserveNonSpinning","title":"PowerSystems.set_sustained_time!","text":"set_sustained_time!(\n value::StaticReserveNonSpinning,\n val\n) -> Any\n\n\nSet StaticReserveNonSpinning sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StaticReserveNonSpinning/#PowerSystems.set_time_frame!-Tuple{StaticReserveNonSpinning, Any}","page":"StaticReserveNonSpinning","title":"PowerSystems.set_time_frame!","text":"set_time_frame!(value::StaticReserveNonSpinning, val) -> Any\n\n\nSet StaticReserveNonSpinning time_frame.\n\n\n\n\n\n","category":"method"},{"location":"tutorials/powersystembuilder/#psb","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"tutorials/powersystembuilder/#Introduction","page":"PowerSystemCaseBuilder","title":"Introduction","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"PowerSystemCaseBuilder.jl provides a utility to manage a library of Systems. The package has utilities to list the available system data and to create instances of each system. By keeping track of which systems have been constructed locally, it makes the re-instantiation of systems efficient by utilizing the serialization features and avoiding the parsing process for systems that have been previously constructed.","category":"page"},{"location":"tutorials/powersystembuilder/#Dependencies","page":"PowerSystemCaseBuilder","title":"Dependencies","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"using PowerSystemCaseBuilder","category":"page"},{"location":"tutorials/powersystembuilder/#List-all-systems-in-library","page":"PowerSystemCaseBuilder","title":"List all systems in library","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"show_systems()","category":"page"},{"location":"tutorials/powersystembuilder/#Systems-can-be-listed-by-category","page":"PowerSystemCaseBuilder","title":"Systems can be listed by category","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"The available categories can be displayed with:","category":"page"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"show_categories()","category":"page"},{"location":"tutorials/powersystembuilder/#Create-a-System","page":"PowerSystemCaseBuilder","title":"Create a System","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"The first time this is run, it will parse csv data. Subsequent executions will rely on serialized data and will execute much faster since the employ deserialization","category":"page"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"sys = build_system(PSITestSystems, \"c_sys5_uc\")","category":"page"},{"location":"model_developer_guide/extending_parsing/#Extending-Parsing-Capabilities","page":"Extending Parsing","title":"Extending Parsing Capabilities","text":"","category":"section"},{"location":"model_developer_guide/extending_parsing/#Extending-PowerSystemTableData-parsing","page":"Extending Parsing","title":"Extending PowerSystemTableData parsing","text":"","category":"section"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"This page describes how developers should read columns from raw data files.","category":"page"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"The main point is that you should not read individual hard-coded column names from DataFrames. The parsing code includes mapping functionality that allows you to use PowerSystems-standard names while letting the users define their own custom names.","category":"page"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"Note: This assumes that you are familiar with the PowerSystems Table Data Parser.","category":"page"},{"location":"model_developer_guide/extending_parsing/#Procedure","page":"Extending Parsing","title":"Procedure","text":"","category":"section"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"Add an entry to the array of parameters for your category in src/descriptors/power_system_inputs.json according to the following:\nUse snake_case for the name field.\nThe fields name and description are required.\nTry to use a name that is generic and not specific to one dataset.\nIt is recommended that you define unit.\nIf PowerSystems expects the value to be per-unit then you must specify system_per_unit=true.\nPowerSystems has two commonly-used datasets with customized user config files: PowerSystemsTestData and RTS_GMLC. Update both of these files and submit pull requests.\nParse the raw data like in this example:","category":"page"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"function demo_bus_csv_parser!(data::PowerSystemTableData)\n for bus in iterate_rows(data, BUS::InputCategory)\n @show bus.name, bus.max_active_power, bus.max_reactive_power\n end\nend","category":"page"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"iterate_rows returns a NamedTuple where each name defined in src/descriptors/power_system_inputs.json is a field.","category":"page"},{"location":"model_developer_guide/extending_parsing/#Extending-PSS/e-Dynamic-Parsing-Capabilities","page":"Extending Parsing","title":"Extending PSS/e Dynamic Parsing Capabilities","text":"","category":"section"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"UNDER CONSTRUCTION","category":"page"},{"location":"modeler_guide/market_bid_cost/#PowerSystems-[MarketBidCost](@ref)","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"Is an OperationalCost data structure that allows the user to run a production cost model that is very similar to most US electricity market auctions with bids for energy and ancillary services jointly. This page showcases how to create data for this cost function.","category":"page"},{"location":"modeler_guide/market_bid_cost/#Adding-Energy-bids-to-MarketBidCost","page":"PowerSystems MarketBidCost","title":"Adding Energy bids to MarketBidCost","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/#Step-1:-Constructiong-device-with-MarketBidCost","page":"PowerSystems MarketBidCost","title":"Step 1: Constructiong device with MarketBidCost","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"When using MarketBidCost, the user can add the cost struct to the device specifying only certain elements, at this point the actual energy cost bids don't need to be populated/passed.","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"The code below shows an example how we can create a thermal device with MarketBidCost.","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"using PowerSystems, Dates\nbus = ACBus(1, \"nodeE\", \"REF\", 0, 1.0, (min = 0.9, max = 1.05), 230, nothing, nothing)\n\ngenerator = ThermalStandard(\n name = \"Brighton\",\n available = true,\n status = true,\n bus = bus,\n active_power = 6.0,\n reactive_power = 1.50,\n rating = 0.75,\n prime_mover_type = PrimeMovers.ST,\n fuel = ThermalFuels.COAL,\n active_power_limits = (min = 0.0, max = 6.0),\n reactive_power_limits = (min = -4.50, max = 4.50),\n time_limits = (up = 0.015, down = 0.015),\n ramp_limits = (up = 5.0, down = 3.0),\n operation_cost = MarketBidCost(\n no_load = 0.0,\n start_up = (hot = 0.0, warm = 0.0, cold = 0.0),\n shut_down = 0.0,\n ),\n base_power = 100.0,\n )","category":"page"},{"location":"modeler_guide/market_bid_cost/#Step-2:-Creating-the-TimeSeriesData-for-the-Market-Bid","page":"PowerSystems MarketBidCost","title":"Step 2: Creating the TimeSeriesData for the Market Bid","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"The user is expected to pass the TimeSeriesData that holds the energy bid data which can be of any type (i.e. SingleTimeSeries or Deterministic) and data can be Array{Float64}, Array{Tuple{Float64, Float64}} or Array{Array{Tuple{Float64,Float64}}. If the data is just floats then the cost in the optimization is seen as a constant variable cost, but if data is a Tuple or Array{Tuple} then the model expects the tuples to be cost & power-point pairs (cost in /p.u-hr & power-point in p.u-hr), which is modeled same as TwoPartCost or ThreePartCost. Code below shows an example of how to build a TimeSeriesData.","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"data =\n Dict(Dates.DateTime(\"2020-01-01\") => [\n [(0.0, 0.05), (290.1, 0.0733), (582.72, 0.0967), (894.1, 0.120)],\n [(0.0, 0.05), (300.1, 0.0733), (600.72, 0.0967), (900.1, 0.120)],]\n )\ntime_series_data = Deterministic(\n name = \"variable_cost\",\n data = data,\n resolution = Dates.Hour(1)\n)","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"NOTE: Due to limitations in DataStructures.jl, in PowerSystems.jl when creating Forecasts or TimeSeries for your MarketBidCost, you need to define your data as in the example or with a very explicit container. Otherwise, it won't discern the types properly in the constructor and will return SortedDict{Any,Any,Base.Order.ForwardOrdering} which causes the constructor in PowerSystems.jl to fail. For instance, you need to define the Dict with the data as follows:","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":" # Very verbose dict definition\n data = Dict{DateTime,Array{Array{Tuple{Float64,Float64},1},1}}()\n for t in range(initial_time_sys; step = Hour(1), length = window_count)\n data[t] = MY_BID_DATA\n end","category":"page"},{"location":"modeler_guide/market_bid_cost/#Step-3a:-Adding-Energy-Bid-TimeSeriesData-to-the-device","page":"PowerSystems MarketBidCost","title":"Step 3a: Adding Energy Bid TimeSeriesData to the device","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"To add energy market bids time-series to the MarketBidCost, the use of set_variable_cost! is recommended. The arguments for set_variable_cost! are:","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"sys::System: PowerSystem System\ncomponent::StaticInjection: Static injection device\ntime_series_data::TimeSeriesData: TimeSeriesData","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"sys = System(100.0, [bus], [generator])\nset_variable_cost!(sys, generator, time_series_data)","category":"page"},{"location":"modeler_guide/market_bid_cost/#Step-3b:-Adding-Service-Bid-TimeSeriesData-to-the-device","page":"PowerSystems MarketBidCost","title":"Step 3b: Adding Service Bid TimeSeriesData to the device","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"Similar to adding energy market bids, for adding bids for ancillary services the use of set_service_bid! is recommended.","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"service = VariableReserve{ReserveUp}(\"example_reserve\", true, 0.6, 2.0)\nadd_service!(sys, service, get_component(ThermalStandard, sys, \"Brighton\"))\ndata =\n Dict(Dates.DateTime(\"2020-01-01\") => [650.3, 750.0])\ntime_series_data = Deterministic(\n name = get_name(service),\n data = data,\n resolution = Dates.Hour(1)\n)\nset_service_bid!(sys, generator, service, time_series_data)","category":"page"},{"location":"model_library/generated_TurbineGov/#TurbineGov","page":"TurbineGov","title":"TurbineGov","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/#DEGOV","page":"TurbineGov","title":"DEGOV","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/DEGOV.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.DEGOV","page":"TurbineGov","title":"PowerSystems.DEGOV","text":"mutable struct DEGOV <: TurbineGov\n T1::Float64\n T2::Float64\n T3::Float64\n K::Float64\n T4::Float64\n T5::Float64\n T6::Float64\n Td::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters Woodward Diesel Governor Model. DEGOV in PowerWorld.\n\nArguments\n\nT1::Float64: Governor mechanism time constant, validation range: (eps(), 100)\nT2::Float64: Turbine power time constant, validation range: (eps(), 100)\nT3::Float64: Turbine exhaust temperature time constant, validation range: (eps(), 100)\nK::Float64: Governor gain (reciprocal of droop), validation range: (eps(), 100)\nT4::Float64: Governor lead time constant, validation range: (eps(), 100)\nT5::Float64: Governor lag time constant, validation range: (eps(), 100)\nT6::Float64: Actuator time constant, validation range: (eps(), 100)\nTd::Float64: Engine time delay, validation range: (eps(), 100)\nP_ref::Float64: Reference Load Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the DEGOV model are:\n\nx_ecb1: Electric control box 1,\nx_ecb2: Electric control box 2,\nx_a1: Actuator 1,\nx_a2: Actuator 2,\nx_a3: Actuator 3,\n\nn_states::Int: DEGOV has 5 states\nstates_types::Vector{StateTypes}: DEGOV has 5 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_K","text":"get_K(value::DEGOV) -> Float64\n\n\nGet DEGOV K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::DEGOV) -> Float64\n\n\nGet DEGOV P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::DEGOV) -> Float64\n\n\nGet DEGOV T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::DEGOV) -> Float64\n\n\nGet DEGOV T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::DEGOV) -> Float64\n\n\nGet DEGOV T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T4-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T4","text":"get_T4(value::DEGOV) -> Float64\n\n\nGet DEGOV T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T5-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T5","text":"get_T5(value::DEGOV) -> Float64\n\n\nGet DEGOV T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T6-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T6","text":"get_T6(value::DEGOV) -> Float64\n\n\nGet DEGOV T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Td-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_Td","text":"get_Td(value::DEGOV) -> Float64\n\n\nGet DEGOV Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::DEGOV) -> Dict{String, Any}\n\n\nGet DEGOV ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::DEGOV) -> Int64\n\n\nGet DEGOV n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::DEGOV) -> Vector{Symbol}\n\n\nGet DEGOV states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(value::DEGOV) -> Vector{StateTypes}\n\n\nGet DEGOV states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_K!","text":"set_K!(value::DEGOV, val) -> Any\n\n\nSet DEGOV K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::DEGOV, val) -> Any\n\n\nSet DEGOV P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T4!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T4!","text":"set_T4!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T5!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T5!","text":"set_T5!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T6!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T6!","text":"set_T6!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Td!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Td!","text":"set_Td!(value::DEGOV, val) -> Any\n\n\nSet DEGOV Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::DEGOV, val) -> Any\n\n\nSet DEGOV ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::DEGOV, val) -> Any\n\n\nSet DEGOV states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#GasTG","page":"TurbineGov","title":"GasTG","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/GasTG.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.GasTG","page":"TurbineGov","title":"PowerSystems.GasTG","text":"mutable struct GasTG <: TurbineGov\n R::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n AT::Float64\n Kt::Float64\n V_lim::Tuple{Float64, Float64}\n D_turb::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of Gas Turbine-Governor. GAST in PSSE and GAST_PTI in PowerWorld.\n\nArguments\n\nR::Float64: Speed droop parameter, validation range: (eps(), 0.1)\nT1::Float64: Governor time constant in s, validation range: (eps(), 0.5)\nT2::Float64: Combustion chamber time constant, validation range: (eps(), 0.5)\nT3::Float64: Load limit time constant (exhaust gas measurement time), validation range: (eps(), 5)\nAT::Float64: Ambient temperature load limit, validation range: (0, 1)\nKt::Float64: Load limit feedback gain, validation range: (0, 5)\nV_lim::Tuple{Float64, Float64}: Operational control limits on fuel valve opening (Vmin, Vmax)\nD_turb::Float64: Speed damping coefficient of gas turbine rotor, validation range: (0, 0.5)\nP_ref::Float64: Reference Load Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the GAST model are:\n\nx_g1: Fuel valve opening,\nx_g2: Fuel flow,\nx_g3: Exhaust temperature load\n\nn_states::Int: GasTG has 3 states\nstates_types::Vector{StateTypes}: GAST has 3 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_AT-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_AT","text":"get_AT(value::GasTG) -> Float64\n\n\nGet GasTG AT.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_D_turb-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_D_turb","text":"get_D_turb(value::GasTG) -> Float64\n\n\nGet GasTG D_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kt-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_Kt","text":"get_Kt(value::GasTG) -> Float64\n\n\nGet GasTG Kt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::GasTG) -> Float64\n\n\nGet GasTG P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::GasTG) -> Float64\n\n\nGet GasTG R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::GasTG) -> Float64\n\n\nGet GasTG T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::GasTG) -> Float64\n\n\nGet GasTG T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::GasTG) -> Float64\n\n\nGet GasTG T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_V_lim-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_V_lim","text":"get_V_lim(value::GasTG) -> Tuple{Float64, Float64}\n\n\nGet GasTG V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::GasTG) -> Dict{String, Any}\n\n\nGet GasTG ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::GasTG) -> Int64\n\n\nGet GasTG n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::GasTG) -> Vector{Symbol}\n\n\nGet GasTG states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(value::GasTG) -> Vector{StateTypes}\n\n\nGet GasTG states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_AT!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_AT!","text":"set_AT!(value::GasTG, val) -> Any\n\n\nSet GasTG AT.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_D_turb!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_D_turb!","text":"set_D_turb!(value::GasTG, val) -> Any\n\n\nSet GasTG D_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kt!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_Kt!","text":"set_Kt!(value::GasTG, val) -> Any\n\n\nSet GasTG Kt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::GasTG, val) -> Any\n\n\nSet GasTG P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::GasTG, val) -> Any\n\n\nSet GasTG R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::GasTG, val) -> Any\n\n\nSet GasTG T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::GasTG, val) -> Any\n\n\nSet GasTG T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::GasTG, val) -> Any\n\n\nSet GasTG T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_V_lim!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_V_lim!","text":"set_V_lim!(value::GasTG, val) -> Any\n\n\nSet GasTG V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::GasTG, val) -> Any\n\n\nSet GasTG ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::GasTG, val) -> Any\n\n\nSet GasTG states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#GeneralGovModel","page":"TurbineGov","title":"GeneralGovModel","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/GeneralGovModel.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.GeneralGovModel","page":"TurbineGov","title":"PowerSystems.GeneralGovModel","text":"mutable struct GeneralGovModel <: TurbineGov\n Rselect::Int\n fuel_flag::Int\n R::Float64\n Tpelec::Float64\n speed_error_signal::MinMax\n Kp_gov::Float64\n Ki_gov::Float64\n Kd_gov::Float64\n Td_gov::Float64\n valve_position_limits::MinMax\n T_act::Float64\n K_turb::Float64\n Wf_nl::Float64\n Tb::Float64\n Tc::Float64\n T_eng::Float64\n Tf_load::Float64\n Kp_load::Float64\n Ki_load::Float64\n Ld_ref::Float64\n Dm::Float64\n R_open::Float64\n R_close::Float64\n Ki_mw::Float64\n A_set::Float64\n Ka::Float64\n Ta::Float64\n T_rate::Float64\n db::Float64\n Tsa::Float64\n Tsb::Float64\n R_lim::UpDown\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nGE General Governor/Turbine Model. The GeneralGovModel (GGOV1) model is a general purpose governor model used for a variety of prime movers controlled by proportional-integral-derivative (PID) governors including gas turbines.\n\nArguments\n\nRselect::Int: Feedback signal for governor droop, validation range: (-2, 1), action if invalid: error\nfuel_flag::Int: Flag Switch for fuel source characteristic, validation range: (0, 1), action if invalid: error\nR::Float64: Speed droop parameter, validation range: (eps(), nothing), action if invalid: warn\nTpelec::Float64: Electrical power transducer time constant, seconds, validation range: (eps(), nothing), action if invalid: warn\nspeed_error_signal::MinMax: Speed error signal limits\nKp_gov::Float64: Governor proportional gain, validation range: (0, nothing), action if invalid: warn\nKi_gov::Float64: Governor integral gain, validation range: (0, nothing), action if invalid: warn\nKd_gov::Float64: Governor derivative gain, validation range: (0, nothing), action if invalid: warn\nTd_gov::Float64: Governor derivative time constant, validation range: (0, nothing), action if invalid: warn\nvalve_position_limits::MinMax: Valve position limits\nT_act::Float64: Actuator time constant, validation range: (0, nothing), action if invalid: warn\nK_turb::Float64: Turbine gain, validation range: (0, nothing), action if invalid: warn\nWf_nl::Float64: No load fuel flow, pu, validation range: (0, nothing), action if invalid: warn\nTb::Float64: Turbine lag time constant, sec, validation range: (0, nothing), action if invalid: warn\nTc::Float64: Turbine lead time constant, sec, validation range: (0, nothing), action if invalid: warn\nT_eng::Float64: Transport lag time constant for diesel engine, sec, validation range: (0, nothing), action if invalid: warn\nTf_load::Float64: Load limiter time constant, validation range: (0, nothing), action if invalid: warn\nKp_load::Float64: Load limiter proportional gain for PI controller, validation range: (0, nothing), action if invalid: warn\nKi_load::Float64: Load integral gain for PI controller, validation range: (0, nothing), action if invalid: warn\nLd_ref::Float64: Load limiter integral gain for PI controller, validation range: (0, nothing), action if invalid: warn\nDm::Float64: Mechanical damping coefficient, pu, validation range: (0, nothing), action if invalid: warn\nR_open::Float64: Maximum valve opening rate, pu/sec, validation range: (0, nothing), action if invalid: warn\nR_close::Float64: Maximum valve closing rate, pu/sec, validation range: (0, nothing), action if invalid: warn\nKi_mw::Float64: Power controller (reset) gain, validation range: (0, nothing), action if invalid: warn\nA_set::Float64: Acceleration limiter setpoint, pu/sec, validation range: (0, nothing), action if invalid: warn\nKa::Float64: Acceleration limiter gain, validation range: (0, nothing), action if invalid: warn\nTa::Float64: Acceleration limiter time constant , validation range: (eps(), nothing), action if invalid: error\nT_rate::Float64: Turbine rating, validation range: (0, nothing), action if invalid: warn\ndb::Float64: Speed governor deadband, validation range: (0, nothing), action if invalid: warn\nTsa::Float64: Temperature detection lead time constant, validation range: (0, nothing), action if invalid: warn\nTsb::Float64: Temperature detection lag time constant, validation range: (0, nothing), action if invalid: warn\nR_lim::UpDown: Maximum rate of load increa\nP_ref::Float64: Reference Power Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the GGOV1 model are:\n\nPe: Machine Electrical Power Measurement,\nx_g1: Governor differential control,\nx_g2: Governor integral control, \nx_g3: Turbine actuator, \nx_g4: Turbine Lead-Lag, \nx_g5: Turbine load limiter measurement, \nx_g6: Turbine Load Limiter Integral Control, \nx_g7: Supervisory Load Control, \nx_g8: Acceleration Control, \nx_g9 Temperature Detection Lead - Lag:\n\nn_states::Int: GeneralGovModel has 10 states\nstates_types::Vector{StateTypes}: GGOV1 has 10 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_A_set-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_A_set","text":"get_A_set(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel A_set.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Dm-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Dm","text":"get_Dm(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Dm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K_turb-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_K_turb","text":"get_K_turb(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel K_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ka-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ka","text":"get_Ka(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kd_gov-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Kd_gov","text":"get_Kd_gov(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Kd_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ki_gov-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ki_gov","text":"get_Ki_gov(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ki_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ki_load-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ki_load","text":"get_Ki_load(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ki_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ki_mw-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ki_mw","text":"get_Ki_mw(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ki_mw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kp_gov-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Kp_gov","text":"get_Kp_gov(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Kp_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kp_load-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Kp_load","text":"get_Kp_load(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Kp_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ld_ref-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ld_ref","text":"get_Ld_ref(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ld_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R_close-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_R_close","text":"get_R_close(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel R_close.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R_lim-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_R_lim","text":"get_R_lim(\n value::GeneralGovModel\n) -> @NamedTuple{up::Float64, down::Float64}\n\n\nGet GeneralGovModel R_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R_open-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_R_open","text":"get_R_open(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel R_open.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Rselect-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Rselect","text":"get_Rselect(value::GeneralGovModel) -> Int64\n\n\nGet GeneralGovModel Rselect.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_act-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_T_act","text":"get_T_act(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel T_act.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_eng-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_T_eng","text":"get_T_eng(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel T_eng.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_rate-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_T_rate","text":"get_T_rate(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel T_rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ta-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ta","text":"get_Ta(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tb-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tb","text":"get_Tb(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tc-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tc","text":"get_Tc(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Td_gov-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Td_gov","text":"get_Td_gov(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Td_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tf_load-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tf_load","text":"get_Tf_load(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tf_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tpelec-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tpelec","text":"get_Tpelec(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tpelec.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tsa-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tsa","text":"get_Tsa(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tsa.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tsb-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tsb","text":"get_Tsb(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tsb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Wf_nl-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Wf_nl","text":"get_Wf_nl(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Wf_nl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_db-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_db","text":"get_db(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel db.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::GeneralGovModel) -> Dict{String, Any}\n\n\nGet GeneralGovModel ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_fuel_flag-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_fuel_flag","text":"get_fuel_flag(value::GeneralGovModel) -> Int64\n\n\nGet GeneralGovModel fuel_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::GeneralGovModel) -> Int64\n\n\nGet GeneralGovModel n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_speed_error_signal-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_speed_error_signal","text":"get_speed_error_signal(\n value::GeneralGovModel\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet GeneralGovModel speed_error_signal.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::GeneralGovModel) -> Vector{Symbol}\n\n\nGet GeneralGovModel states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(\n value::GeneralGovModel\n) -> Vector{StateTypes}\n\n\nGet GeneralGovModel states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_valve_position_limits-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_valve_position_limits","text":"get_valve_position_limits(\n value::GeneralGovModel\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet GeneralGovModel valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_A_set!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_A_set!","text":"set_A_set!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel A_set.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Dm!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Dm!","text":"set_Dm!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Dm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K_turb!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_K_turb!","text":"set_K_turb!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel K_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ka!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kd_gov!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Kd_gov!","text":"set_Kd_gov!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Kd_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ki_gov!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ki_gov!","text":"set_Ki_gov!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ki_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ki_load!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ki_load!","text":"set_Ki_load!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ki_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ki_mw!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ki_mw!","text":"set_Ki_mw!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ki_mw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kp_gov!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Kp_gov!","text":"set_Kp_gov!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Kp_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kp_load!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Kp_load!","text":"set_Kp_load!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Kp_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ld_ref!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ld_ref!","text":"set_Ld_ref!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ld_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R_close!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_R_close!","text":"set_R_close!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel R_close.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R_lim!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_R_lim!","text":"set_R_lim!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel R_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R_open!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_R_open!","text":"set_R_open!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel R_open.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Rselect!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Rselect!","text":"set_Rselect!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Rselect.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_act!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_T_act!","text":"set_T_act!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel T_act.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_eng!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_T_eng!","text":"set_T_eng!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel T_eng.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_rate!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_T_rate!","text":"set_T_rate!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel T_rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ta!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tb!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tc!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Td_gov!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Td_gov!","text":"set_Td_gov!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Td_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tf_load!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tf_load!","text":"set_Tf_load!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tf_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tpelec!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tpelec!","text":"set_Tpelec!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tpelec.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tsa!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tsa!","text":"set_Tsa!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tsa.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tsb!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tsb!","text":"set_Tsb!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tsb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Wf_nl!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Wf_nl!","text":"set_Wf_nl!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Wf_nl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_db!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_db!","text":"set_db!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel db.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_fuel_flag!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_fuel_flag!","text":"set_fuel_flag!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel fuel_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_speed_error_signal!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_speed_error_signal!","text":"set_speed_error_signal!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel speed_error_signal.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_valve_position_limits!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_valve_position_limits!","text":"set_valve_position_limits!(\n value::GeneralGovModel,\n val\n) -> Any\n\n\nSet GeneralGovModel valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#HydroTurbineGov","page":"TurbineGov","title":"HydroTurbineGov","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/HydroTurbineGov.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.HydroTurbineGov","page":"TurbineGov","title":"PowerSystems.HydroTurbineGov","text":"mutable struct HydroTurbineGov <: TurbineGov\n R::Float64\n r::Float64\n Tr::Float64\n Tf::Float64\n Tg::Float64\n VELM::Float64\n gate_position_limits::MinMax\n Tw::Float64\n At::Float64\n D_T::Float64\n q_nl::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nHydro Turbine-Governor.\n\nArguments\n\nR::Float64: Permanent droop parameter, validation range: (0, 0.1), action if invalid: warn\nr::Float64: Temporary Droop, validation range: (0, 2), action if invalid: warn\nTr::Float64: Governor time constant, validation range: (eps(), 30), action if invalid: error\nTf::Float64: Filter Time constant, validation range: (eps(), 0.1)\nTg::Float64: Servo time constant, validation range: (eps(), 1), action if invalid: error\nVELM::Float64: gate velocity limit, validation range: (eps(), 0.3), action if invalid: error\ngate_position_limits::MinMax: Gate position limits\nTw::Float64: water time constant, validation range: (eps(), 3), action if invalid: error\nAt::Float64: Turbine gain, validation range: (0.8, 1.5), action if invalid: warn\nD_T::Float64: Turbine Damping, validation range: (0, 0.5), action if invalid: warn\nq_nl::Float64: No-power flow, validation range: (0, nothing), action if invalid: warn\nP_ref::Float64: Reference Power Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the HydroTurbineGov model are:\n\nx_g1: filter_output,\nx_g2: desired gate, \nx_g3: gate opening, \nx_g4: turbine flow\n\nn_states::Int: HYGOV has 4 states\nstates_types::Vector{StateTypes}: HYGOV has 4 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_At-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_At","text":"get_At(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov At.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_D_T-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_D_T","text":"get_D_T(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov D_T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tf-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_Tf","text":"get_Tf(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tg-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_Tg","text":"get_Tg(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov Tg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tr-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_Tr","text":"get_Tr(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tw-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_Tw","text":"get_Tw(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_VELM-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_VELM","text":"get_VELM(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov VELM.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::HydroTurbineGov) -> Dict{String, Any}\n\n\nGet HydroTurbineGov ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_gate_position_limits-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_gate_position_limits","text":"get_gate_position_limits(\n value::HydroTurbineGov\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet HydroTurbineGov gate_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::HydroTurbineGov) -> Int64\n\n\nGet HydroTurbineGov n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_q_nl-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_q_nl","text":"get_q_nl(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov q_nl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_r-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_r","text":"get_r(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::HydroTurbineGov) -> Vector{Symbol}\n\n\nGet HydroTurbineGov states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(\n value::HydroTurbineGov\n) -> Vector{StateTypes}\n\n\nGet HydroTurbineGov states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_At!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_At!","text":"set_At!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov At.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_D_T!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_D_T!","text":"set_D_T!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov D_T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tf!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tg!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_Tg!","text":"set_Tg!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov Tg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tr!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tw!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_Tw!","text":"set_Tw!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_VELM!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_VELM!","text":"set_VELM!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov VELM.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_gate_position_limits!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_gate_position_limits!","text":"set_gate_position_limits!(\n value::HydroTurbineGov,\n val\n) -> Any\n\n\nSet HydroTurbineGov gate_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_q_nl!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_q_nl!","text":"set_q_nl!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov q_nl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_r!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_r!","text":"set_r!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#IEEETurbineGov1","page":"TurbineGov","title":"IEEETurbineGov1","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/IEEETurbineGov1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.IEEETurbineGov1","page":"TurbineGov","title":"PowerSystems.IEEETurbineGov1","text":"mutable struct IEEETurbineGov1 <: TurbineGov\n K::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n U0::Float64\n U_c::Float64\n valve_position_limits::MinMax\n T4::Float64\n K1::Float64\n K2::Float64\n T5::Float64\n K3::Float64\n K4::Float64\n T6::Float64\n K5::Float64\n K6::Float64\n T7::Float64\n K7::Float64\n K8::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIEEE Type 1 Speed-Governing Model\n\nArguments\n\nK::Float64: Governor Gain, validation range: (5, 30), action if invalid: warn\nT1::Float64: Input Filter Lag, validation range: (0, 5), action if invalid: warn\nT2::Float64: Input Filter Lead, validation range: (0, 10), action if invalid: warn\nT3::Float64: Valve position Time Constant, validation range: (eps(), 1), action if invalid: error\nU0::Float64: Maximum Valve Opening Rate, validation range: (0.01, 0.03), action if invalid: warn\nU_c::Float64: Maximum Valve closing rate, validation range: (-0.3, 0), action if invalid: warn\nvalve_position_limits::MinMax: Valve position limits in MW\nT4::Float64: Time Constant inlet steam, validation range: (0, 1), action if invalid: warn\nK1::Float64: Fraction of high presure shaft power, validation range: (-2, 1), action if invalid: warn\nK2::Float64: Fraction of low presure shaft power, validation range: (0, nothing), action if invalid: warn\nT5::Float64: Time constant for second boiler pass, validation range: (0, 10), action if invalid: warn\nK3::Float64: Fraction of high presure shaft power second boiler pass, validation range: (0, 0.5), action if invalid: warn\nK4::Float64: Fraction of low presure shaft power second boiler pass, validation range: (0, 0.5), action if invalid: warn\nT6::Float64: Time constant for third boiler pass, validation range: (0, 10), action if invalid: warn\nK5::Float64: Fraction of high presure shaft power third boiler pass, validation range: (0, 0.35), action if invalid: warn\nK6::Float64: Fraction of low presure shaft power third boiler pass, validation range: (0, 0.55), action if invalid: warn\nT7::Float64: Time constant for fourth boiler pass, validation range: (0, 10), action if invalid: warn\nK7::Float64: Fraction of high presure shaft power fourth boiler pass, validation range: (0, 0.3), action if invalid: warn\nK8::Float64: Fraction of low presure shaft power fourth boiler pass, validation range: (0, 0.3), action if invalid: warn\nP_ref::Float64: Reference Power Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the IEEETurbineGov model are:\n\nx_g1: First Governor integrator,\nx_g2: Governor output,\nx_g3: First Turbine integrator, \nx_g4: Second Turbine Integrator, \nx_g5: Third Turbine Integrator, \nx_g6: Fourth Turbine Integrator,\n\nn_states::Int: IEEEG1 has 6 states\nstates_types::Vector{StateTypes}: IEEEG1 has 6 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K","text":"get_K(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K1-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K1","text":"get_K1(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K2-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K2","text":"get_K2(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K3-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K3","text":"get_K3(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K4-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K4","text":"get_K4(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K5-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K5","text":"get_K5(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K6-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K6","text":"get_K6(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K7-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K7","text":"get_K7(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K8-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K8","text":"get_K8(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T4-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T4","text":"get_T4(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T5-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T5","text":"get_T5(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T6-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T6","text":"get_T6(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T7-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T7","text":"get_T7(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_U0-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_U0","text":"get_U0(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 U0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_U_c-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_U_c","text":"get_U_c(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 U_c.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::IEEETurbineGov1) -> Dict{String, Any}\n\n\nGet IEEETurbineGov1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::IEEETurbineGov1) -> Int64\n\n\nGet IEEETurbineGov1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::IEEETurbineGov1) -> Vector{Symbol}\n\n\nGet IEEETurbineGov1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(\n value::IEEETurbineGov1\n) -> Vector{StateTypes}\n\n\nGet IEEETurbineGov1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_valve_position_limits-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_valve_position_limits","text":"get_valve_position_limits(\n value::IEEETurbineGov1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet IEEETurbineGov1 valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K!","text":"set_K!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K1!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K1!","text":"set_K1!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K2!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K2!","text":"set_K2!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K3!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K3!","text":"set_K3!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K4!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K4!","text":"set_K4!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K5!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K5!","text":"set_K5!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K6!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K6!","text":"set_K6!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K7!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K7!","text":"set_K7!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K8!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K8!","text":"set_K8!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T4!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T4!","text":"set_T4!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T5!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T5!","text":"set_T5!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T6!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T6!","text":"set_T6!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T7!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T7!","text":"set_T7!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_U0!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_U0!","text":"set_U0!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 U0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_U_c!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_U_c!","text":"set_U_c!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 U_c.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_valve_position_limits!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_valve_position_limits!","text":"set_valve_position_limits!(\n value::IEEETurbineGov1,\n val\n) -> Any\n\n\nSet IEEETurbineGov1 valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#SteamTurbineGov1","page":"TurbineGov","title":"SteamTurbineGov1","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/SteamTurbineGov1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.SteamTurbineGov1","page":"TurbineGov","title":"PowerSystems.SteamTurbineGov1","text":"mutable struct SteamTurbineGov1 <: TurbineGov\n R::Float64\n T1::Float64\n valve_position_limits::MinMax\n T2::Float64\n T3::Float64\n D_T::Float64\n DB_h::Float64\n DB_l::Float64\n T_rate::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nSteam Turbine-Governor. This model considers both TGOV1 or TGOV1DU in PSS/E.\n\nArguments\n\nR::Float64: Droop parameter, validation range: (0, 0.1), action if invalid: warn\nT1::Float64: Governor time constant, validation range: (eps(), 0.5), action if invalid: error\nvalve_position_limits::MinMax: Valve position limits\nT2::Float64: Lead Lag Lead Time constant , validation range: (0, nothing), action if invalid: warn\nT3::Float64: Lead Lag Lag Time constant , validation range: (eps(), 10), action if invalid: error\nD_T::Float64: Turbine Damping, validation range: (0, 0.5), action if invalid: warn\nDB_h::Float64: Deadband for overspeed, validation range: (0, nothing), action if invalid: warn\nDB_l::Float64: Deadband for underspeed, validation range: (nothing, 0), action if invalid: warn\nT_rate::Float64: Turbine Rate (MW). If zero, generator base is used., validation range: (0, nothing), action if invalid: warn\nP_ref::Float64: Reference Power Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the SteamTurbineGov1 model are:\n\nx_g1: Valve Opening,\nx_g2: Lead-lag state\n\nn_states::Int: TGOV1 has 2 states\nstates_types::Vector{StateTypes}: TGOV1 has 2 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_DB_h-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_DB_h","text":"get_DB_h(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 DB_h.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_DB_l-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_DB_l","text":"get_DB_l(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 DB_l.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_D_T-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_D_T","text":"get_D_T(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 D_T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_rate-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T_rate","text":"get_T_rate(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 T_rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::SteamTurbineGov1) -> Dict{String, Any}\n\n\nGet SteamTurbineGov1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::SteamTurbineGov1) -> Int64\n\n\nGet SteamTurbineGov1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::SteamTurbineGov1) -> Vector{Symbol}\n\n\nGet SteamTurbineGov1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(\n value::SteamTurbineGov1\n) -> Vector{StateTypes}\n\n\nGet SteamTurbineGov1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_valve_position_limits-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_valve_position_limits","text":"get_valve_position_limits(\n value::SteamTurbineGov1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet SteamTurbineGov1 valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_DB_h!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_DB_h!","text":"set_DB_h!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 DB_h.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_DB_l!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_DB_l!","text":"set_DB_l!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 DB_l.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_D_T!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_D_T!","text":"set_D_T!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 D_T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_rate!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T_rate!","text":"set_T_rate!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 T_rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_valve_position_limits!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_valve_position_limits!","text":"set_valve_position_limits!(\n value::SteamTurbineGov1,\n val\n) -> Any\n\n\nSet SteamTurbineGov1 valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#TGFixed","page":"TurbineGov","title":"TGFixed","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/TGFixed.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.TGFixed","page":"TurbineGov","title":"PowerSystems.TGFixed","text":"mutable struct TGFixed <: TurbineGov\n efficiency::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a fixed Turbine Governor that returns a fixed mechanical torque given by the product of P_ref*efficiency\n\nArguments\n\nefficiency::Float64: Efficiency factor that multiplies P_ref, validation range: (0, nothing)\nP_ref::Float64: Reference Power Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}\nn_states::Int: TGFixed has no states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{TGFixed}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::TGFixed) -> Float64\n\n\nGet TGFixed P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_efficiency-Tuple{TGFixed}","page":"TurbineGov","title":"PowerSystems.get_efficiency","text":"get_efficiency(value::TGFixed) -> Float64\n\n\nGet TGFixed efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{TGFixed}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::TGFixed) -> Dict{String, Any}\n\n\nGet TGFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{TGFixed}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::TGFixed) -> Int64\n\n\nGet TGFixed n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{TGFixed}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::TGFixed) -> Vector{Symbol}\n\n\nGet TGFixed states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{TGFixed, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::TGFixed, val) -> Any\n\n\nSet TGFixed P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_efficiency!-Tuple{TGFixed, Any}","page":"TurbineGov","title":"PowerSystems.set_efficiency!","text":"set_efficiency!(value::TGFixed, val) -> Any\n\n\nSet TGFixed efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{TGFixed, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::TGFixed, val) -> Any\n\n\nSet TGFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#TGTypeI","page":"TurbineGov","title":"TGTypeI","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/TGTypeI.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.TGTypeI","page":"TurbineGov","title":"PowerSystems.TGTypeI","text":"mutable struct TGTypeI <: TurbineGov\n R::Float64\n Ts::Float64\n Tc::Float64\n T3::Float64\n T4::Float64\n T5::Float64\n valve_position_limits::MinMax\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a Turbine Governor Type I.\n\nArguments\n\nR::Float64: Droop parameter, validation range: (0, nothing)\nTs::Float64: Governor time constant, validation range: (0, nothing)\nTc::Float64: Servo time constant, validation range: (0, nothing)\nT3::Float64: Transient gain time constant, validation range: (0, nothing)\nT4::Float64: Power fraction time constant, validation range: (0, nothing)\nT5::Float64: Reheat time constant, validation range: (0, nothing)\nvalve_position_limits::MinMax: Valve position limits in MW\nP_ref::Float64: Reference Power Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the TGTypeI model are:\n\nx_g1: Governor state,\nx_g2: Servo state,\nx_g3: Reheat state\n\nn_states::Int: TGTypeI has 3 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::TGTypeI) -> Float64\n\n\nGet TGTypeI P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::TGTypeI) -> Float64\n\n\nGet TGTypeI R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::TGTypeI) -> Float64\n\n\nGet TGTypeI T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T4-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_T4","text":"get_T4(value::TGTypeI) -> Float64\n\n\nGet TGTypeI T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T5-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_T5","text":"get_T5(value::TGTypeI) -> Float64\n\n\nGet TGTypeI T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tc-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_Tc","text":"get_Tc(value::TGTypeI) -> Float64\n\n\nGet TGTypeI Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ts-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_Ts","text":"get_Ts(value::TGTypeI) -> Float64\n\n\nGet TGTypeI Ts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::TGTypeI) -> Dict{String, Any}\n\n\nGet TGTypeI ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::TGTypeI) -> Int64\n\n\nGet TGTypeI n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::TGTypeI) -> Vector{Symbol}\n\n\nGet TGTypeI states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_valve_position_limits-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_valve_position_limits","text":"get_valve_position_limits(\n value::TGTypeI\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TGTypeI valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T4!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_T4!","text":"set_T4!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T5!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_T5!","text":"set_T5!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tc!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ts!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_Ts!","text":"set_Ts!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI Ts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_valve_position_limits!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_valve_position_limits!","text":"set_valve_position_limits!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#TGTypeII","page":"TurbineGov","title":"TGTypeII","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/TGTypeII.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.TGTypeII","page":"TurbineGov","title":"PowerSystems.TGTypeII","text":"mutable struct TGTypeII <: TurbineGov\n R::Float64\n T1::Float64\n T2::Float64\n τ_limits::MinMax\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a Turbine Governor Type II.\n\nArguments\n\nR::Float64: Droop parameter, validation range: (0, nothing)\nT1::Float64: Transient gain time constant, validation range: (0, nothing)\nT2::Float64: Power fraction time constant, validation range: (0, nothing)\nτ_limits::MinMax: Power into the governor limits\nP_ref::Float64: Reference Power Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the TGTypeI model are:\n\nx_g1: lead-lag state\n\nn_states::Int: TGTypeII has 1 state\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::TGTypeII) -> Float64\n\n\nGet TGTypeII P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::TGTypeII) -> Float64\n\n\nGet TGTypeII R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::TGTypeII) -> Float64\n\n\nGet TGTypeII T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::TGTypeII) -> Float64\n\n\nGet TGTypeII T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::TGTypeII) -> Dict{String, Any}\n\n\nGet TGTypeII ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::TGTypeII) -> Int64\n\n\nGet TGTypeII n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::TGTypeII) -> Vector{Symbol}\n\n\nGet TGTypeII states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_τ_limits-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_τ_limits","text":"get_τ_limits(\n value::TGTypeII\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TGTypeII τ_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_τ_limits!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_τ_limits!","text":"set_τ_limits!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII τ_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.InverterLimiter","page":"InverterLimiter","title":"PowerSystems.InverterLimiter","text":"","category":"section"},{"location":"model_library/generated_InverterLimiter/#InstantaneousCurrentLimiter","page":"InverterLimiter","title":"InstantaneousCurrentLimiter","text":"","category":"section"},{"location":"model_library/generated_InverterLimiter/","page":"InverterLimiter","title":"InverterLimiter","text":"Modules = [PowerSystems]\nPages = [\"/InstantaneousCurrentLimiter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.InstantaneousCurrentLimiter","page":"InverterLimiter","title":"PowerSystems.InstantaneousCurrentLimiter","text":"mutable struct InstantaneousCurrentLimiter <: InverterLimiter\n Id_max::Float64\n Iq_max::Float64\n ext::Dict{String, Any}\nend\n\nParameters of Instantaneous (Square) Current Controller Limiter\n\nArguments\n\nId_max::Float64: Maximum limit on d-axis current controller input current (device base), validation range: (0, nothing)\nIq_max::Float64: Maximum limit on d-axis current controller input current (device base), validation range: (0, nothing)\next::Dict{String, Any}\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.get_Id_max-Tuple{InstantaneousCurrentLimiter}","page":"InverterLimiter","title":"PowerSystems.get_Id_max","text":"get_Id_max(value::InstantaneousCurrentLimiter) -> Float64\n\n\nGet InstantaneousCurrentLimiter Id_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.get_Iq_max-Tuple{InstantaneousCurrentLimiter}","page":"InverterLimiter","title":"PowerSystems.get_Iq_max","text":"get_Iq_max(value::InstantaneousCurrentLimiter) -> Float64\n\n\nGet InstantaneousCurrentLimiter Iq_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.get_ext-Tuple{InstantaneousCurrentLimiter}","page":"InverterLimiter","title":"PowerSystems.get_ext","text":"get_ext(\n value::InstantaneousCurrentLimiter\n) -> Dict{String, Any}\n\n\nGet InstantaneousCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.set_Id_max!-Tuple{InstantaneousCurrentLimiter, Any}","page":"InverterLimiter","title":"PowerSystems.set_Id_max!","text":"set_Id_max!(value::InstantaneousCurrentLimiter, val) -> Any\n\n\nSet InstantaneousCurrentLimiter Id_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.set_Iq_max!-Tuple{InstantaneousCurrentLimiter, Any}","page":"InverterLimiter","title":"PowerSystems.set_Iq_max!","text":"set_Iq_max!(value::InstantaneousCurrentLimiter, val) -> Any\n\n\nSet InstantaneousCurrentLimiter Iq_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.set_ext!-Tuple{InstantaneousCurrentLimiter, Any}","page":"InverterLimiter","title":"PowerSystems.set_ext!","text":"set_ext!(value::InstantaneousCurrentLimiter, val) -> Any\n\n\nSet InstantaneousCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#MagnitudeCurrentLimiter","page":"InverterLimiter","title":"MagnitudeCurrentLimiter","text":"","category":"section"},{"location":"model_library/generated_InverterLimiter/","page":"InverterLimiter","title":"InverterLimiter","text":"Modules = [PowerSystems]\nPages = [\"/MagnitudeCurrentLimiter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.MagnitudeCurrentLimiter","page":"InverterLimiter","title":"PowerSystems.MagnitudeCurrentLimiter","text":"mutable struct MagnitudeCurrentLimiter <: InverterLimiter\n I_max::Float64\n ext::Dict{String, Any}\nend\n\nParameters of Magnitude (Circular) Current Controller Limiter\n\nArguments\n\nI_max::Float64: Maximum limit on current controller input current (device base), validation range: (0, nothing)\next::Dict{String, Any}\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.get_I_max-Tuple{MagnitudeCurrentLimiter}","page":"InverterLimiter","title":"PowerSystems.get_I_max","text":"get_I_max(value::MagnitudeCurrentLimiter) -> Float64\n\n\nGet MagnitudeCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.get_ext-Tuple{MagnitudeCurrentLimiter}","page":"InverterLimiter","title":"PowerSystems.get_ext","text":"get_ext(value::MagnitudeCurrentLimiter) -> Dict{String, Any}\n\n\nGet MagnitudeCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.set_I_max!-Tuple{MagnitudeCurrentLimiter, Any}","page":"InverterLimiter","title":"PowerSystems.set_I_max!","text":"set_I_max!(value::MagnitudeCurrentLimiter, val) -> Any\n\n\nSet MagnitudeCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.set_ext!-Tuple{MagnitudeCurrentLimiter, Any}","page":"InverterLimiter","title":"PowerSystems.set_ext!","text":"set_ext!(value::MagnitudeCurrentLimiter, val) -> Any\n\n\nSet MagnitudeCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PriorityCurrentLimiter","page":"InverterLimiter","title":"PriorityCurrentLimiter","text":"","category":"section"},{"location":"model_library/generated_InverterLimiter/","page":"InverterLimiter","title":"InverterLimiter","text":"Modules = [PowerSystems]\nPages = [\"/PriorityCurrentLimiter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.PriorityCurrentLimiter","page":"InverterLimiter","title":"PowerSystems.PriorityCurrentLimiter","text":"mutable struct PriorityCurrentLimiter <: InverterLimiter\n I_max::Float64\n ϕ_I::Float64\n ext::Dict{String, Any}\nend\n\nParameters of Priority-Based Current Controller Limiter\n\nArguments\n\nI_max::Float64: Maximum limit on current controller input current (device base), validation range: (0, nothing)\nϕ_I::Float64: Pre-defined angle (measured against the d-axis) for Iref once limit is hit, validation range: (-1.571, 1.571)\next::Dict{String, Any}\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.get_I_max-Tuple{PriorityCurrentLimiter}","page":"InverterLimiter","title":"PowerSystems.get_I_max","text":"get_I_max(value::PriorityCurrentLimiter) -> Float64\n\n\nGet PriorityCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.get_ext-Tuple{PriorityCurrentLimiter}","page":"InverterLimiter","title":"PowerSystems.get_ext","text":"get_ext(value::PriorityCurrentLimiter) -> Dict{String, Any}\n\n\nGet PriorityCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.get_ϕ_I-Tuple{PriorityCurrentLimiter}","page":"InverterLimiter","title":"PowerSystems.get_ϕ_I","text":"get_ϕ_I(value::PriorityCurrentLimiter) -> Float64\n\n\nGet PriorityCurrentLimiter ϕ_I.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.set_I_max!-Tuple{PriorityCurrentLimiter, Any}","page":"InverterLimiter","title":"PowerSystems.set_I_max!","text":"set_I_max!(value::PriorityCurrentLimiter, val) -> Any\n\n\nSet PriorityCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.set_ext!-Tuple{PriorityCurrentLimiter, Any}","page":"InverterLimiter","title":"PowerSystems.set_ext!","text":"set_ext!(value::PriorityCurrentLimiter, val) -> Any\n\n\nSet PriorityCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InverterLimiter/#PowerSystems.set_ϕ_I!-Tuple{PriorityCurrentLimiter, Any}","page":"InverterLimiter","title":"PowerSystems.set_ϕ_I!","text":"set_ϕ_I!(value::PriorityCurrentLimiter, val) -> Any\n\n\nSet PriorityCurrentLimiter ϕ_I.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MarketBidCost/#MarketBidCost","page":"MarketBidCost","title":"MarketBidCost","text":"","category":"section"},{"location":"model_library/generated_MarketBidCost/","page":"MarketBidCost","title":"MarketBidCost","text":"Modules = [PowerSystems]\nPages = [\"generated/MarketBidCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.MarketBidCost","page":"MarketBidCost","title":"PowerSystems.MarketBidCost","text":"mutable struct MarketBidCost <: OperationalCost\n no_load::Float64\n start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}\n shut_down::Float64\n variable::Union{Nothing, IS.TimeSeriesKey}\n ancillary_services::Vector{Service}\nend\n\nData Structure Operational Cost to reflect market bids of energy and ancilliary services. Compatible with most US Market bidding mechanisms\n\nArguments\n\nno_load::Float64: no load cost\nstart_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}: start-up cost at different stages of the thermal cycle. Warm is also refered as intermediate in some markets\nshut_down::Float64: shut-down cost, validation range: (0, nothing), action if invalid: warn\nvariable::Union{Nothing, IS.TimeSeriesKey}: Variable Cost TimeSeriesKey\nancillary_services::Vector{Service}: Bids for the ancillary services\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.get_ancillary_services-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_ancillary_services","text":"get_ancillary_services(\n value::MarketBidCost\n) -> Vector{Service}\n\n\nGet MarketBidCost ancillary_services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.get_no_load-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_no_load","text":"get_no_load(value::MarketBidCost) -> Float64\n\n\nGet MarketBidCost no_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.get_shut_down-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_shut_down","text":"get_shut_down(value::MarketBidCost) -> Float64\n\n\nGet MarketBidCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.get_start_up-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_start_up","text":"get_start_up(\n value::MarketBidCost\n) -> @NamedTuple{hot::Float64, warm::Float64, cold::Float64}\n\n\nGet MarketBidCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.get_variable-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_variable","text":"get_variable(\n value::MarketBidCost\n) -> Union{Nothing, InfrastructureSystems.TimeSeriesKey}\n\n\nGet MarketBidCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.set_ancillary_services!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","title":"PowerSystems.set_ancillary_services!","text":"set_ancillary_services!(value::MarketBidCost, val) -> Any\n\n\nSet MarketBidCost ancillary_services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.set_no_load!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","title":"PowerSystems.set_no_load!","text":"set_no_load!(value::MarketBidCost, val) -> Any\n\n\nSet MarketBidCost no_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.set_shut_down!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","title":"PowerSystems.set_shut_down!","text":"set_shut_down!(value::MarketBidCost, val) -> Any\n\n\nSet MarketBidCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.set_start_up!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","title":"PowerSystems.set_start_up!","text":"set_start_up!(value::MarketBidCost, val) -> Any\n\n\nSet MarketBidCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MarketBidCost/#PowerSystems.set_variable!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::MarketBidCost, val) -> Any\n\n\nSet MarketBidCost variable.\n\n\n\n\n\n","category":"method"},{"location":"tutorials/dynamic_data/#Creating-and-Handling-Data-for-Dynamic-Simulations","page":"Use Dynamic Data","title":"Creating and Handling Data for Dynamic Simulations","text":"","category":"section"},{"location":"tutorials/dynamic_data/","page":"Use Dynamic Data","title":"Use Dynamic Data","text":"For more details to handle dynamic data, check the tutorial in PowerSimulationsDynamics.","category":"page"},{"location":"model_library/generated_HydroDispatch/#HydroDispatch","page":"HydroDispatch","title":"HydroDispatch","text":"","category":"section"},{"location":"model_library/generated_HydroDispatch/","page":"HydroDispatch","title":"HydroDispatch","text":"Modules = [PowerSystems]\nPages = [\"generated/HydroDispatch.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.HydroDispatch","page":"HydroDispatch","title":"PowerSystems.HydroDispatch","text":"mutable struct HydroDispatch <: HydroGen\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n prime_mover_type::PrimeMovers\n active_power_limits::MinMax\n reactive_power_limits::Union{Nothing, MinMax}\n ramp_limits::Union{Nothing, UpDown}\n time_limits::Union{Nothing, UpDown}\n base_power::Float64\n operation_cost::OperationalCost\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nactive_power::Float64\nreactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn\nrating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923\nactive_power_limits::MinMax, validation range: (0, nothing), action if invalid: warn\nreactive_power_limits::Union{Nothing, MinMax}, action if invalid: warn\nramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW (in component base per unit) per minute, validation range: (0, nothing), action if invalid: error\ntime_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing), action if invalid: error\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\noperation_cost::OperationalCost: Operation Cost of Generation OperationalCost\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_HydroDispatch/#InfrastructureSystems.get_name-Tuple{HydroDispatch}","page":"HydroDispatch","title":"InfrastructureSystems.get_name","text":"get_name(value::HydroDispatch) -> String\n\n\nGet HydroDispatch name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#InfrastructureSystems.get_time_series_container-Tuple{HydroDispatch}","page":"HydroDispatch","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::HydroDispatch\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet HydroDispatch time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_active_power-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_active_power","text":"get_active_power(value::HydroDispatch) -> Any\n\n\nGet HydroDispatch active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_active_power_limits-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::HydroDispatch\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet HydroDispatch active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_available-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_available","text":"get_available(value::HydroDispatch) -> Bool\n\n\nGet HydroDispatch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_base_power-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_base_power","text":"get_base_power(value::HydroDispatch) -> Float64\n\n\nGet HydroDispatch base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_bus-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_bus","text":"get_bus(value::HydroDispatch) -> ACBus\n\n\nGet HydroDispatch bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_dynamic_injector-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::HydroDispatch\n) -> Union{Nothing, DynamicInjection}\n\n\nGet HydroDispatch dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_ext-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_ext","text":"get_ext(value::HydroDispatch) -> Dict{String, Any}\n\n\nGet HydroDispatch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_operation_cost-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::HydroDispatch\n) -> PowerSystems.OperationalCost\n\n\nGet HydroDispatch operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_prime_mover_type-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(value::HydroDispatch) -> PrimeMovers\n\n\nGet HydroDispatch prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_ramp_limits-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_ramp_limits","text":"get_ramp_limits(\n value::HydroDispatch\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet HydroDispatch ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_rating-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_rating","text":"get_rating(value::HydroDispatch) -> Any\n\n\nGet HydroDispatch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_reactive_power-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::HydroDispatch) -> Any\n\n\nGet HydroDispatch reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_reactive_power_limits-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::HydroDispatch\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HydroDispatch reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_services-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_services","text":"get_services(value::HydroDispatch) -> Vector{Service}\n\n\nGet HydroDispatch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_time_limits-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_time_limits","text":"get_time_limits(\n value::HydroDispatch\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet HydroDispatch time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_active_power!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_active_power_limits!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_available!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_available!","text":"set_available!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_base_power!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_bus!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_bus!","text":"set_bus!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_ext!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_ext!","text":"set_ext!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_operation_cost!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_prime_mover_type!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_ramp_limits!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_ramp_limits!","text":"set_ramp_limits!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_rating!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_rating!","text":"set_rating!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_reactive_power!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_reactive_power_limits!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_services!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_services!","text":"set_services!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_time_limits!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_time_limits!","text":"set_time_limits!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_time_series_container!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#Line","page":"Line","title":"Line","text":"","category":"section"},{"location":"model_library/generated_Line/","page":"Line","title":"Line","text":"Modules = [PowerSystems]\nPages = [\"generated/Line.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Line/#PowerSystems.Line","page":"Line","title":"PowerSystems.Line","text":"mutable struct Line <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n reactive_power_flow::Float64\n arc::Arc\n r::Float64\n x::Float64\n b::FromTo\n rate::Float64\n angle_limits::MinMax\n services::Vector{Service}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nactive_power_flow::Float64\nreactive_power_flow::Float64\narc::Arc\nr::Float64: System per-unit value, validation range: (0, 4), action if invalid: warn\nx::Float64: System per-unit value, validation range: (0, 4), action if invalid: warn\nb::FromTo: System per-unit value, validation range: (0, 100), action if invalid: warn\nrate::Float64\nangle_limits::MinMax, validation range: (-1.571, 1.571), action if invalid: error\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Line/#InfrastructureSystems.get_name-Tuple{Line}","page":"Line","title":"InfrastructureSystems.get_name","text":"get_name(value::Line) -> String\n\n\nGet Line name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#InfrastructureSystems.get_time_series_container-Tuple{Line}","page":"Line","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::Line\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet Line time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_active_power_flow-Tuple{Line}","page":"Line","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::Line) -> Any\n\n\nGet Line active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_angle_limits-Tuple{Line}","page":"Line","title":"PowerSystems.get_angle_limits","text":"get_angle_limits(\n value::Line\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet Line angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_arc-Tuple{Line}","page":"Line","title":"PowerSystems.get_arc","text":"get_arc(value::Line) -> Arc\n\n\nGet Line arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_available-Tuple{Line}","page":"Line","title":"PowerSystems.get_available","text":"get_available(value::Line) -> Bool\n\n\nGet Line available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_b-Tuple{Line}","page":"Line","title":"PowerSystems.get_b","text":"get_b(\n value::Line\n) -> @NamedTuple{from::Float64, to::Float64}\n\n\nGet Line b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_ext-Tuple{Line}","page":"Line","title":"PowerSystems.get_ext","text":"get_ext(value::Line) -> Dict{String, Any}\n\n\nGet Line ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_r-Tuple{Line}","page":"Line","title":"PowerSystems.get_r","text":"get_r(value::Line) -> Float64\n\n\nGet Line r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_rate-Tuple{Line}","page":"Line","title":"PowerSystems.get_rate","text":"get_rate(value::Line) -> Any\n\n\nGet Line rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_reactive_power_flow-Tuple{Line}","page":"Line","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(value::Line) -> Any\n\n\nGet Line reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_services-Tuple{Line}","page":"Line","title":"PowerSystems.get_services","text":"get_services(value::Line) -> Vector{Service}\n\n\nGet Line services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_x-Tuple{Line}","page":"Line","title":"PowerSystems.get_x","text":"get_x(value::Line) -> Float64\n\n\nGet Line x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_active_power_flow!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::Line, val) -> Any\n\n\nSet Line active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_angle_limits!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_angle_limits!","text":"set_angle_limits!(value::Line, val) -> Any\n\n\nSet Line angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_arc!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_arc!","text":"set_arc!(value::Line, val) -> Any\n\n\nSet Line arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_available!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_available!","text":"set_available!(value::Line, val) -> Any\n\n\nSet Line available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_b!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_b!","text":"set_b!(value::Line, val) -> Any\n\n\nSet Line b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_ext!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_ext!","text":"set_ext!(value::Line, val) -> Any\n\n\nSet Line ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_r!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_r!","text":"set_r!(value::Line, val) -> Any\n\n\nSet Line r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_rate!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_rate!","text":"set_rate!(value::Line, val) -> Any\n\n\nSet Line rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_reactive_power_flow!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(value::Line, val) -> Any\n\n\nSet Line reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_services!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_services!","text":"set_services!(value::Line, val) -> Any\n\n\nSet Line services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_time_series_container!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::Line, val) -> Any\n\n\nSet Line time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_x!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_x!","text":"set_x!(value::Line, val) -> Any\n\n\nSet Line x.\n\n\n\n\n\n","category":"method"},{"location":"quick_start_guide/#Quick-Start-Guide","page":"Quick Start Guide","title":"Quick Start Guide","text":"","category":"section"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"PowerSystems.jl is structured to enable data creation scripts, flexible interfaces for data intake and extension of the data model. These features are enabled through three main features:","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Abstract type hierarchy,\nOptimized read/write data container (the container is called System),\nUtilities to facilitate modeling, extensions, and integration.","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"It is possible to load examples systems directly using PowerSystemCaseBuilder.","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"using PowerSystems","category":"page"},{"location":"quick_start_guide/#Loading-data-from-files","page":"Quick Start Guide","title":"Loading data from files","text":"","category":"section"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Data can be loaded from several file formats and return a summary of the system's components and time-series. Some example files can be found in the tutorials data folder","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"file_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\"); #hide\nsystem_data = System(joinpath(file_dir, \"RTS_GMLC.m\"))","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"More details about parsing text files from different formats in this section","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"","category":"page"},{"location":"quick_start_guide/#Using-PowerSystems.jl-for-modeling","page":"Quick Start Guide","title":"Using PowerSystems.jl for modeling","text":"","category":"section"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"This example function implements a function where the modeler can choose the technology by its type and use the different implementations of get_max_active_power. Using the \"dot\" access to get a parameter value from a device is actively discouraged, use \"getter\" functions instead","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Refer to Modeling with JuMP for a more detailed use of PowerSystems.jl to develop a model","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"function installed_capacity(system::System; technology::Type{T} = Generator) where T <: Generator\n installed_capacity = 0.0\n for g in get_components(T, system)\n installed_capacity += get_max_active_power(g)\n end\n return installed_capacity\nend","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Total installed capacity","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"installed_capacity(system_data)","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Installed capacity of the thermal generation","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"installed_capacity(system_data; technology = ThermalStandard)","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Installed capacity of renewable generation","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"installed_capacity(system_data; technology = RenewableGen)","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"","category":"page"},{"location":"quick_start_guide/#Adding-Time-Series-data-to-a-System","page":"Quick Start Guide","title":"Adding Time Series data to a System","text":"","category":"section"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"PowerSystems.jl provides interfaces to augment the data sets already created. You can also add time series data to a system from one or more CSV files, more details in Time Series Data. This example implements SingleTimeSeries","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"using TimeSeries\nusing Dates\nsystem = System(joinpath(file_dir, \"case5.m\"))\n\nnew_renewable = RenewableDispatch(\n name = \"WindPowerNew\",\n available = true,\n bus = get_component(ACBus, system, \"3\"),\n active_power = 2.0,\n reactive_power = 1.0,\n rating = 1.2,\n prime_mover_type = PrimeMovers.WT,\n reactive_power_limits = (min = 0.0, max = 0.0),\n base_power = 100.0,\n operation_cost = TwoPartCost(22.0, 0.0),\n power_factor = 1.0\n )\n\nadd_component!(system, new_renewable)\n\nts_data = [0.98, 0.99, 0.99, 1.0, 0.99, 0.99, 0.99, 0.98, 0.95, 0.92, 0.90, 0.88, 0.84, 0.76,\n 0.65, 0.52, 0.39, 0.28, 0.19, 0.15, 0.13, 0.11, 0.09, 0.06,]\ntime_stamps = range(DateTime(\"2020-01-01\"); step = Hour(1), length = 24)\ntime_series_data_raw = TimeArray(time_stamps, ts_data)\ntime_series = SingleTimeSeries(name = \"active_power\", data = time_series_data_raw)\n\n#Add the forecast to the system and component\nadd_time_series!(system, new_renewable, time_series)","category":"page"},{"location":"model_library/generated_Arc/#Arc","page":"Arc","title":"Arc","text":"","category":"section"},{"location":"model_library/generated_Arc/","page":"Arc","title":"Arc","text":"Modules = [PowerSystems]\nPages = [\"generated/Arc.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Arc/#PowerSystems.Arc","page":"Arc","title":"PowerSystems.Arc","text":"mutable struct Arc <: Topology\n from::Bus\n to::Bus\n internal::InfrastructureSystemsInternal\nend\n\nA topological Arc.\n\nArguments\n\nfrom::Bus: The initial bus\nto::Bus: The terminal bus\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Arc/#PowerSystems.get_from-Tuple{Arc}","page":"Arc","title":"PowerSystems.get_from","text":"get_from(value::Arc) -> Bus\n\n\nGet Arc from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Arc/#PowerSystems.get_to-Tuple{Arc}","page":"Arc","title":"PowerSystems.get_to","text":"get_to(value::Arc) -> Bus\n\n\nGet Arc to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Arc/#PowerSystems.set_from!-Tuple{Arc, Any}","page":"Arc","title":"PowerSystems.set_from!","text":"set_from!(value::Arc, val) -> Any\n\n\nSet Arc from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Arc/#PowerSystems.set_to!-Tuple{Arc, Any}","page":"Arc","title":"PowerSystems.set_to!","text":"set_to!(value::Arc, val) -> Any\n\n\nSet Arc to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#InterruptiblePowerLoad","page":"InterruptiblePowerLoad","title":"InterruptiblePowerLoad","text":"","category":"section"},{"location":"model_library/generated_InterruptiblePowerLoad/","page":"InterruptiblePowerLoad","title":"InterruptiblePowerLoad","text":"Modules = [PowerSystems]\nPages = [\"generated/InterruptiblePowerLoad.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.InterruptiblePowerLoad","page":"InterruptiblePowerLoad","title":"PowerSystems.InterruptiblePowerLoad","text":"mutable struct InterruptiblePowerLoad <: ControllableLoad\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n max_active_power::Float64\n max_reactive_power::Float64\n base_power::Float64\n operation_cost::TwoPartCost\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nactive_power::Float64\nreactive_power::Float64\nmax_active_power::Float64\nmax_reactive_power::Float64\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\noperation_cost::TwoPartCost: Operation Cost of Generation TwoPartCost\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InterruptiblePowerLoad/#InfrastructureSystems.get_name-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"InfrastructureSystems.get_name","text":"get_name(value::InterruptiblePowerLoad) -> String\n\n\nGet InterruptiblePowerLoad name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#InfrastructureSystems.get_time_series_container-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::InterruptiblePowerLoad\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet InterruptiblePowerLoad time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_active_power-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_active_power","text":"get_active_power(value::InterruptiblePowerLoad) -> Any\n\n\nGet InterruptiblePowerLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_available-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_available","text":"get_available(value::InterruptiblePowerLoad) -> Bool\n\n\nGet InterruptiblePowerLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_base_power-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_base_power","text":"get_base_power(value::InterruptiblePowerLoad) -> Float64\n\n\nGet InterruptiblePowerLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_bus-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_bus","text":"get_bus(value::InterruptiblePowerLoad) -> ACBus\n\n\nGet InterruptiblePowerLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_dynamic_injector-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::InterruptiblePowerLoad\n) -> Union{Nothing, DynamicInjection}\n\n\nGet InterruptiblePowerLoad dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_ext-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_ext","text":"get_ext(value::InterruptiblePowerLoad) -> Dict{String, Any}\n\n\nGet InterruptiblePowerLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_max_active_power-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_max_active_power","text":"get_max_active_power(value::InterruptiblePowerLoad) -> Any\n\n\nGet InterruptiblePowerLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_max_reactive_power-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(value::InterruptiblePowerLoad) -> Any\n\n\nGet InterruptiblePowerLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_operation_cost-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::InterruptiblePowerLoad\n) -> TwoPartCost\n\n\nGet InterruptiblePowerLoad operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_reactive_power-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::InterruptiblePowerLoad) -> Any\n\n\nGet InterruptiblePowerLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_services-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_services","text":"get_services(\n value::InterruptiblePowerLoad\n) -> Vector{Service}\n\n\nGet InterruptiblePowerLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_active_power!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_available!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_available!","text":"set_available!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_base_power!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_bus!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_bus!","text":"set_bus!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_ext!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_ext!","text":"set_ext!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_max_active_power!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_max_active_power!","text":"set_max_active_power!(\n value::InterruptiblePowerLoad,\n val\n) -> Any\n\n\nSet InterruptiblePowerLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_max_reactive_power!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_max_reactive_power!","text":"set_max_reactive_power!(\n value::InterruptiblePowerLoad,\n val\n) -> Any\n\n\nSet InterruptiblePowerLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_operation_cost!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(\n value::InterruptiblePowerLoad,\n val\n) -> Any\n\n\nSet InterruptiblePowerLoad operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_reactive_power!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(\n value::InterruptiblePowerLoad,\n val\n) -> Any\n\n\nSet InterruptiblePowerLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_services!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_services!","text":"set_services!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_time_series_container!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::InterruptiblePowerLoad,\n val\n) -> Any\n\n\nSet InterruptiblePowerLoad time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#DCBus","page":"DCBus","title":"DCBus","text":"","category":"section"},{"location":"model_library/generated_DCBus/","page":"DCBus","title":"DCBus","text":"Modules = [PowerSystems]\nPages = [\"generated/DCBus.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_DCBus/#PowerSystems.DCBus","page":"DCBus","title":"PowerSystems.DCBus","text":"mutable struct DCBus <: Bus\n number::Int\n name::String\n magnitude::Union{Nothing, Float64}\n voltage_limits::Union{Nothing, MinMax}\n base_voltage::Union{Nothing, Float64}\n area::Union{Nothing, Area}\n load_zone::Union{Nothing, LoadZone}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA power-system DC bus.\n\nArguments\n\nnumber::Int: number associated with the DC bus\nname::String: the name of the DC bus\nmagnitude::Union{Nothing, Float64}: voltage as a multiple of basevoltage, validation range: voltage_limits, action if invalid: warn\nvoltage_limits::Union{Nothing, MinMax}: limits on the voltage variation as multiples of basevoltage\nbase_voltage::Union{Nothing, Float64}: the base voltage in kV, validation range: (0, nothing), action if invalid: error\narea::Union{Nothing, Area}: the area containing the DC bus\nload_zone::Union{Nothing, LoadZone}: the load zone containing the DC bus\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_DCBus/#InfrastructureSystems.get_name-Tuple{DCBus}","page":"DCBus","title":"InfrastructureSystems.get_name","text":"get_name(value::DCBus) -> String\n\n\nGet DCBus name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_area-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_area","text":"get_area(value::DCBus) -> Union{Nothing, Area}\n\n\nGet DCBus area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_base_voltage-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_base_voltage","text":"get_base_voltage(value::DCBus) -> Union{Nothing, Float64}\n\n\nGet DCBus base_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_ext-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_ext","text":"get_ext(value::DCBus) -> Dict{String, Any}\n\n\nGet DCBus ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_load_zone-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_load_zone","text":"get_load_zone(value::DCBus) -> Union{Nothing, LoadZone}\n\n\nGet DCBus load_zone.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_magnitude-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_magnitude","text":"get_magnitude(value::DCBus) -> Union{Nothing, Float64}\n\n\nGet DCBus magnitude.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_number-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_number","text":"get_number(value::DCBus) -> Int64\n\n\nGet DCBus number.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_voltage_limits-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_voltage_limits","text":"get_voltage_limits(\n value::DCBus\n) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}\n\n\nGet DCBus voltage_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_area!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_area!","text":"set_area!(value::DCBus, val) -> Any\n\n\nSet DCBus area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_base_voltage!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_base_voltage!","text":"set_base_voltage!(value::DCBus, val) -> Any\n\n\nSet DCBus base_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_ext!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_ext!","text":"set_ext!(value::DCBus, val) -> Any\n\n\nSet DCBus ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_load_zone!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_load_zone!","text":"set_load_zone!(value::DCBus, val) -> Any\n\n\nSet DCBus load_zone.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_magnitude!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_magnitude!","text":"set_magnitude!(value::DCBus, val) -> Any\n\n\nSet DCBus magnitude.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_number!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_number!","text":"set_number!(value::DCBus, val) -> Any\n\n\nSet DCBus number.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_voltage_limits!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_voltage_limits!","text":"set_voltage_limits!(value::DCBus, val) -> Any\n\n\nSet DCBus voltage_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#SwitchedAdmittance","page":"SwitchedAdmittance","title":"SwitchedAdmittance","text":"","category":"section"},{"location":"model_library/generated_SwitchedAdmittance/","page":"SwitchedAdmittance","title":"SwitchedAdmittance","text":"Modules = [PowerSystems]\nPages = [\"generated/SwitchedAdmittance.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_SwitchedAdmittance/#InfrastructureSystems.get_name-Tuple{PowerSystems.SwitchedAdmittance}","page":"SwitchedAdmittance","title":"InfrastructureSystems.get_name","text":"get_name(value::PowerSystems.SwitchedAdmittance) -> String\n\n\nGet SwitchedAdmittance name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#InfrastructureSystems.get_time_series_container-Tuple{PowerSystems.SwitchedAdmittance}","page":"SwitchedAdmittance","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::PowerSystems.SwitchedAdmittance\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet SwitchedAdmittance time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_Y-Tuple{PowerSystems.SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_Y","text":"get_Y(value::PowerSystems.SwitchedAdmittance) -> ComplexF64\n\n\nGet SwitchedAdmittance Y.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_Y_increase-Tuple{PowerSystems.SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_Y_increase","text":"get_Y_increase(\n value::PowerSystems.SwitchedAdmittance\n) -> ComplexF64\n\n\nGet SwitchedAdmittance Y_increase.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_available-Tuple{PowerSystems.SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_available","text":"get_available(\n value::PowerSystems.SwitchedAdmittance\n) -> Bool\n\n\nGet SwitchedAdmittance available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_bus-Tuple{PowerSystems.SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_bus","text":"get_bus(value::PowerSystems.SwitchedAdmittance) -> ACBus\n\n\nGet SwitchedAdmittance bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_dynamic_injector-Tuple{PowerSystems.SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::PowerSystems.SwitchedAdmittance\n) -> Union{Nothing, DynamicInjection}\n\n\nGet SwitchedAdmittance dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_ext-Tuple{PowerSystems.SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_ext","text":"get_ext(\n value::PowerSystems.SwitchedAdmittance\n) -> Dict{String, Any}\n\n\nGet SwitchedAdmittance ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_number_of_steps-Tuple{PowerSystems.SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_number_of_steps","text":"get_number_of_steps(\n value::PowerSystems.SwitchedAdmittance\n) -> Int64\n\n\nGet SwitchedAdmittance number_of_steps.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_services-Tuple{PowerSystems.SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_services","text":"get_services(\n value::PowerSystems.SwitchedAdmittance\n) -> Vector{Service}\n\n\nGet SwitchedAdmittance services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_Y!-Tuple{PowerSystems.SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_Y!","text":"set_Y!(value::PowerSystems.SwitchedAdmittance, val) -> Any\n\n\nSet SwitchedAdmittance Y.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_Y_increase!-Tuple{PowerSystems.SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_Y_increase!","text":"set_Y_increase!(\n value::PowerSystems.SwitchedAdmittance,\n val\n) -> Any\n\n\nSet SwitchedAdmittance Y_increase.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_available!-Tuple{PowerSystems.SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_available!","text":"set_available!(\n value::PowerSystems.SwitchedAdmittance,\n val\n) -> Any\n\n\nSet SwitchedAdmittance available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_bus!-Tuple{PowerSystems.SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_bus!","text":"set_bus!(value::PowerSystems.SwitchedAdmittance, val) -> Any\n\n\nSet SwitchedAdmittance bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_ext!-Tuple{PowerSystems.SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_ext!","text":"set_ext!(value::PowerSystems.SwitchedAdmittance, val) -> Any\n\n\nSet SwitchedAdmittance ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_number_of_steps!-Tuple{PowerSystems.SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_number_of_steps!","text":"set_number_of_steps!(\n value::PowerSystems.SwitchedAdmittance,\n val\n) -> Any\n\n\nSet SwitchedAdmittance number_of_steps.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_services!-Tuple{PowerSystems.SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_services!","text":"set_services!(\n value::PowerSystems.SwitchedAdmittance,\n val\n) -> Any\n\n\nSet SwitchedAdmittance services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_time_series_container!-Tuple{PowerSystems.SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::PowerSystems.SwitchedAdmittance,\n val\n) -> Any\n\n\nSet SwitchedAdmittance time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#StandardLoad","page":"StandardLoad","title":"StandardLoad","text":"","category":"section"},{"location":"model_library/generated_StandardLoad/","page":"StandardLoad","title":"StandardLoad","text":"Modules = [PowerSystems]\nPages = [\"generated/StandardLoad.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_StandardLoad/#PowerSystems.StandardLoad","page":"StandardLoad","title":"PowerSystems.StandardLoad","text":"mutable struct StandardLoad <: StaticLoad\n name::String\n available::Bool\n bus::ACBus\n base_power::Float64\n constant_active_power::Float64\n constant_reactive_power::Float64\n impedance_active_power::Float64\n impedance_reactive_power::Float64\n current_active_power::Float64\n current_reactive_power::Float64\n max_constant_active_power::Float64\n max_constant_reactive_power::Float64\n max_impedance_active_power::Float64\n max_impedance_reactive_power::Float64\n max_current_active_power::Float64\n max_current_reactive_power::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData structure for a standard load.\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\nconstant_active_power::Float64\nconstant_reactive_power::Float64\nimpedance_active_power::Float64\nimpedance_reactive_power::Float64\ncurrent_active_power::Float64\ncurrent_reactive_power::Float64\nmax_constant_active_power::Float64\nmax_constant_reactive_power::Float64\nmax_impedance_active_power::Float64\nmax_impedance_reactive_power::Float64\nmax_current_active_power::Float64\nmax_current_reactive_power::Float64\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_StandardLoad/#InfrastructureSystems.get_name-Tuple{StandardLoad}","page":"StandardLoad","title":"InfrastructureSystems.get_name","text":"get_name(value::StandardLoad) -> String\n\n\nGet StandardLoad name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#InfrastructureSystems.get_time_series_container-Tuple{StandardLoad}","page":"StandardLoad","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::StandardLoad\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet StandardLoad time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_available-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_available","text":"get_available(value::StandardLoad) -> Bool\n\n\nGet StandardLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_base_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_base_power","text":"get_base_power(value::StandardLoad) -> Float64\n\n\nGet StandardLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_bus-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_bus","text":"get_bus(value::StandardLoad) -> ACBus\n\n\nGet StandardLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_constant_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_constant_active_power","text":"get_constant_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad constant_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_constant_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_constant_reactive_power","text":"get_constant_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad constant_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_current_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_current_active_power","text":"get_current_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad current_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_current_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_current_reactive_power","text":"get_current_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad current_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_dynamic_injector-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::StandardLoad\n) -> Union{Nothing, DynamicInjection}\n\n\nGet StandardLoad dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_ext-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_ext","text":"get_ext(value::StandardLoad) -> Dict{String, Any}\n\n\nGet StandardLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_impedance_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_impedance_active_power","text":"get_impedance_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad impedance_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_impedance_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_impedance_reactive_power","text":"get_impedance_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad impedance_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_constant_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_constant_active_power","text":"get_max_constant_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_constant_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_constant_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_constant_reactive_power","text":"get_max_constant_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_constant_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_current_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_current_active_power","text":"get_max_current_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_current_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_current_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_current_reactive_power","text":"get_max_current_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_current_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_impedance_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_impedance_active_power","text":"get_max_impedance_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_impedance_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_impedance_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_impedance_reactive_power","text":"get_max_impedance_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_impedance_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_services-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_services","text":"get_services(value::StandardLoad) -> Vector{Service}\n\n\nGet StandardLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_available!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_available!","text":"set_available!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_base_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_bus!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_bus!","text":"set_bus!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_constant_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_constant_active_power!","text":"set_constant_active_power!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad constant_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_constant_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_constant_reactive_power!","text":"set_constant_reactive_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad constant_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_current_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_current_active_power!","text":"set_current_active_power!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad current_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_current_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_current_reactive_power!","text":"set_current_reactive_power!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad current_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_ext!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_ext!","text":"set_ext!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_impedance_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_impedance_active_power!","text":"set_impedance_active_power!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad impedance_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_impedance_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_impedance_reactive_power!","text":"set_impedance_reactive_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad impedance_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_constant_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_constant_active_power!","text":"set_max_constant_active_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_constant_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_constant_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_constant_reactive_power!","text":"set_max_constant_reactive_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_constant_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_current_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_current_active_power!","text":"set_max_current_active_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_current_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_current_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_current_reactive_power!","text":"set_max_current_reactive_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_current_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_impedance_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_impedance_active_power!","text":"set_max_impedance_active_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_impedance_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_impedance_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_impedance_reactive_power!","text":"set_max_impedance_reactive_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_impedance_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_services!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_services!","text":"set_services!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_time_series_container!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#Area","page":"Area","title":"Area","text":"","category":"section"},{"location":"model_library/generated_Area/","page":"Area","title":"Area","text":"Modules = [PowerSystems]\nPages = [\"generated/Area.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Area/#PowerSystems.Area","page":"Area","title":"PowerSystems.Area","text":"mutable struct Area <: AggregationTopology\n name::String\n peak_active_power::Float64\n peak_reactive_power::Float64\n load_response::Float64\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nA collection of buses for control purposes.\n\nArguments\n\nname::String\npeak_active_power::Float64\npeak_reactive_power::Float64\nload_response::Float64\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Area/#InfrastructureSystems.get_name-Tuple{Area}","page":"Area","title":"InfrastructureSystems.get_name","text":"get_name(value::Area) -> String\n\n\nGet Area name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#InfrastructureSystems.get_time_series_container-Tuple{Area}","page":"Area","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::Area\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet Area time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.get_load_response-Tuple{Area}","page":"Area","title":"PowerSystems.get_load_response","text":"get_load_response(value::Area) -> Float64\n\n\nGet Area load_response.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.get_peak_active_power-Tuple{Area}","page":"Area","title":"PowerSystems.get_peak_active_power","text":"get_peak_active_power(value::Area) -> Any\n\n\nGet Area peak_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.get_peak_reactive_power-Tuple{Area}","page":"Area","title":"PowerSystems.get_peak_reactive_power","text":"get_peak_reactive_power(value::Area) -> Any\n\n\nGet Area peak_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.set_load_response!-Tuple{Area, Any}","page":"Area","title":"PowerSystems.set_load_response!","text":"set_load_response!(value::Area, val) -> Any\n\n\nSet Area load_response.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.set_peak_active_power!-Tuple{Area, Any}","page":"Area","title":"PowerSystems.set_peak_active_power!","text":"set_peak_active_power!(value::Area, val) -> Any\n\n\nSet Area peak_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.set_peak_reactive_power!-Tuple{Area, Any}","page":"Area","title":"PowerSystems.set_peak_reactive_power!","text":"set_peak_reactive_power!(value::Area, val) -> Any\n\n\nSet Area peak_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.set_time_series_container!-Tuple{Area, Any}","page":"Area","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::Area, val) -> Any\n\n\nSet Area time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/regulation_device/#Regulation-Device","page":"Regulation Device","title":"Regulation Device","text":"","category":"section"},{"location":"model_library/regulation_device/","page":"Regulation Device","title":"Regulation Device","text":"Modules = [PowerSystems]\nPages = [\"models/regulation_device.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/regulation_device/#PowerSystems.RegulationDevice","page":"Regulation Device","title":"PowerSystems.RegulationDevice","text":"Parametric struct to allow Injection Devices to be used in regulation services. Extends the device type and provides additional fields relevant to regulation services.\n\n\n\n\n\n","category":"type"},{"location":"model_library/regulation_device/#PowerSystems.RegulationDevice-Tuple{T} where T<:StaticInjection","page":"Regulation Device","title":"PowerSystems.RegulationDevice","text":"Default constructor for the Regulation Device\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#ThermalStandard","page":"ThermalStandard","title":"ThermalStandard","text":"","category":"section"},{"location":"model_library/generated_ThermalStandard/","page":"ThermalStandard","title":"ThermalStandard","text":"Modules = [PowerSystems]\nPages = [\"generated/ThermalStandard.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.ThermalStandard","page":"ThermalStandard","title":"PowerSystems.ThermalStandard","text":"mutable struct ThermalStandard <: ThermalGen\n name::String\n available::Bool\n status::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n active_power_limits::MinMax\n reactive_power_limits::Union{Nothing, MinMax}\n ramp_limits::Union{Nothing, UpDown}\n operation_cost::OperationalCost\n base_power::Float64\n time_limits::Union{Nothing, UpDown}\n must_run::Bool\n prime_mover_type::PrimeMovers\n fuel::ThermalFuels\n services::Vector{Service}\n time_at_status::Float64\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData Structure for thermal generation technologies.\n\nArguments\n\nname::String\navailable::Bool\nstatus::Bool\nbus::ACBus\nactive_power::Float64, validation range: active_power_limits, action if invalid: warn\nreactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn\nrating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error\nactive_power_limits::MinMax, validation range: (0, nothing), action if invalid: warn\nreactive_power_limits::Union{Nothing, MinMax}\nramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW (in component base per unit) per minute, validation range: (0, nothing), action if invalid: error\noperation_cost::OperationalCost\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\ntime_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing), action if invalid: error\nmust_run::Bool\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923\nfuel::ThermalFuels: Prime mover fuel according to EIA 923\nservices::Vector{Service}: Services that this device contributes to\ntime_at_status::Float64\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_ThermalStandard/#InfrastructureSystems.get_name-Tuple{ThermalStandard}","page":"ThermalStandard","title":"InfrastructureSystems.get_name","text":"get_name(value::ThermalStandard) -> String\n\n\nGet ThermalStandard name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#InfrastructureSystems.get_time_series_container-Tuple{ThermalStandard}","page":"ThermalStandard","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::ThermalStandard\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet ThermalStandard time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_active_power-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_active_power","text":"get_active_power(value::ThermalStandard) -> Any\n\n\nGet ThermalStandard active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_active_power_limits-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::ThermalStandard\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet ThermalStandard active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_available-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_available","text":"get_available(value::ThermalStandard) -> Bool\n\n\nGet ThermalStandard available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_base_power-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_base_power","text":"get_base_power(value::ThermalStandard) -> Float64\n\n\nGet ThermalStandard base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_bus-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_bus","text":"get_bus(value::ThermalStandard) -> ACBus\n\n\nGet ThermalStandard bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_dynamic_injector-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::ThermalStandard\n) -> Union{Nothing, DynamicInjection}\n\n\nGet ThermalStandard dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_ext-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_ext","text":"get_ext(value::ThermalStandard) -> Dict{String, Any}\n\n\nGet ThermalStandard ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_fuel-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_fuel","text":"get_fuel(value::ThermalStandard) -> ThermalFuels\n\n\nGet ThermalStandard fuel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_must_run-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_must_run","text":"get_must_run(value::ThermalStandard) -> Bool\n\n\nGet ThermalStandard must_run.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_operation_cost-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::ThermalStandard\n) -> PowerSystems.OperationalCost\n\n\nGet ThermalStandard operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_prime_mover_type-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(value::ThermalStandard) -> PrimeMovers\n\n\nGet ThermalStandard prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_ramp_limits-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_ramp_limits","text":"get_ramp_limits(\n value::ThermalStandard\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet ThermalStandard ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_rating-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_rating","text":"get_rating(value::ThermalStandard) -> Any\n\n\nGet ThermalStandard rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_reactive_power-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::ThermalStandard) -> Any\n\n\nGet ThermalStandard reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_reactive_power_limits-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::ThermalStandard\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet ThermalStandard reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_services-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_services","text":"get_services(value::ThermalStandard) -> Vector{Service}\n\n\nGet ThermalStandard services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_status-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_status","text":"get_status(value::ThermalStandard) -> Bool\n\n\nGet ThermalStandard status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_time_at_status-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_time_at_status","text":"get_time_at_status(value::ThermalStandard) -> Float64\n\n\nGet ThermalStandard time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_time_limits-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_time_limits","text":"get_time_limits(\n value::ThermalStandard\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet ThermalStandard time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_active_power!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_active_power_limits!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_available!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_available!","text":"set_available!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_base_power!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_bus!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_bus!","text":"set_bus!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_ext!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_ext!","text":"set_ext!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_fuel!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_fuel!","text":"set_fuel!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard fuel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_must_run!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_must_run!","text":"set_must_run!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard must_run.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_operation_cost!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_prime_mover_type!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_ramp_limits!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_ramp_limits!","text":"set_ramp_limits!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_rating!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_rating!","text":"set_rating!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_reactive_power!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_reactive_power_limits!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::ThermalStandard,\n val\n) -> Any\n\n\nSet ThermalStandard reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_services!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_services!","text":"set_services!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_status!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_status!","text":"set_status!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_time_at_status!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_time_at_status!","text":"set_time_at_status!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_time_limits!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_time_limits!","text":"set_time_limits!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_time_series_container!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::ThermalStandard,\n val\n) -> Any\n\n\nSet ThermalStandard time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#VariableReserveNonSpinning","page":"VariableReserveNonSpinning","title":"VariableReserveNonSpinning","text":"","category":"section"},{"location":"model_library/generated_VariableReserveNonSpinning/","page":"VariableReserveNonSpinning","title":"VariableReserveNonSpinning","text":"Modules = [PowerSystems]\nPages = [\"generated/VariableReserveNonSpinning.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.VariableReserveNonSpinning","page":"VariableReserveNonSpinning","title":"PowerSystems.VariableReserveNonSpinning","text":"mutable struct VariableReserveNonSpinning <: ReserveNonSpinning\n name::String\n available::Bool\n time_frame::Float64\n requirement::Float64\n sustained_time::Float64\n max_output_fraction::Float64\n max_participation_factor::Float64\n deployed_fraction::Float64\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData Structure for the procurement products for system simulations.\n\nArguments\n\nname::String\navailable::Bool\ntime_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing), action if invalid: error\nrequirement::Float64: the required quantity of the product should be scaled by a TimeSeriesData\nsustained_time::Float64: the time in secounds reserve contribution must sustained at a specified level, validation range: (0, nothing), action if invalid: error\nmax_output_fraction::Float64: the maximum fraction of the device's output that can be assigned to the service, validation range: (0, 1), action if invalid: error\nmax_participation_factor::Float64: the maximum limit of reserve contribution per device, validation range: (0, 1), action if invalid: error\ndeployed_fraction::Float64: Fraction of ancillary services participation deployed from the assignment, validation range: (0, 1), action if invalid: error\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_VariableReserveNonSpinning/#InfrastructureSystems.get_name-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"InfrastructureSystems.get_name","text":"get_name(value::VariableReserveNonSpinning) -> String\n\n\nGet VariableReserveNonSpinning name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#InfrastructureSystems.get_time_series_container-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::VariableReserveNonSpinning\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet VariableReserveNonSpinning time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_available-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_available","text":"get_available(value::VariableReserveNonSpinning) -> Bool\n\n\nGet VariableReserveNonSpinning available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_deployed_fraction-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_deployed_fraction","text":"get_deployed_fraction(\n value::VariableReserveNonSpinning\n) -> Float64\n\n\nGet VariableReserveNonSpinning deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_ext-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_ext","text":"get_ext(\n value::VariableReserveNonSpinning\n) -> Dict{String, Any}\n\n\nGet VariableReserveNonSpinning ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_max_output_fraction-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_max_output_fraction","text":"get_max_output_fraction(\n value::VariableReserveNonSpinning\n) -> Float64\n\n\nGet VariableReserveNonSpinning max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_max_participation_factor-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_max_participation_factor","text":"get_max_participation_factor(\n value::VariableReserveNonSpinning\n) -> Float64\n\n\nGet VariableReserveNonSpinning max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_requirement-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_requirement","text":"get_requirement(value::VariableReserveNonSpinning) -> Any\n\n\nGet VariableReserveNonSpinning requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_sustained_time-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_sustained_time","text":"get_sustained_time(\n value::VariableReserveNonSpinning\n) -> Float64\n\n\nGet VariableReserveNonSpinning sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_time_frame-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_time_frame","text":"get_time_frame(value::VariableReserveNonSpinning) -> Float64\n\n\nGet VariableReserveNonSpinning time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_available!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_available!","text":"set_available!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_deployed_fraction!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_deployed_fraction!","text":"set_deployed_fraction!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_ext!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_ext!","text":"set_ext!(value::VariableReserveNonSpinning, val) -> Any\n\n\nSet VariableReserveNonSpinning ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_max_output_fraction!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_max_output_fraction!","text":"set_max_output_fraction!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_max_participation_factor!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_max_participation_factor!","text":"set_max_participation_factor!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_requirement!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_requirement!","text":"set_requirement!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_sustained_time!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_sustained_time!","text":"set_sustained_time!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_time_frame!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_time_frame!","text":"set_time_frame!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_time_series_container!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#Converter","page":"Converter","title":"Converter","text":"","category":"section"},{"location":"model_library/generated_Converter/#AverageConverter","page":"Converter","title":"AverageConverter","text":"","category":"section"},{"location":"model_library/generated_Converter/","page":"Converter","title":"Converter","text":"Modules = [PowerSystems]\nPages = [\"/AverageConverter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Converter/#PowerSystems.AverageConverter","page":"Converter","title":"PowerSystems.AverageConverter","text":"mutable struct AverageConverter <: Converter\n rated_voltage::Float64\n rated_current::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of an average converter model\n\nArguments\n\nrated_voltage::Float64: rated voltage, validation range: (0, nothing)\nrated_current::Float64: rated VA, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}\nn_states::Int: AverageConverter has no states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Converter/#PowerSystems.get_ext-Tuple{AverageConverter}","page":"Converter","title":"PowerSystems.get_ext","text":"get_ext(value::AverageConverter) -> Dict{String, Any}\n\n\nGet AverageConverter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_n_states-Tuple{AverageConverter}","page":"Converter","title":"PowerSystems.get_n_states","text":"get_n_states(value::AverageConverter) -> Int64\n\n\nGet AverageConverter n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_rated_current-Tuple{AverageConverter}","page":"Converter","title":"PowerSystems.get_rated_current","text":"get_rated_current(value::AverageConverter) -> Float64\n\n\nGet AverageConverter rated_current.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_rated_voltage-Tuple{AverageConverter}","page":"Converter","title":"PowerSystems.get_rated_voltage","text":"get_rated_voltage(value::AverageConverter) -> Float64\n\n\nGet AverageConverter rated_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_states-Tuple{AverageConverter}","page":"Converter","title":"PowerSystems.get_states","text":"get_states(value::AverageConverter) -> Vector{Symbol}\n\n\nGet AverageConverter states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_ext!-Tuple{AverageConverter, Any}","page":"Converter","title":"PowerSystems.set_ext!","text":"set_ext!(value::AverageConverter, val) -> Any\n\n\nSet AverageConverter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_rated_current!-Tuple{AverageConverter, Any}","page":"Converter","title":"PowerSystems.set_rated_current!","text":"set_rated_current!(value::AverageConverter, val) -> Any\n\n\nSet AverageConverter rated_current.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_rated_voltage!-Tuple{AverageConverter, Any}","page":"Converter","title":"PowerSystems.set_rated_voltage!","text":"set_rated_voltage!(value::AverageConverter, val) -> Any\n\n\nSet AverageConverter rated_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#RenewableEnergyConverterTypeA","page":"Converter","title":"RenewableEnergyConverterTypeA","text":"","category":"section"},{"location":"model_library/generated_Converter/","page":"Converter","title":"Converter","text":"Modules = [PowerSystems]\nPages = [\"/RenewableEnergyConverterTypeA.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Converter/#PowerSystems.RenewableEnergyConverterTypeA","page":"Converter","title":"PowerSystems.RenewableEnergyConverterTypeA","text":"mutable struct RenewableEnergyConverterTypeA <: Converter\n T_g::Float64\n Rrpwr::Float64\n Brkpt::Float64\n Zerox::Float64\n Lvpl1::Float64\n Vo_lim::Float64\n Lv_pnts::MinMax\n Io_lim::Float64\n T_fltr::Float64\n K_hv::Float64\n Iqr_lims::MinMax\n Accel::Float64\n Lvpl_sw::Int\n Q_ref::Float64\n R_source::Float64\n X_source::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a renewable energy generator/converter model, this model corresponds to REGCA1 in PSSE\n\nArguments\n\nT_g::Float64: Converter time constant (s), validation range: (0, nothing)\nRrpwr::Float64: Low Voltage Power Logic (LVPL) ramp rate limit (pu/s), validation range: (0, nothing)\nBrkpt::Float64: LVPL characteristic voltage 2 (pu), validation range: (0, nothing)\nZerox::Float64: LVPL characteristic voltage 1 (pu), validation range: (0, nothing)\nLvpl1::Float64: LVPL gain (pu), validation range: (0, nothing)\nVo_lim::Float64: Voltage limit for high voltage reactive current management (pu), validation range: (0, nothing)\nLv_pnts::MinMax: Voltage points for low voltage active current management (pu) (Lvpnt0, Lvpnt1)\nIo_lim::Float64: Current limit (pu) for high voltage reactive current management (specified as a negative value), validation range: (nothing, 0)\nT_fltr::Float64: Voltage filter time constant for low voltage active current management (s), validation range: (0, nothing)\nK_hv::Float64: Overvoltage compensation gain used in the high voltage reactive current management, validation range: (0, nothing)\nIqr_lims::MinMax: Limit on rate of change for reactive current (pu/s) (Iqrmin, Iqrmax)\nAccel::Float64: Acceleration factor, validation range: (0, 1)\nLvpl_sw::Int: Low voltage power logic (LVPL) switch. (0: LVPL not present, 1: LVPL present), validation range: (0, 1)\nQ_ref::Float64: Initial machine reactive power from power flow, validation range: (0, nothing)\nR_source::Float64: Output resistor used for the Thevenin Equivalent, validation range: (0, nothing)\nX_source::Float64: Output resistor used for the Thevenin Equivalent, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\tIp: Converter lag for Ipcmd,\tIq: Converter lag for Iqcmd,\tVmeas: Voltage filter for low voltage active current management\nn_states::Int: RenewableEnergyConverterTypeA has 3 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Converter/#PowerSystems.get_Accel-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Accel","text":"get_Accel(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Accel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Brkpt-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Brkpt","text":"get_Brkpt(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Brkpt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Io_lim-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Io_lim","text":"get_Io_lim(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Io_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Iqr_lims-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Iqr_lims","text":"get_Iqr_lims(\n value::RenewableEnergyConverterTypeA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RenewableEnergyConverterTypeA Iqr_lims.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_K_hv-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_K_hv","text":"get_K_hv(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA K_hv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lv_pnts-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lv_pnts","text":"get_Lv_pnts(\n value::RenewableEnergyConverterTypeA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RenewableEnergyConverterTypeA Lv_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lvpl1-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lvpl1","text":"get_Lvpl1(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Lvpl1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lvpl_sw-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lvpl_sw","text":"get_Lvpl_sw(value::RenewableEnergyConverterTypeA) -> Int64\n\n\nGet RenewableEnergyConverterTypeA Lvpl_sw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Q_ref-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Q_ref","text":"get_Q_ref(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Q_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_R_source-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_R_source","text":"get_R_source(\n value::RenewableEnergyConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyConverterTypeA R_source.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Rrpwr-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Rrpwr","text":"get_Rrpwr(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Rrpwr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_T_fltr-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_T_fltr","text":"get_T_fltr(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA T_fltr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_T_g-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_T_g","text":"get_T_g(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA T_g.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Vo_lim-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Vo_lim","text":"get_Vo_lim(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Vo_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_X_source-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_X_source","text":"get_X_source(\n value::RenewableEnergyConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyConverterTypeA X_source.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Zerox-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Zerox","text":"get_Zerox(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Zerox.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_ext-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_ext","text":"get_ext(\n value::RenewableEnergyConverterTypeA\n) -> Dict{String, Any}\n\n\nGet RenewableEnergyConverterTypeA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_n_states-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_n_states","text":"get_n_states(value::RenewableEnergyConverterTypeA) -> Int64\n\n\nGet RenewableEnergyConverterTypeA n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_states-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_states","text":"get_states(\n value::RenewableEnergyConverterTypeA\n) -> Vector{Symbol}\n\n\nGet RenewableEnergyConverterTypeA states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Accel!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Accel!","text":"set_Accel!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Accel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Brkpt!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Brkpt!","text":"set_Brkpt!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Brkpt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Io_lim!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Io_lim!","text":"set_Io_lim!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA Io_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Iqr_lims!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Iqr_lims!","text":"set_Iqr_lims!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA Iqr_lims.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_K_hv!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_K_hv!","text":"set_K_hv!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA K_hv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lv_pnts!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lv_pnts!","text":"set_Lv_pnts!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA Lv_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lvpl1!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lvpl1!","text":"set_Lvpl1!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Lvpl1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lvpl_sw!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lvpl_sw!","text":"set_Lvpl_sw!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA Lvpl_sw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Q_ref!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Q_ref!","text":"set_Q_ref!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Q_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_R_source!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_R_source!","text":"set_R_source!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA R_source.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Rrpwr!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Rrpwr!","text":"set_Rrpwr!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Rrpwr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_T_fltr!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_T_fltr!","text":"set_T_fltr!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA T_fltr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_T_g!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_T_g!","text":"set_T_g!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA T_g.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Vo_lim!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Vo_lim!","text":"set_Vo_lim!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA Vo_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_X_source!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_X_source!","text":"set_X_source!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA X_source.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Zerox!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Zerox!","text":"set_Zerox!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Zerox.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_ext!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_ext!","text":"set_ext!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#RenewableEnergyVoltageConverterTypeA","page":"Converter","title":"RenewableEnergyVoltageConverterTypeA","text":"","category":"section"},{"location":"model_library/generated_Converter/","page":"Converter","title":"Converter","text":"Modules = [PowerSystems]\nPages = [\"/RenewableEnergyVoltageConverterTypeA.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Converter/#PowerSystems.RenewableEnergyVoltageConverterTypeA","page":"Converter","title":"PowerSystems.RenewableEnergyVoltageConverterTypeA","text":"mutable struct RenewableEnergyVoltageConverterTypeA <: Converter\n T_g::Float64\n Rrpwr::Float64\n Brkpt::Float64\n Zerox::Float64\n Lvpl1::Float64\n Vo_lim::Float64\n Lv_pnts::MinMax\n Io_lim::Float64\n T_fltr::Float64\n K_hv::Float64\n Iqr_lims::MinMax\n Accel::Float64\n Lvpl_sw::Int\n Q_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a renewable energy generator/converter model, this model corresponds to REGCA1 in PSSE, but to be interfaced using a Voltage Source instead of a Current Source.\n\nArguments\n\nT_g::Float64: Converter time constant (s), validation range: (0, nothing)\nRrpwr::Float64: Low Voltage Power Logic (LVPL) ramp rate limit (pu/s), validation range: (0, nothing)\nBrkpt::Float64: LVPL characteristic voltage 2 (pu), validation range: (0, nothing)\nZerox::Float64: LVPL characteristic voltage 1 (pu), validation range: (0, nothing)\nLvpl1::Float64: LVPL gain (pu), validation range: (0, nothing)\nVo_lim::Float64: Voltage limit for high voltage reactive current management (pu), validation range: (0, nothing)\nLv_pnts::MinMax: Voltage points for low voltage active current management (pu) (Lvpnt0, Lvpnt1)\nIo_lim::Float64: Current limit (pu) for high voltage reactive current management (specified as a negative value), validation range: (nothing, 0)\nT_fltr::Float64: Voltage filter time constant for low voltage active current management (s), validation range: (0, nothing)\nK_hv::Float64: Overvoltage compensation gain used in the high voltage reactive current management, validation range: (0, nothing)\nIqr_lims::MinMax: Limit on rate of change for reactive current (pu/s) (Iqrmin, Iqrmax)\nAccel::Float64: Acceleration factor, validation range: (0, 1)\nLvpl_sw::Int: Low voltage power logic (LVPL) switch. (0: LVPL not present, 1: LVPL present), validation range: (0, 1)\nQ_ref::Float64: Initial machine reactive power from power flow, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\tIp: Converter lag for Ipcmd,\tIq: Converter lag for Iqcmd,\tVmeas: Voltage filter for low voltage active current management\nn_states::Int: RenewableEnergyVoltageConverterTypeA has 3 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Converter/#PowerSystems.get_Accel-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Accel","text":"get_Accel(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Accel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Brkpt-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Brkpt","text":"get_Brkpt(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Brkpt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Io_lim-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Io_lim","text":"get_Io_lim(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Io_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Iqr_lims-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Iqr_lims","text":"get_Iqr_lims(\n value::RenewableEnergyVoltageConverterTypeA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RenewableEnergyVoltageConverterTypeA Iqr_lims.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_K_hv-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_K_hv","text":"get_K_hv(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA K_hv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lv_pnts-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lv_pnts","text":"get_Lv_pnts(\n value::RenewableEnergyVoltageConverterTypeA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RenewableEnergyVoltageConverterTypeA Lv_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lvpl1-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lvpl1","text":"get_Lvpl1(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Lvpl1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lvpl_sw-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lvpl_sw","text":"get_Lvpl_sw(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Int64\n\n\nGet RenewableEnergyVoltageConverterTypeA Lvpl_sw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Q_ref-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Q_ref","text":"get_Q_ref(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Q_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Rrpwr-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Rrpwr","text":"get_Rrpwr(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Rrpwr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_T_fltr-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_T_fltr","text":"get_T_fltr(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA T_fltr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_T_g-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_T_g","text":"get_T_g(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA T_g.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Vo_lim-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Vo_lim","text":"get_Vo_lim(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Vo_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Zerox-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Zerox","text":"get_Zerox(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Zerox.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_ext-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_ext","text":"get_ext(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Dict{String, Any}\n\n\nGet RenewableEnergyVoltageConverterTypeA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_n_states-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_n_states","text":"get_n_states(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Int64\n\n\nGet RenewableEnergyVoltageConverterTypeA n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_states-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_states","text":"get_states(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Vector{Symbol}\n\n\nGet RenewableEnergyVoltageConverterTypeA states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Accel!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Accel!","text":"set_Accel!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Accel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Brkpt!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Brkpt!","text":"set_Brkpt!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Brkpt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Io_lim!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Io_lim!","text":"set_Io_lim!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Io_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Iqr_lims!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Iqr_lims!","text":"set_Iqr_lims!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Iqr_lims.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_K_hv!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_K_hv!","text":"set_K_hv!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA K_hv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lv_pnts!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lv_pnts!","text":"set_Lv_pnts!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Lv_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lvpl1!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lvpl1!","text":"set_Lvpl1!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Lvpl1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lvpl_sw!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lvpl_sw!","text":"set_Lvpl_sw!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Lvpl_sw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Q_ref!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Q_ref!","text":"set_Q_ref!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Q_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Rrpwr!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Rrpwr!","text":"set_Rrpwr!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Rrpwr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_T_fltr!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_T_fltr!","text":"set_T_fltr!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA T_fltr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_T_g!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_T_g!","text":"set_T_g!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA T_g.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Vo_lim!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Vo_lim!","text":"set_Vo_lim!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Vo_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Zerox!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Zerox!","text":"set_Zerox!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Zerox.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_ext!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_ext!","text":"set_ext!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PhaseShiftingTransformer","page":"PhaseShiftingTransformer","title":"PhaseShiftingTransformer","text":"","category":"section"},{"location":"model_library/generated_PhaseShiftingTransformer/","page":"PhaseShiftingTransformer","title":"PhaseShiftingTransformer","text":"Modules = [PowerSystems]\nPages = [\"generated/PhaseShiftingTransformer.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.PhaseShiftingTransformer","page":"PhaseShiftingTransformer","title":"PowerSystems.PhaseShiftingTransformer","text":"mutable struct PhaseShiftingTransformer <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n reactive_power_flow::Float64\n arc::Arc\n r::Float64\n x::Float64\n primary_shunt::Float64\n tap::Float64\n α::Float64\n rate::Union{Nothing, Float64}\n phase_angle_limits::MinMax\n services::Vector{Service}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nactive_power_flow::Float64\nreactive_power_flow::Float64\narc::Arc\nr::Float64: System per-unit value, validation range: (0, 4), action if invalid: warn\nx::Float64: System per-unit value, validation range: (-2, 4), action if invalid: warn\nprimary_shunt::Float64, validation range: (0, 2), action if invalid: warn\ntap::Float64, validation range: (0, 2), action if invalid: error\nα::Float64, validation range: (-1.571, 1.571), action if invalid: warn\nrate::Union{Nothing, Float64}, validation range: (0, nothing), action if invalid: error\nphase_angle_limits::MinMax, validation range: (-1.571, 1.571), action if invalid: error\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PhaseShiftingTransformer/#InfrastructureSystems.get_name-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"InfrastructureSystems.get_name","text":"get_name(value::PhaseShiftingTransformer) -> String\n\n\nGet PhaseShiftingTransformer name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#InfrastructureSystems.get_time_series_container-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::PhaseShiftingTransformer\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet PhaseShiftingTransformer time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_active_power_flow-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(\n value::PhaseShiftingTransformer\n) -> Any\n\n\nGet PhaseShiftingTransformer active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_arc-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_arc","text":"get_arc(value::PhaseShiftingTransformer) -> Arc\n\n\nGet PhaseShiftingTransformer arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_available-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_available","text":"get_available(value::PhaseShiftingTransformer) -> Bool\n\n\nGet PhaseShiftingTransformer available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_ext-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_ext","text":"get_ext(\n value::PhaseShiftingTransformer\n) -> Dict{String, Any}\n\n\nGet PhaseShiftingTransformer ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_phase_angle_limits-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_phase_angle_limits","text":"get_phase_angle_limits(\n value::PhaseShiftingTransformer\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet PhaseShiftingTransformer phase_angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_primary_shunt-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_primary_shunt","text":"get_primary_shunt(\n value::PhaseShiftingTransformer\n) -> Float64\n\n\nGet PhaseShiftingTransformer primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_r-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_r","text":"get_r(value::PhaseShiftingTransformer) -> Float64\n\n\nGet PhaseShiftingTransformer r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_rate-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_rate","text":"get_rate(value::PhaseShiftingTransformer) -> Any\n\n\nGet PhaseShiftingTransformer rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_reactive_power_flow-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(\n value::PhaseShiftingTransformer\n) -> Any\n\n\nGet PhaseShiftingTransformer reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_services-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_services","text":"get_services(\n value::PhaseShiftingTransformer\n) -> Vector{Service}\n\n\nGet PhaseShiftingTransformer services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_tap-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_tap","text":"get_tap(value::PhaseShiftingTransformer) -> Float64\n\n\nGet PhaseShiftingTransformer tap.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_x-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_x","text":"get_x(value::PhaseShiftingTransformer) -> Float64\n\n\nGet PhaseShiftingTransformer x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_α-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_α","text":"get_α(value::PhaseShiftingTransformer) -> Float64\n\n\nGet PhaseShiftingTransformer α.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_active_power_flow!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(\n value::PhaseShiftingTransformer,\n val\n) -> Any\n\n\nSet PhaseShiftingTransformer active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_arc!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_arc!","text":"set_arc!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_available!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_available!","text":"set_available!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_ext!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_ext!","text":"set_ext!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_phase_angle_limits!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_phase_angle_limits!","text":"set_phase_angle_limits!(\n value::PhaseShiftingTransformer,\n val\n) -> Any\n\n\nSet PhaseShiftingTransformer phase_angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_primary_shunt!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_primary_shunt!","text":"set_primary_shunt!(\n value::PhaseShiftingTransformer,\n val\n) -> Any\n\n\nSet PhaseShiftingTransformer primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_r!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_r!","text":"set_r!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_rate!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_rate!","text":"set_rate!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_reactive_power_flow!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(\n value::PhaseShiftingTransformer,\n val\n) -> Any\n\n\nSet PhaseShiftingTransformer reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_services!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_services!","text":"set_services!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_tap!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_tap!","text":"set_tap!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer tap.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_time_series_container!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::PhaseShiftingTransformer,\n val\n) -> Any\n\n\nSet PhaseShiftingTransformer time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_x!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_x!","text":"set_x!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_α!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_α!","text":"set_α!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer α.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThreePartCost/#ThreePartCost","page":"ThreePartCost","title":"ThreePartCost","text":"","category":"section"},{"location":"model_library/generated_ThreePartCost/","page":"ThreePartCost","title":"ThreePartCost","text":"Modules = [PowerSystems]\nPages = [\"generated/ThreePartCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_ThreePartCost/#PowerSystems.ThreePartCost","page":"ThreePartCost","title":"PowerSystems.ThreePartCost","text":"mutable struct ThreePartCost <: OperationalCost\n variable::VariableCost\n fixed::Float64\n start_up::Float64\n shut_down::Float64\nend\n\nData Structure Operational Cost Data in Three parts fixed, variable cost and start - stop costs.\n\nArguments\n\nvariable::VariableCost: variable cost\nfixed::Float64: fixed cost\nstart_up::Float64: start-up cost, validation range: (0, nothing), action if invalid: warn\nshut_down::Float64: shut-down cost, validation range: (0, nothing), action if invalid: warn\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_ThreePartCost/#PowerSystems.get_fixed-Tuple{ThreePartCost}","page":"ThreePartCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::ThreePartCost) -> Float64\n\n\nGet ThreePartCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThreePartCost/#PowerSystems.get_shut_down-Tuple{ThreePartCost}","page":"ThreePartCost","title":"PowerSystems.get_shut_down","text":"get_shut_down(value::ThreePartCost) -> Float64\n\n\nGet ThreePartCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThreePartCost/#PowerSystems.get_start_up-Tuple{ThreePartCost}","page":"ThreePartCost","title":"PowerSystems.get_start_up","text":"get_start_up(value::ThreePartCost) -> Float64\n\n\nGet ThreePartCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThreePartCost/#PowerSystems.get_variable-Tuple{ThreePartCost}","page":"ThreePartCost","title":"PowerSystems.get_variable","text":"get_variable(value::ThreePartCost) -> VariableCost\n\n\nGet ThreePartCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThreePartCost/#PowerSystems.set_fixed!-Tuple{ThreePartCost, Any}","page":"ThreePartCost","title":"PowerSystems.set_fixed!","text":"set_fixed!(value::ThreePartCost, val) -> Any\n\n\nSet ThreePartCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThreePartCost/#PowerSystems.set_shut_down!-Tuple{ThreePartCost, Any}","page":"ThreePartCost","title":"PowerSystems.set_shut_down!","text":"set_shut_down!(value::ThreePartCost, val) -> Any\n\n\nSet ThreePartCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThreePartCost/#PowerSystems.set_start_up!-Tuple{ThreePartCost, Any}","page":"ThreePartCost","title":"PowerSystems.set_start_up!","text":"set_start_up!(value::ThreePartCost, val) -> Any\n\n\nSet ThreePartCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThreePartCost/#PowerSystems.set_variable!-Tuple{ThreePartCost, Any}","page":"ThreePartCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::ThreePartCost, val) -> Any\n\n\nSet ThreePartCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transfer/#Transfer","page":"Transfer","title":"Transfer","text":"","category":"section"},{"location":"model_library/generated_Transfer/","page":"Transfer","title":"Transfer","text":"Modules = [PowerSystems]\nPages = [\"generated/Transfer.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Transfer/#PowerSystems.Transfer","page":"Transfer","title":"PowerSystems.Transfer","text":"mutable struct Transfer <: Service\n name::String\n available::Bool\n requirement::Float64\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nrequirement::Float64\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Transfer/#InfrastructureSystems.get_name-Tuple{Transfer}","page":"Transfer","title":"InfrastructureSystems.get_name","text":"get_name(value::Transfer) -> String\n\n\nGet Transfer name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transfer/#InfrastructureSystems.get_time_series_container-Tuple{Transfer}","page":"Transfer","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::Transfer\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet Transfer time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transfer/#PowerSystems.get_available-Tuple{Transfer}","page":"Transfer","title":"PowerSystems.get_available","text":"get_available(value::Transfer) -> Bool\n\n\nGet Transfer available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transfer/#PowerSystems.get_ext-Tuple{Transfer}","page":"Transfer","title":"PowerSystems.get_ext","text":"get_ext(value::Transfer) -> Dict{String, Any}\n\n\nGet Transfer ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transfer/#PowerSystems.get_requirement-Tuple{Transfer}","page":"Transfer","title":"PowerSystems.get_requirement","text":"get_requirement(value::Transfer) -> Float64\n\n\nGet Transfer requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transfer/#PowerSystems.set_available!-Tuple{Transfer, Any}","page":"Transfer","title":"PowerSystems.set_available!","text":"set_available!(value::Transfer, val) -> Any\n\n\nSet Transfer available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transfer/#PowerSystems.set_ext!-Tuple{Transfer, Any}","page":"Transfer","title":"PowerSystems.set_ext!","text":"set_ext!(value::Transfer, val) -> Any\n\n\nSet Transfer ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transfer/#PowerSystems.set_requirement!-Tuple{Transfer, Any}","page":"Transfer","title":"PowerSystems.set_requirement!","text":"set_requirement!(value::Transfer, val) -> Any\n\n\nSet Transfer requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transfer/#PowerSystems.set_time_series_container!-Tuple{Transfer, Any}","page":"Transfer","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::Transfer, val) -> Any\n\n\nSet Transfer time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_developer_guide/adding_additional_fields/#Adding-additional-fields","page":"Adding Additional Fields","title":"Adding additional fields","text":"","category":"section"},{"location":"model_developer_guide/adding_additional_fields/","page":"Adding Additional Fields","title":"Adding Additional Fields","text":"All components currently implemented in PowerSystems.jl have an ext field that contains an empty Dictionary. This empty dictionary can be accessed with the method get_ext. shows an example of adding additional data to the ThermalStandard structs for other modeling requirements.","category":"page"},{"location":"model_developer_guide/adding_additional_fields/","page":"Adding Additional Fields","title":"Adding Additional Fields","text":"This method is useful if there is no requirement to create new behaviours for components of a particular type but additional fields are required. A simple example is the addition of geographic information if needed.","category":"page"},{"location":"model_developer_guide/adding_additional_fields/","page":"Adding Additional Fields","title":"Adding Additional Fields","text":"using PowerSystems\nconst PSY = PowerSystems\n\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\")\nsystem = System(joinpath(file_dir, \"case5_re.m\"))\n\nfor g in get_components(ThermalStandard, system)\n external_field = get_ext(g)\n external_field[\"my_data\"] = 1.0\nend\n\ngen_alta = get_component(ThermalStandard, system, \"Alta\")\n\nmy_data = get_ext(gen_alta)[\"my_data\"]","category":"page"},{"location":"model_library/generated_PowerLoad/#PowerLoad","page":"PowerLoad","title":"PowerLoad","text":"","category":"section"},{"location":"model_library/generated_PowerLoad/","page":"PowerLoad","title":"PowerLoad","text":"Modules = [PowerSystems]\nPages = [\"generated/PowerLoad.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PowerLoad/#PowerSystems.PowerLoad","page":"PowerLoad","title":"PowerSystems.PowerLoad","text":"mutable struct PowerLoad <: StaticLoad\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n base_power::Float64\n max_active_power::Float64\n max_reactive_power::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData structure for a static power load.\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nactive_power::Float64\nreactive_power::Float64\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\nmax_active_power::Float64\nmax_reactive_power::Float64\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PowerLoad/#InfrastructureSystems.get_name-Tuple{PowerLoad}","page":"PowerLoad","title":"InfrastructureSystems.get_name","text":"get_name(value::PowerLoad) -> String\n\n\nGet PowerLoad name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#InfrastructureSystems.get_time_series_container-Tuple{PowerLoad}","page":"PowerLoad","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::PowerLoad\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet PowerLoad time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_active_power-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_active_power","text":"get_active_power(value::PowerLoad) -> Any\n\n\nGet PowerLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_available-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_available","text":"get_available(value::PowerLoad) -> Bool\n\n\nGet PowerLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_base_power-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_base_power","text":"get_base_power(value::PowerLoad) -> Float64\n\n\nGet PowerLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_bus-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_bus","text":"get_bus(value::PowerLoad) -> ACBus\n\n\nGet PowerLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_dynamic_injector-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::PowerLoad\n) -> Union{Nothing, DynamicInjection}\n\n\nGet PowerLoad dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_ext-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_ext","text":"get_ext(value::PowerLoad) -> Dict{String, Any}\n\n\nGet PowerLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_max_active_power-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_max_active_power","text":"get_max_active_power(value::PowerLoad) -> Any\n\n\nGet PowerLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_max_reactive_power-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(value::PowerLoad) -> Any\n\n\nGet PowerLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_reactive_power-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::PowerLoad) -> Any\n\n\nGet PowerLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_services-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_services","text":"get_services(value::PowerLoad) -> Vector{Service}\n\n\nGet PowerLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_active_power!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_available!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_available!","text":"set_available!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_base_power!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_bus!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_bus!","text":"set_bus!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_ext!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_ext!","text":"set_ext!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_max_active_power!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_max_active_power!","text":"set_max_active_power!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_max_reactive_power!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_max_reactive_power!","text":"set_max_reactive_power!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_reactive_power!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_services!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_services!","text":"set_services!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_time_series_container!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoPartCost/#TwoPartCost","page":"TwoPartCost","title":"TwoPartCost","text":"","category":"section"},{"location":"model_library/generated_TwoPartCost/","page":"TwoPartCost","title":"TwoPartCost","text":"Modules = [PowerSystems]\nPages = [\"generated/TwoPartCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TwoPartCost/#PowerSystems.TwoPartCost","page":"TwoPartCost","title":"PowerSystems.TwoPartCost","text":"mutable struct TwoPartCost <: OperationalCost\n variable::VariableCost\n fixed::Float64\nend\n\nData Structure Operational Cost Data in two parts: fixed and variable cost.\n\nArguments\n\nvariable::VariableCost: variable cost\nfixed::Float64: fixed cost, validation range: (0, nothing), action if invalid: warn\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TwoPartCost/#PowerSystems.get_fixed-Tuple{TwoPartCost}","page":"TwoPartCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::TwoPartCost) -> Float64\n\n\nGet TwoPartCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoPartCost/#PowerSystems.get_variable-Tuple{TwoPartCost}","page":"TwoPartCost","title":"PowerSystems.get_variable","text":"get_variable(value::TwoPartCost) -> VariableCost\n\n\nGet TwoPartCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoPartCost/#PowerSystems.set_fixed!-Tuple{TwoPartCost, Any}","page":"TwoPartCost","title":"PowerSystems.set_fixed!","text":"set_fixed!(value::TwoPartCost, val) -> Any\n\n\nSet TwoPartCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoPartCost/#PowerSystems.set_variable!-Tuple{TwoPartCost, Any}","page":"TwoPartCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::TwoPartCost, val) -> Any\n\n\nSet TwoPartCost variable.\n\n\n\n\n\n","category":"method"},{"location":"#PowerSystems.jl","page":"Welcome Page","title":"PowerSystems.jl","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"CurrentModule = PowerSystems","category":"page"},{"location":"#Overview","page":"Welcome Page","title":"Overview","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl is a Julia package that provides a rigorous data model using Julia structures to enable power systems modeling. PowerSystems.jl is agnostic to a specific mathematical model and can be used for many model categories.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl provides tools to prepare and process data useful for electric energy systems modeling. This package serves two purposes:","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"It facilitates the development and open sharing of large data sets for Power Systems modeling\nIt provides a data model that imposes discipline on model specification, addressing the challenge of design and terminology choices when sharing code and data.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"The main features include:","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Comprehensive and extensible library of data structures for electric systems modeling.\nLarge scale data set development tools based on common text based data formats (PSS/e .raw and .dyr, and MATPOWER) and configurable tabular data (e.g. CSV) parsing capabilities.\nOptimized container for component data and time series supporting serialization to portable file formats and configurable validation routines.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl documentation and code are organized according to the needs of different users depending on their skillset and requirements. In broad terms there are three categories:","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Modeler: Users that want to run a particular analysis or experiment and use PowerSystems.jl to develop data sets.\nModel Developer: Users that want to develop custom components and structs in order to exploit PowerSystems.jl features to produce custom data sets.\nCode Base Developers: Users that want to add new core functionalities or fix bugs in the core capabilities of PowerSystems.jl.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl is an active project under development, and we welcome your feedback, suggestions, and bug reports.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Note: PowerSystems.jl uses InfrastructureSystems.jl as a utility library. Several methods are re-exported from InfrastructureSystems.jl. For most users there is no need to import InfrastructureSystems.jl.","category":"page"},{"location":"#Installation","page":"Welcome Page","title":"Installation","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"The latest stable release of PowerSystems can be installed using the Julia package manager with","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"] add PowerSystems","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"For the current development version, \"checkout\" this package with","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"] add PowerSystems#main","category":"page"},{"location":"#Citing-PowerSystems.jl","page":"Welcome Page","title":"Citing PowerSystems.jl","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Paper describing PowerSystems.jl","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"@article{LARA2021100747,\ntitle = {PowerSystems.jl — A power system data management package for large scale modeling},\njournal = {SoftwareX},\nvolume = {15},\npages = {100747},\nyear = {2021},\nissn = {2352-7110},\ndoi = {https://doi.org/10.1016/j.softx.2021.100747},\nurl = {https://www.sciencedirect.com/science/article/pii/S2352711021000765},\nauthor = {José Daniel Lara and Clayton Barrows and Daniel Thom and Dheepak Krishnamurthy and Duncan Callaway},\nkeywords = {Power Systems, Julia, Energy},","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems has been developed as part of the Scalable Integrated Infrastructure Planning (SIIP) initiative at the U.S. Department of Energy's National Renewable Energy Laboratory (NREL).","category":"page"},{"location":"model_library/generated_BatteryEMS/#BatteryEMS","page":"BatteryEMS","title":"BatteryEMS","text":"","category":"section"},{"location":"model_library/generated_BatteryEMS/","page":"BatteryEMS","title":"BatteryEMS","text":"Modules = [PowerSystems]\nPages = [\"generated/BatteryEMS.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.BatteryEMS","page":"BatteryEMS","title":"PowerSystems.BatteryEMS","text":"mutable struct BatteryEMS <: Storage\n name::String\n available::Bool\n bus::ACBus\n prime_mover_type::PrimeMovers\n initial_energy::Float64\n state_of_charge_limits::MinMax\n rating::Float64\n active_power::Float64\n input_active_power_limits::MinMax\n output_active_power_limits::MinMax\n efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}\n reactive_power::Float64\n reactive_power_limits::Union{Nothing, MinMax}\n base_power::Float64\n operation_cost::StorageManagementCost\n storage_target::Float64\n cycle_limits::Int\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData structure for a battery compatible with energy management formulations.\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923\ninitial_energy::Float64: State of Charge of the Battery p.u.-hr, validation range: (0, nothing), action if invalid: error\nstate_of_charge_limits::MinMax: Maximum and Minimum storage capacity in p.u.-hr, validation range: (0, nothing), action if invalid: error\nrating::Float64\nactive_power::Float64\ninput_active_power_limits::MinMax, validation range: (0, nothing), action if invalid: error\noutput_active_power_limits::MinMax, validation range: (0, nothing), action if invalid: error\nefficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}, validation range: (0, 1), action if invalid: warn\nreactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn\nreactive_power_limits::Union{Nothing, MinMax}\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\noperation_cost::StorageManagementCost\nstorage_target::Float64: Storage target at the end of simulation as ratio of storage capacity.\ncycle_limits::Int: Storage Maximum number of cycles per year\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_BatteryEMS/#InfrastructureSystems.get_name-Tuple{BatteryEMS}","page":"BatteryEMS","title":"InfrastructureSystems.get_name","text":"get_name(value::BatteryEMS) -> String\n\n\nGet BatteryEMS name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#InfrastructureSystems.get_time_series_container-Tuple{BatteryEMS}","page":"BatteryEMS","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::BatteryEMS\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet BatteryEMS time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_active_power-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_active_power","text":"get_active_power(value::BatteryEMS) -> Any\n\n\nGet BatteryEMS active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_available-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_available","text":"get_available(value::BatteryEMS) -> Bool\n\n\nGet BatteryEMS available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_base_power-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_base_power","text":"get_base_power(value::BatteryEMS) -> Float64\n\n\nGet BatteryEMS base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_bus-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_bus","text":"get_bus(value::BatteryEMS) -> ACBus\n\n\nGet BatteryEMS bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_cycle_limits-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_cycle_limits","text":"get_cycle_limits(value::BatteryEMS) -> Int64\n\n\nGet BatteryEMS cycle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_dynamic_injector-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::BatteryEMS\n) -> Union{Nothing, DynamicInjection}\n\n\nGet BatteryEMS dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_efficiency-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_efficiency","text":"get_efficiency(\n value::BatteryEMS\n) -> @NamedTuple{in::Float64, out::Float64}\n\n\nGet BatteryEMS efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_ext-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_ext","text":"get_ext(value::BatteryEMS) -> Dict{String, Any}\n\n\nGet BatteryEMS ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_initial_energy-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_initial_energy","text":"get_initial_energy(value::BatteryEMS) -> Any\n\n\nGet BatteryEMS initial_energy.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_input_active_power_limits-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_input_active_power_limits","text":"get_input_active_power_limits(\n value::BatteryEMS\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet BatteryEMS input_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_operation_cost-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::BatteryEMS\n) -> StorageManagementCost\n\n\nGet BatteryEMS operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_output_active_power_limits-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_output_active_power_limits","text":"get_output_active_power_limits(\n value::BatteryEMS\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet BatteryEMS output_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_prime_mover_type-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(value::BatteryEMS) -> PrimeMovers\n\n\nGet BatteryEMS prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_rating-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_rating","text":"get_rating(value::BatteryEMS) -> Any\n\n\nGet BatteryEMS rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_reactive_power-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::BatteryEMS) -> Any\n\n\nGet BatteryEMS reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_reactive_power_limits-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::BatteryEMS\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet BatteryEMS reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_services-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_services","text":"get_services(value::BatteryEMS) -> Vector{Service}\n\n\nGet BatteryEMS services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_state_of_charge_limits-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_state_of_charge_limits","text":"get_state_of_charge_limits(\n value::BatteryEMS\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet BatteryEMS state_of_charge_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.get_storage_target-Tuple{BatteryEMS}","page":"BatteryEMS","title":"PowerSystems.get_storage_target","text":"get_storage_target(value::BatteryEMS) -> Float64\n\n\nGet BatteryEMS storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_active_power!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_available!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_available!","text":"set_available!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_base_power!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_bus!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_bus!","text":"set_bus!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_cycle_limits!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_cycle_limits!","text":"set_cycle_limits!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS cycle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_efficiency!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_efficiency!","text":"set_efficiency!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_ext!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_ext!","text":"set_ext!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_initial_energy!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_initial_energy!","text":"set_initial_energy!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS initial_energy.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_input_active_power_limits!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_input_active_power_limits!","text":"set_input_active_power_limits!(\n value::BatteryEMS,\n val\n) -> Any\n\n\nSet BatteryEMS input_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_operation_cost!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_output_active_power_limits!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_output_active_power_limits!","text":"set_output_active_power_limits!(\n value::BatteryEMS,\n val\n) -> Any\n\n\nSet BatteryEMS output_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_prime_mover_type!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_rating!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_rating!","text":"set_rating!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_reactive_power!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_reactive_power_limits!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_services!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_services!","text":"set_services!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_state_of_charge_limits!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_state_of_charge_limits!","text":"set_state_of_charge_limits!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS state_of_charge_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_storage_target!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_storage_target!","text":"set_storage_target!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_BatteryEMS/#PowerSystems.set_time_series_container!-Tuple{BatteryEMS, Any}","page":"BatteryEMS","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::BatteryEMS, val) -> Any\n\n\nSet BatteryEMS time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"modeler_guide/time_series/#ts_data","page":"Time Series Data","title":"Time Series Data","text":"","category":"section"},{"location":"modeler_guide/time_series/#Introduction","page":"Time Series Data","title":"Introduction","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"The bulk of the data in many power system models is time series data, in order to organize the data the potential inherent complexity, PowerSystems.jl has a set of definitions to enable consistent modeling.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Resolution: The period of time between each discrete value in the data, all resolutions are represented using Dates.Period types. For instance, a Day-ahead market data set usually has a resolution of Hour(1), a Real-Time market data set usually has a resolution of Minute(5).\nStatic data: a single column of time series values for a component field (such as active power) where each time period is represented by a single value. This data commonly is obtained from historical information or the realization of a time-varying quantity.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"This category of Time Series data usually comes in the following format:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"DateTime Value\n2020-09-01T00:00:00 100.0\n2020-09-01T01:00:00 101.0\n2020-09-01T02:00:00 99.0","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Where a column (or several columns) represent the timestamp associated with the value and a column stores the values of interest.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Forecasts: Predicted values of a time-varying quantity that commonly features a look-ahead and can have multiple data values representing each time period. This data is used in simulation with receding horizons or data generated from forecasting algorithms.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Forecast data usually comes in the following format:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"DateTime 0 1 2 3 4 5 6 7\n2020-09-01T00:00:00 100.0 101.0 101.3 90.0 98.0 87.0 88.0 67.0\n2020-09-01T01:00:00 101.0 101.3 99.0 98.0 88.9 88.3 67.1 89.4\n2020-09-01T02:00:00 99.0 67.0 89.0 99.9 100.0 101.0 112.0 101.3","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Where a column (or several columns) represent the time stamp associated with the initial time of the forecast, and the columns represent the forecasted values.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Interval: The period of time between forecasts initial times. In PowerSystems.jl all intervals are represented using Dates.Period types. For instance, in a Day-Ahead market simulation, the interval of the time series is usually Hour(24), in the example above, the interval is Hour(1).\nHorizon: Is the count of discrete forecasted values, all horizons in PowerSystems.jl are represented with Int. For instance, many Day-ahead markets will have a forecast with a horizon 24.\nForecast window: Represents the forecasted value starting at a particular initial time.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Currently PowerSystems.jl does not support Forecasts or SingleTimeSeries with dissimilar intervals or resolution.","category":"page"},{"location":"modeler_guide/time_series/#Types","page":"Time Series Data","title":"Types","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems.jl supports two categories of time series data depending on the process to obtain the data:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Static data: a single column of time series values for a component field (such as active power) where each time period is represented by a single value. This data commonly is obtained from historical information or the realization of a time-varying quantity.\nForecasts: Predicted values of a time-varying quantity that commonly features a look-ahead and can have multiple data values representing each time period. This data is used in simulation with receding horizons or data generated from forecasting algorithms.","category":"page"},{"location":"modeler_guide/time_series/#Static-Time-Series-Data","page":"Time Series Data","title":"Static Time Series Data","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems defines the Julia struct SingleTimeSeries to represent this data.","category":"page"},{"location":"modeler_guide/time_series/#Forecasts","page":"Time Series Data","title":"Forecasts","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems defines the following Julia structs to represent forecasts:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Deterministic: Point forecast without any uncertainty representation.\nProbabilistic: Stores a discretized cumulative distribution functions (CDFs) or probability distribution functions (PDFs) at each time step in the look-ahead window.\nScenarios: Stores a set of probable trajectories for forecasted quantity with equal probability.","category":"page"},{"location":"modeler_guide/time_series/#Storage","page":"Time Series Data","title":"Storage","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"By default PowerSystems stores time series data in an HDF5 file. This prevents large datasets from overwhelming system memory. If you know that your dataset will fit in your computer's memory then you can increase performance by storing it in memory. Here is an example of how to do this:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"sys = System(100.0; time_series_in_memory = true)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems stores the HDF5 file in the tmp filesystem by default. You can change this by passing time_series_directory = X when you create the System. This is required if the time series data is larger than the amount of tmp space available. You can also override the location by setting the environment variable SIIPTIMESERIES_DIRECTORY to another directory.","category":"page"},{"location":"modeler_guide/time_series/#Compression","page":"Time Series Data","title":"Compression","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems does not enable HDF5 compression by default. You can enable it to get significant storage savings at the cost of CPU time.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"# Take defaults.\nsys = System(100.0; enable_compression = true)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"# Customize.\nsettings = CompressionSettings(\n enabled = true,\n type = CompressionTypes.DEFLATE, # BLOSC is also supported\n level = 3,\n shuffle = true,\n)\nsys = System(100.0; compression = settings)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Refer to the HDF5.jl and HDF5 documentation for more details on the options.","category":"page"},{"location":"modeler_guide/time_series/#Creating-Time-Series-Data","page":"Time Series Data","title":"Creating Time Series Data","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems supports several methods to load time series data (Forecasts or StaticTimeSeries) into a System.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Automated parsing during system construction, this method loads the data from CSV files. Refer to the parsing documentation.\nCreate directly from data in TimeSeries.TimeArray or DataFrames.DataFrame.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Examples:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"When creating data for SingleTimeSeries the user can directly pass a TimeSeries.TimeArray to the constructor.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" resolution = Dates.Hour(1)\n dates = range(DateTime(\"2020-01-01T00:00:00\"), step = resolution, length = 24)\n data = TimeArray(dates, ones(24))\n time_series = SingleTimeSeries(\"max_active_power\", data)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"When creating time series data that represents forecasts, the data can be stored in any AbstractDict where the key is the initial time of the forecast and the value field is the forecast value. The value fields in the dictionary can be regular vectors or TimeSeries.TimeArray.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" resolution = Dates.Hour(1)\n data = Dict(\n DateTime(\"2020-01-01T00:00:00\") => 10.0*ones(24),\n DateTime(\"2020-01-01T01:00:00\") => 5.0*ones(24),\n )\n forecast = Deterministic(\"max_active_power\", data, resolution)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Load from CSV file. For Deterministic forecasts, each row represents one look-ahead window. The first column must be the initial time and the rest must be the forecast values. The CSV file must have no header in the first row.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" resolution = Dates.Hour(1)\n forecast = Deterministic(\"max_active_power\", csv_filename, component, resolution)","category":"page"},{"location":"modeler_guide/time_series/#Scaling-factors","page":"Time Series Data","title":"Scaling factors","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Time series data can store actual component values (for instance MW) or scaling factors intended to be multiplied by a scalar to generate the component values. By default PowerSystems treats the values in the time series data as physical units. In order to specify them as scaling factors, you must pass the accessor function that provides the multiplier value. This value must be passed into the forecast when you create it.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Example:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" resolution = Dates.Hour(1)\n data = Dict(\n DateTime(\"2020-01-01T00:00:00\") => ones(24),\n DateTime(\"2020-01-01T01:00:00\") => ones(24),\n )\n forecast = Deterministic(\n\t\"max_active_power\",\n\tdata,\n\tresolution,\n\tscaling_factor_multiplier = get_max_active_power,\n )","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"In this example, the forecasted component is a generator. Whenever the user retrieves the forecast data PowerSystems will call get_max_active_power(component) and multiply the result with the forecast values (scaling factors). For instance it the maximum active power returns the value 50.0 and the scaling factor at some time point is 0.65, the forecast value will correspond to 32.5.","category":"page"},{"location":"modeler_guide/time_series/#Adding-time-series-to-the-System","page":"Time Series Data","title":"Adding time series to the System","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Adding time series data to a system requires a component that is already attached to the system. Extending the example above:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" add_time_series!(sys, component, forecast)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"In order to optimize the storage of time series data, time series can be shared across devices to avoid duplication. If the same forecast applies to multiple components then can call add_time_series!, passing the collection of components that share the time series data.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" add_time_series!(sys, components, forecast)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"This function stores a single copy of the data. Each component will store a reference to that data.","category":"page"},{"location":"modeler_guide/time_series/#Removing-time-series-data","page":"Time Series Data","title":"Removing time series data","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Time series instances can be removed from a system like this:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" remove_time_series!(Deterministic, sys, \"max_active_power\")","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Note: If you are storing time series data in an HDF5 file, this does not actually free up file space (HDF5 behavior). If you want to remove all or most time series instances then consider using clear_time_series!. It will delete the HDF5 file and create a new one. PowerSystems has plans to automate this type of workflow.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" clear_time_series!(sys)","category":"page"},{"location":"modeler_guide/time_series/#Retrieving-time-series-data","page":"Time Series Data","title":"Retrieving time series data","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems provides several methods to retrieve time series data. It is important that you choose the best one for your use case as there are performance implications. When an accessor function is used to create the forecast, the get_time_series_array methods will apply the associated multiplier and return a different value than is stored. If you want to explore the data as it's stored rather than as it's intended for modeling use, refer to the next section.","category":"page"},{"location":"modeler_guide/time_series/#Get-a-TimeArray-for-a-SingleTimeSeries","page":"Time Series Data","title":"Get a TimeArray for a SingleTimeSeries","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" ta = get_time_series_array(\n SingleTimeSeries,\n component,\n \"max_active_power\",\n start_time = DateTime(\"2020-01-01T00:00:00\"),\n len = 24,\n )","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Note: The default behavior is to read all data, so specify start_time and len if you only need a subset of data.","category":"page"},{"location":"modeler_guide/time_series/#Get-a-TimeArray-for-a-Deterministic-forecast","page":"Time Series Data","title":"Get a TimeArray for a Deterministic forecast","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"For forecasts, the interfaces assume that modeling code will access one forecast window at a time. Here's how to get one window:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" ta = get_time_series_array(\n Deterministic,\n component,\n \"max_active_power\",\n start_time = DateTime(\"2020-01-01T00:00:00\"),\n )","category":"page"},{"location":"modeler_guide/time_series/#Data-exploration","page":"Time Series Data","title":"Data exploration","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"If you want to explore the time series data as it is stored in a system then you will want to use the get_time_series function.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Warning: This will load all forecast windows into memory by default. Be aware of how much data is stored.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Note: Unlike the functions above this will only return the exact stored data. It will not apply a scaling factor multiplier.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" forecast = get_time_series(Deterministic, component, \"max_active_power\")","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"You can limit the data returned by specifying start_time and count.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" forecast = get_time_series(\n Deterministic,\n component,\n \"max_active_power\",\n start_time = DateTime(\"2020-01-09T00:00:00\"),\n count = 10,\n )","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Once you have a forecast instance you can access a specific window like this:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" window = get_window(forecast, DateTime(\"2020-01-09T00:00:00\"))","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"or iterate over the look-ahead windows like this:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" for window in iterate_windows(forecast)\n @show window\n end","category":"page"},{"location":"modeler_guide/time_series/#Using-forecast-data-in-simulations","page":"Time Series Data","title":"Using forecast data in simulations","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"The interfaces documented up to this point are useful for the development of scripts and models that use a small amount of forecasting data or do not require accessing time series data multiple times. It is important to understand the performance implications of accessing forecast windows repeatedly like in the case of production cost modeling simulations.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"If each forecast window contains an array of 24 floats and the windows cover an entire year then each retrieval will involve a small disk read. This can slow down a simulation significantly, especially if the underlying storage uses spinning disks.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems provides an alternate interface that pre-fetches data into the system memory with large reads in order to mitigate this potential problem. The mechanism creates a cache of data and makes it available to the user.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"It is highly recommended that you use this interface for modeling implementations. This is particularly relevant for models using large datasets.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" cache = ForecastCache(Deterministic, component, \"max_active_power\")\n window1 = get_next_time_series_array(cache)\n window2 = get_next_time_series_array(cache)\n\n # or\n\n for window in cache\n @show window\n end","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Each iteration on the cache object will deliver the next forecast window. get_next_time_series_array will return nothing when all windows have been delivered.","category":"page"},{"location":"modeler_guide/time_series/#Transform-static-time-series-into-forecasts","page":"Time Series Data","title":"Transform static time series into forecasts","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"A common workflow in developing models is transforming data generated from a realization and stored in a single column into deterministic forecasts to account for the effects of the look-ahead. Usually, this workflow leads to large data duplications in the overlapping windows between forecasts.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems provides a method to transform SingleTimeSeries data into Deterministic forecasts without duplicating any data. The resulting object behaves exactly like a Deterministic. Instead of storing windows at each initial time it provides a view into the existing data at incrementing offsets.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Here's an example:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" # Create static time series data.\n resolution = Dates.Hour(1)\n dates = range(DateTime(\"2020-01-01T00:00:00\"), step = resolution, length = 8760)\n data = TimeArray(dates, ones(8760))\n ts = SingleTimeSeries(\"max_active_power\", data)\n add_time_series!(sys, component, ts)\n\n # Transform it to Deterministic\n transform_single_time_series!(sys, 24, Hour(24))","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"This function transforms all SingleTimeSeries instances stored in the system. You can also call it on a single component.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"You can now access either a Deterministic or the original SingleTimeSeries.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" ta_forecast = get_time_series_array(\n Deterministic,\n component,\n \"max_active_power\",\n start_time = DateTime(\"2020-01-01T00:00:00\"),\n )\n ta_static = get_time_series_array(SingleTimeSeries, component, \"max_active_power\")","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Note: The actual type of the returned forecast will be DeterministicSingleTimeSeries. This type and Deterministic are subtypes of AbstractDeterministic and implement all of the same methods (i.e., they behave identically).","category":"page"},{"location":"modeler_guide/time_series/#Time-Series-Validation","page":"Time Series Data","title":"Time Series Validation","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems applies validation rules whenever users add time series to a System. It will throw an exception if any rule is violated.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"All time series data, static or forecasts, must have the same resolution.\nAll forecasts must have identical parameters: initial timestamp, horizon, interval, look-ahead window count.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Static time series instances may have different start times and lengths.","category":"page"},{"location":"modeler_guide/time_series/#Data-Format","page":"Time Series Data","title":"Data Format","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Refer to this page for details on how the time series data is stored in HDF5 files.","category":"page"},{"location":"modeler_guide/parsing/#parsing","page":"Parsing Data","title":"Parsing Data","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems.jl supports the creation of a System from a variety of common data formats:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"MATPOWER (code copied with permission from PowerModels.jl)\nPSS/e RAW Files (code copied with permission from PowerModels.jl)\nPSS/e DYR Files\nPowerSystems table data (CSV Files)","category":"page"},{"location":"modeler_guide/parsing/#pm_data","page":"Parsing Data","title":"MATPOWER / PSS/e","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"The following code will create a System from a MATPOWER or PSS/e file:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"using PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\")\nsys = System(joinpath(file_dir, \"case5.m\"))","category":"page"},{"location":"modeler_guide/parsing/#dyr_data","page":"Parsing Data","title":"PSS/e dynamic data parsing","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PSS/e's dynamic model library is extensive, we currently support parsing a limited amount of models out of the box.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Machine models AVR Models Prime Movers PSS models\nGENSAE IEEET1 HYGOV IEEEST\nGENSAL ESDC1A IEEEG1 \nGENROE ESAC1A GGOV1 \nGENCLS ESST4B \nGENROU EXAC2 \n EXPIC1 \n ESAC6A \n EXAC1 \n SCRX \n ESDC2A ","category":"page"},{"location":"modeler_guide/parsing/#Creating-a-Dynamic-System-using-.RAW-and-.DYR-data","page":"Parsing Data","title":"Creating a Dynamic System using .RAW and .DYR data","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"A PowerSystems.jl system can be created using a .RAW and a .DYR file. In this example we will create the following three bus system using the following RAW file:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"0, 100, 33, 0, 0, 60 / 24-Apr-2020 19:28:39 - MATPOWER 7.0.1-dev\n\n\n 101, 'BUS 1 ', 138, 3, 1, 1, 1, 1.02, 0, 1.1, 0.9, 1.1, 0.9\n 102, 'BUS 2 ', 138, 2, 1, 1, 1, 1.0142, 0, 1.1, 0.9, 1.1, 0.9\n 103, 'BUS 3 ', 138, 2, 1, 1, 1, 1.0059, 0, 1.1, 0.9, 1.1, 0.9\n0 / END OF BUS DATA, BEGIN LOAD DATA\n 101, 1, 1, 1, 1, 100, 20, 0, 0, 0, 0, 1, 1, 0\n 102, 1, 1, 1, 1, 70, 10, 0, 0, 0, 0, 1, 1, 0\n 103, 1, 1, 1, 1, 50, 10, 0, 0, 0, 0, 1, 1, 0\n0 / END OF LOAD DATA, BEGIN FIXED SHUNT DATA\n0 / END OF FIXED SHUNT DATA, BEGIN GENERATOR DATA\n 101, 1, 20, 0, 100, -100, 1.02, 0, 100, 0, 0, 0, 0, 1, 1, 100, 318, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n 102, 1, 100, 0, 100, -100, 1.0142, 0, 100, 0, 0.7, 0, 0, 1, 1, 100, 318, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n 103, 1, 100, 0, 100, -100, 1.0059, 0, 100, 0, 0.2, 0, 0, 1, 1, 100, 318, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n0 / END OF GENERATOR DATA, BEGIN BRANCH DATA\n 101, 103, 1, 0.01000, 0.12, 0.0, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n 101, 102, 1, 0.01000, 0.12, 0.0, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n 102, 103, 1, 0.01000, 0.12, 0.0, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n0 / END OF BRANCH DATA, BEGIN TRANSFORMER DATA\n0 / END OF TRANSFORMER DATA, BEGIN AREA DATA\n0 / END OF AREA DATA, BEGIN TWO-TERMINAL DC DATA\n0 / END OF TWO-TERMINAL DC DATA, BEGIN VOLTAGE SOURCE CONVERTER DATA\n0 / END OF VOLTAGE SOURCE CONVERTER DATA, BEGIN IMPEDANCE CORRECTION DATA\n0 / END OF IMPEDANCE CORRECTION DATA, BEGIN MULTI-TERMINAL DC DATA\n0 / END OF MULTI-TERMINAL DC DATA, BEGIN MULTI-SECTION LINE DATA\n0 / END OF MULTI-SECTION LINE DATA, BEGIN ZONE DATA\n0 / END OF ZONE DATA, BEGIN INTER-AREA TRANSFER DATA\n0 / END OF INTER-AREA TRANSFER DATA, BEGIN OWNER DATA\n0 / END OF OWNER DATA, BEGIN FACTS CONTROL DEVICE DATA\n0 / END OF FACTS CONTROL DEVICE DATA, BEGIN SWITCHED SHUNT DATA\n0 / END OF SWITCHED SHUNT DATA, BEGIN GNE DEVICE DATA\n0 / END OF GNE DEVICE DATA, BEGIN INDUCTION MACHINE DATA\n0 / END OF INDUCTION MACHINE DATA\nQ","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"This system is a three bus system with three generators, three loads and three branches. The dynamic data for the generators is provided in the DYR file:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":" 101 'GENROE' 1 8.000000 0.030000 0.400000 0.050000 6.500000 0.000000 1.800000\n 1.700000 0.300000 0.550000 0.250000 0.200000 0.039200 0.267200 /\n 101 'ESST1A' 1 1 1 0.01 99 -99 1 10 1 1 200 0 4 -4 4 -4 0 0 1 0 3 /\n 102 'GENCLS' 1 0.0 0.0 /\n 103 'GENCLS' 1 3.1 2.0 /","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"That assigns a GENROU generator and a ESST1A voltage regulator at the generator located at bus 101, while classic machine models for the generators located at bus 102 and 103.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"To create the system we can do it passing both files directories:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"RAW_dir = joinpath(file_dir, \"ThreeBusNetwork.raw\")\nDYR_dir = joinpath(file_dir, \"TestGENCLS.dyr\")\ndyn_system = System(RAW_dir, DYR_dir, runchecks = false)","category":"page"},{"location":"modeler_guide/parsing/#Common-Issues","page":"Parsing Data","title":"Common Issues","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Please note that while PSS/e does not enforce unique bus names, PowerSystems.jl does. To reparse bus names to comply with this requirement the bus_name_formatter *kwarg can be used in System() as shown in the example below:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"dyn_system = System(RAW_dir, DYR_dir; bus_name_formatter = x -> strip(string(x[\"name\"])) * \"-\" * string(x[\"index\"]))","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"In this example the anonymous function x -> strip(string(x[\"name\"])) * \"-\" * string(x[\"index\"]) takes the bus name and index from PSSe and concatenates them to produce the name. ","category":"page"},{"location":"modeler_guide/parsing/#table_data","page":"Parsing Data","title":"PowerSystems Table Data","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"This is a custom format that allows users to define power system component data by category and column with custom names, types, and units.","category":"page"},{"location":"modeler_guide/parsing/#Categories","page":"Parsing Data","title":"Categories","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Components for each category must be defined in their own CSV file. The following categories are currently supported:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"branch.csv\nbus.csv (required)\ncolumns specifying area and zone will create a corresponding set of Area and LoadZone objects.\ncolumns specifying max_active_power or max_reactive_power will create PowerLoad objects when nonzero values are encountered and will contribute to the peak_active_power and peak_reactive_power values for the\ncorresponding LoadZone object.\ndc_branch.csv\ngen.csv\nload.csv\nreserves.csv\nstorage.csv","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"These must reside in the directory passed when constructing PowerSystemTableData.","category":"page"},{"location":"modeler_guide/parsing/#parsing_time_series","page":"Parsing Data","title":"Adding Time Series Data","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems requires a metadata file that maps components to their time series data in order to be able to automatically construct time_series from raw data files. The following fields are required for each time array:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"simulation: User description of simulation\nresolution: Resolution of time series in seconds\nmodule: Module that defines the abstract type of the component\ncategory: Type of component. Must map to abstract types defined by the \"module\" entry (Bus, ElectricLoad, Generator, LoadZone, Reserve)\ncomponent_name: Name of component\nname: User-defined name for the time series data.\nnormalization_factor: Controls normalization of the data. Use 1.0 for pre-normalized data. Use 'Max' to divide the time series by the max value in the column. Use any float for a custom scaling factor.\nscaling_factor_multiplier_module: Module that defines the accessor function for the","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"scaling factor","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"scaling_factor_multiplier: Accessor function of the scaling factor\ndata_file: Path to the time series data file","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Notes:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"The \"module\", \"category\", and \"component_name\" entries must be valid arguments to retrieve","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"a component using get_component(${module}.${category}, sys, $name).","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"The \"scalingfactormultipliermodule\" and the \"scalingfactor_multiplier\" entries must","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"be sufficient to return the scaling factor data using ${scaling_factor_multiplier_module}.${scaling_factor_multiplier}(component).","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems supports this metadata in either CSV or JSON formats. Refer to RTS_GMLC for an example.","category":"page"},{"location":"modeler_guide/parsing/#Performance-considerations","page":"Parsing Data","title":"Performance considerations","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"By default PowerSystems stores time series data in HDF5 files. It does not keep all of the data in memory. This means that every time you access a timeseries PowerSystems will have to read the data from storage, which will add latency. If you know ahead of time that all of your data will fit in memory then you can change this behavior by passing `timeseriesinmemory = true` when you create the System.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"If the time series data is stored in HDF5 then PowerSystems will use the tmp filesystem by default. You can change this by passing time_series_directory = X when you create the System. This is required if the time series data is larger than the amount of tmp space available. You can also override the location by setting the environment variable SIIPTIMESERIES_DIRECTORY to another directory.","category":"page"},{"location":"modeler_guide/parsing/#Customization","page":"Parsing Data","title":"Customization","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"The tabular data parser in PowerSystems.jl can be customized to read a variety of datasets by configuring:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"which type of generator (<:Generator) to create based on the fuel and prime mover specifications\nproperty names, units, and per units conversions](@ref csvperunit) in *.csv files","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Here is an example of how to construct a System with all customizations listed in this section:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"data_dir = \"/data/my-data-dir\"\nbase_power = 100.0\ndescriptors = \"./user_descriptors.yaml\"\ntimeseries_metadata_file = \"./timeseries_pointers.json\"\ngenerator_mapping_file = \"./generator_mapping.yaml\"\ndata = PowerSystemTableData(\n data_dir,\n base_power,\n descriptors;\n timeseries_metadata_file = timeseries_metadata_file,\n generator_mapping_file = generator_mapping_file,\n)\nsys = System(data, time_series_in_memory = true)","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Examples configuration files can be found in the RTS-GMLC repo:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"user_descriptors.yaml\ngenerator_mapping.yaml","category":"page"},{"location":"modeler_guide/parsing/#csv_data","page":"Parsing Data","title":"CSV Data Configurations","text":"","category":"section"},{"location":"modeler_guide/parsing/#csv_genmap","page":"Parsing Data","title":"Custom construction of generators","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems supports custom construction of subtypes of the abstract type Generator based on fuel and type. The parsing code detects these fields in the raw data and then constructs the concrete type listed in the passed generator mapping file. The default file is src/parsers/generator_mapping.yaml. You can override this behavior by specifying your own file when constructing PowerSystemTableData.","category":"page"},{"location":"modeler_guide/parsing/#csv_columns","page":"Parsing Data","title":"Column names","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems provides am input mapping capability that allows you to keep your own column names.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"For example, when parsing raw data for a generator the code expects a column called name. If the raw data instead defines that column as GEN UID then you can change the custom_name field under the generator category to GEN UID in your YAML file.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"To enable the parsing of a custom set of csv files, you can generate a configuration file (such as user_descriptors.yaml) from the defaults, which are stored in src/descriptors/power_system_inputs.json.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"python ./bin/generate_config_file.py ./user_descriptors.yaml","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Next, edit this file with your customizations.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Note that the user-specific customizations are stored in YAML rather than JSON to allow for easier editing. The next few sections describe changes you can make to this YAML file. Do not edit the default JSON file.","category":"page"},{"location":"modeler_guide/parsing/#csv_per_unit","page":"Parsing Data","title":"Per-unit conversion","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"For more info on the per-unit conventions in PowerSystems.jl, refer to the per-unit section of the system documentation.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems defines whether it expects a column value to be per-unit system base, per-unit device base, or natural units in power_system_inputs.json. If it expects a per-unit convention that differs from your values then you can set the unit_system in user_descriptors.yaml and PowerSystems will automatically convert the values. For example, if you have a max_active_power value stored in natural units (MW), but power_system_inputs.json specifies unit_system: device_base, you can enter unit_system: natural_units in user_descriptors.yaml and PowerSystems will divide the value by the value of the corresponding entry in the column identified by the base_reference field in power_system_inputs.json. You can also override the base_reference setting by adding base_reference: My Column to make device base per-unit conversion by dividing the value by the entry in My Column. System base per-unit conversions always divide the value by the system base_power value instantiated when constructing a System.","category":"page"},{"location":"modeler_guide/parsing/#csv_units","page":"Parsing Data","title":"Unit conversion","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems provides a limited set of unit conversions. For example, if power_system_inputs.json indicates that a value's unit is degrees but your values are in radians then you can set unit: radian in your YAML file. Other valid unit entries include GW, GWh, MW, MWh, kW, and kWh.","category":"page"},{"location":"code_base_developer_guide/developer/#Guidelines-for-Developers","page":"Developer Guide","title":"Guidelines for Developers","text":"","category":"section"},{"location":"code_base_developer_guide/developer/","page":"Developer Guide","title":"Developer Guide","text":"In order to contribute to PowerSystems.jl repository please read the following sections of InfrastructureSystems.jl documentation in detail:","category":"page"},{"location":"code_base_developer_guide/developer/","page":"Developer Guide","title":"Developer Guide","text":"Style Guide\nContributing Guidelines","category":"page"},{"location":"code_base_developer_guide/developer/","page":"Developer Guide","title":"Developer Guide","text":"Pull requests are always welcome to fix bugs or add additional modeling capabilities.","category":"page"},{"location":"code_base_developer_guide/developer/","page":"Developer Guide","title":"Developer Guide","text":"All the code contributions need to include tests with a minimum coverage of 70%","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Creating-a-custom-Component","page":"Adding Types","title":"Creating a custom Component","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/#Type-Hierarchy","page":"Adding Types","title":"Type Hierarchy","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"All structs that correlate to power system components must be subtypes of the Component abstract type. Browse its type hierachy to choose an appropriate supertype for your new struct.","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Interfaces","page":"Adding Types","title":"Interfaces","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Refer to the managing components guide for component requirements.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Note: get_internal, get_name, and get_time_series_container are imported into PowerSystems, so you should implement your methods as PowerSystems methods.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Some abstract types define required interface functions in docstring. Be sure to implement each of them for your new type.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Formalized documentation for each abstract type is TBD.","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Specialize-an-Existing-Type","page":"Adding Types","title":"Specialize an Existing Type","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"There are scenarios where you may want to make a new type that is identical to an existing type except for one attribute or behavior, and don't want to duplicate the entire existing type and methods. In programming languages that support inheritance you would derive a new class from the existing class and automatically inherit its fields and methods. Julia doesn't support that. However, you can achieve a similar result with a forwarding macro. The basic idea is that you include the existing type within your struct and then use a macro to automatically forward specific methods to that instance.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"A few PowerSystems structs use the macro InfrastructureSystems.@forward to do this. Refer to the struct RoundRotorQuadratic for an example of how to use this.","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Custom-Rules","page":"Adding Types","title":"Custom Rules","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Some types require special checks before they can be added to or removed from a system. One example is the case where a component includes another component that is also stored in the system. We must ensure that the parent component does not contain a reference to another component that is not already attached to the system.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Similarly, if the child object is removed from the system we must also remove the parent's reference to that child.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"The source file src/base.jl provides functions that you can implement for your new type to manage these scenarios.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"check_component_addition(sys::System, component::Component; kwargs...)\nhandle_component_addition!(sys::System, component::Component; kwargs...)\ncheck_component_removal(sys::System, component::Component; kwargs...)\nhandle_component_removal!(sys::System, component::Component; kwargs...)","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"The functions add_component!() and remove_component!() call the check function before performing actions and then call the handle function afterwards. The default behavior of these functions is to do nothing. Implement versions that take your type in order to add your own checks or perform additional actions.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Beware of the condition where a custom method is already implemented for a supertype of your type.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Note that you can call the helper functions is_attached(component, system) and throw_if_not_attached(component, system).","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Custom-Validation","page":"Adding Types","title":"Custom Validation","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"You can implement three methods to perform custom validation or correction for your type. PowerSystems calls all of these functions in add_component!.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"sanitize_component!(component::Component, sys::System): intended to make standard data corrections (e.g. voltage angle in degrees -> radians)\nvalidate_component(component::Component): intended to check component field values for internal consistency\nvalidate_component_with_system(component::Component, sys::System): intended to check component field values for consistency with system","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Struct-Requirements-for-Serialization-of-custom-components","page":"Adding Types","title":"Struct Requirements for Serialization of custom components","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"One key feature of PowerSystems.jl is the serialization capabilities. Supporting serialization and de-serialization of custom components requires the implementation of several methods. The serialization code converts structs to dictionaries where the struct fields become dictionary keys.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"The code imposes these requirements:","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"The InfrastructureSystems methods serialize and deserialize must be implemented for the struct. InfrastructureSystems implements a method that covers all subtypes of InfrastructureSystemsType. All PowerSystems components should be subtypes of PowerSystems.Component which is a subtype InfrastructureSystemsType, so any new structs should be covered as well.\nAll struct fields must be able to be encoded in JSON format or be covered be covered by serialize and deserialize methods. Basic types, such as numbers and strings or arrays and dictionaries of numbers and strings, should just work. Complex containers with symbols may not.\nStructs relying on the default deserialize method must have a kwarg-only constructor. The deserialization code constructs objects by splatting the dictionary key/value pairs into the constructor.\nStructs that contain other PowerSystem components (like a generator contains a bus) must serialize those components as UUIDs instead of actual values. The deserialization code uses the UUIDs as a mechanism to restore a reference to the actual object rather a new object with identical values. It also significantly reduces the size of the JSON file.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Refer to InfrastructureSystems.serialize_struct for example behavior. New structs that are not subtypes of InfrastructureSystemsType may be able to call it directly.","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Adding-PowerSystems.jl-as-a-dependency-in-a-modeling-package","page":"Adding Types","title":"Adding PowerSystems.jl as a dependency in a modeling package","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"module MyModelingModule\n\nimport PowerSystems\nimport InfrastructureSystems\nconst PSY = PowerSystems\nconst IS = InfrastructureSystems\n\nexport MyDevice\nexport get_name\n\nmutable struct MyDevice <: PSY.Device\n name::String\n internal::IS.InfrastructureSystemsInternal\nend\n\nfunction MyDevice(name::String)\n return MyDevice(name, IS.InfrastructureSystemsInternal())\nend\n\nPSY.get_name(val::MyDevice) = val.name\n\nend","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Auto-Generating-Custom-Structs","page":"Adding Types","title":"Auto-Generating Custom Structs","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"It is possible to use an advanced future to auto-generate structs in Julia source code files. It is not mandatory to use these tools, but it can be useful if you need to generate multiple custom structs for your model. Please refer to the docstrings for the functions generate_struct and generate_structs. Full details are in the InfrastructureSystems documentation at https://nrel-sienna.github.io/InfrastructureSystems.jl/stable/devguide/autogeneration/","category":"page"},{"location":"model_library/generated_TapTransformer/#TapTransformer","page":"TapTransformer","title":"TapTransformer","text":"","category":"section"},{"location":"model_library/generated_TapTransformer/","page":"TapTransformer","title":"TapTransformer","text":"Modules = [PowerSystems]\nPages = [\"generated/TapTransformer.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TapTransformer/#PowerSystems.TapTransformer","page":"TapTransformer","title":"PowerSystems.TapTransformer","text":"mutable struct TapTransformer <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n reactive_power_flow::Float64\n arc::Arc\n r::Float64\n x::Float64\n primary_shunt::Float64\n tap::Float64\n rate::Union{Nothing, Float64}\n services::Vector{Service}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nactive_power_flow::Float64\nreactive_power_flow::Float64\narc::Arc\nr::Float64: System per-unit value, validation range: (-2, 2), action if invalid: warn\nx::Float64: System per-unit value, validation range: (-2, 4), action if invalid: warn\nprimary_shunt::Float64: System per-unit value, validation range: (0, 2), action if invalid: warn\ntap::Float64, validation range: (0, 2), action if invalid: error\nrate::Union{Nothing, Float64}, validation range: (0, nothing), action if invalid: error\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TapTransformer/#InfrastructureSystems.get_name-Tuple{TapTransformer}","page":"TapTransformer","title":"InfrastructureSystems.get_name","text":"get_name(value::TapTransformer) -> String\n\n\nGet TapTransformer name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#InfrastructureSystems.get_time_series_container-Tuple{TapTransformer}","page":"TapTransformer","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::TapTransformer\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet TapTransformer time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_active_power_flow-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::TapTransformer) -> Any\n\n\nGet TapTransformer active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_arc-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_arc","text":"get_arc(value::TapTransformer) -> Arc\n\n\nGet TapTransformer arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_available-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_available","text":"get_available(value::TapTransformer) -> Bool\n\n\nGet TapTransformer available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_ext-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_ext","text":"get_ext(value::TapTransformer) -> Dict{String, Any}\n\n\nGet TapTransformer ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_primary_shunt-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_primary_shunt","text":"get_primary_shunt(value::TapTransformer) -> Float64\n\n\nGet TapTransformer primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_r-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_r","text":"get_r(value::TapTransformer) -> Float64\n\n\nGet TapTransformer r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_rate-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_rate","text":"get_rate(value::TapTransformer) -> Any\n\n\nGet TapTransformer rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_reactive_power_flow-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(value::TapTransformer) -> Any\n\n\nGet TapTransformer reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_services-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_services","text":"get_services(value::TapTransformer) -> Vector{Service}\n\n\nGet TapTransformer services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_tap-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_tap","text":"get_tap(value::TapTransformer) -> Float64\n\n\nGet TapTransformer tap.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_x-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_x","text":"get_x(value::TapTransformer) -> Float64\n\n\nGet TapTransformer x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_active_power_flow!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_arc!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_arc!","text":"set_arc!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_available!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_available!","text":"set_available!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_ext!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_ext!","text":"set_ext!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_primary_shunt!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_primary_shunt!","text":"set_primary_shunt!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_r!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_r!","text":"set_r!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_rate!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_rate!","text":"set_rate!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_reactive_power_flow!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_services!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_services!","text":"set_services!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_tap!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_tap!","text":"set_tap!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer tap.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_time_series_container!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::TapTransformer,\n val\n) -> Any\n\n\nSet TapTransformer time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_x!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_x!","text":"set_x!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#HydroPumpedStorage","page":"HydroPumpedStorage","title":"HydroPumpedStorage","text":"","category":"section"},{"location":"model_library/generated_HydroPumpedStorage/","page":"HydroPumpedStorage","title":"HydroPumpedStorage","text":"Modules = [PowerSystems]\nPages = [\"generated/HydroPumpedStorage.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.HydroPumpedStorage","page":"HydroPumpedStorage","title":"PowerSystems.HydroPumpedStorage","text":"mutable struct HydroPumpedStorage <: HydroGen\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n base_power::Float64\n prime_mover_type::PrimeMovers\n active_power_limits::MinMax\n reactive_power_limits::Union{Nothing, MinMax}\n ramp_limits::Union{Nothing, UpDown}\n time_limits::Union{Nothing, UpDown}\n rating_pump::Float64\n active_power_limits_pump::MinMax\n reactive_power_limits_pump::Union{Nothing, MinMax}\n ramp_limits_pump::Union{Nothing, UpDown}\n time_limits_pump::Union{Nothing, UpDown}\n storage_capacity::UpDown\n inflow::Float64\n outflow::Float64\n initial_storage::UpDown\n storage_target::UpDown\n operation_cost::OperationalCost\n pump_efficiency::Float64\n conversion_factor::Float64\n time_at_status::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nactive_power::Float64\nreactive_power::Float64\nrating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923\nactive_power_limits::MinMax, validation range: (0, nothing), action if invalid: warn\nreactive_power_limits::Union{Nothing, MinMax}, action if invalid: warn\nramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW (in component base per unit) per minute, validation range: (0, nothing), action if invalid: error\ntime_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing), action if invalid: error\nrating_pump::Float64: Thermal limited MVA Power Withdrawl of the pump. <= Capacity, validation range: (0, nothing), action if invalid: error\nactive_power_limits_pump::MinMax\nreactive_power_limits_pump::Union{Nothing, MinMax}, action if invalid: warn\nramp_limits_pump::Union{Nothing, UpDown}: ramp up and ramp down limits in MW (in component base per unit) per minute of pump, validation range: (0, nothing), action if invalid: error\ntime_limits_pump::Union{Nothing, UpDown}: Minimum up and Minimum down time limits of pump in hours, validation range: (0, nothing), action if invalid: error\nstorage_capacity::UpDown: Maximum storage capacity in the upper and lower reservoirs (units can be p.u-hr or m^3)., validation range: (0, nothing), action if invalid: error\ninflow::Float64: Baseline inflow into the upper reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing), action if invalid: error\noutflow::Float64: Baseline outflow from the lower reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing), action if invalid: error\ninitial_storage::UpDown: Initial storage capacity in the upper and lower reservoir (units can be p.u-hr or m^3)., validation range: (0, nothing), action if invalid: error\nstorage_target::UpDown: Storage target of upper reservoir at the end of simulation as ratio of storage capacity.\noperation_cost::OperationalCost: Operation Cost of Generation OperationalCost\npump_efficiency::Float64: Efficiency of pump, validation range: (0, 1), action if invalid: warn\nconversion_factor::Float64: Conversion factor from flow/volume to energy: m^3 -> p.u-hr.\ntime_at_status::Float64\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_HydroPumpedStorage/#InfrastructureSystems.get_name-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"InfrastructureSystems.get_name","text":"get_name(value::HydroPumpedStorage) -> String\n\n\nGet HydroPumpedStorage name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#InfrastructureSystems.get_time_series_container-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::HydroPumpedStorage\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet HydroPumpedStorage time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_active_power-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_active_power","text":"get_active_power(value::HydroPumpedStorage) -> Any\n\n\nGet HydroPumpedStorage active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_active_power_limits-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::HydroPumpedStorage\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet HydroPumpedStorage active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_active_power_limits_pump-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_active_power_limits_pump","text":"get_active_power_limits_pump(\n value::HydroPumpedStorage\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet HydroPumpedStorage active_power_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_available-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_available","text":"get_available(value::HydroPumpedStorage) -> Bool\n\n\nGet HydroPumpedStorage available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_base_power-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_base_power","text":"get_base_power(value::HydroPumpedStorage) -> Float64\n\n\nGet HydroPumpedStorage base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_bus-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_bus","text":"get_bus(value::HydroPumpedStorage) -> ACBus\n\n\nGet HydroPumpedStorage bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_conversion_factor-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_conversion_factor","text":"get_conversion_factor(value::HydroPumpedStorage) -> Float64\n\n\nGet HydroPumpedStorage conversion_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_dynamic_injector-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::HydroPumpedStorage\n) -> Union{Nothing, DynamicInjection}\n\n\nGet HydroPumpedStorage dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_ext-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_ext","text":"get_ext(value::HydroPumpedStorage) -> Dict{String, Any}\n\n\nGet HydroPumpedStorage ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_inflow-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_inflow","text":"get_inflow(value::HydroPumpedStorage) -> Any\n\n\nGet HydroPumpedStorage inflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_initial_storage-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_initial_storage","text":"get_initial_storage(\n value::HydroPumpedStorage\n) -> NamedTuple{(:up, :down), <:Tuple{Any, Any}}\n\n\nGet HydroPumpedStorage initial_storage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_operation_cost-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::HydroPumpedStorage\n) -> PowerSystems.OperationalCost\n\n\nGet HydroPumpedStorage operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_outflow-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_outflow","text":"get_outflow(value::HydroPumpedStorage) -> Float64\n\n\nGet HydroPumpedStorage outflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_prime_mover_type-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(\n value::HydroPumpedStorage\n) -> PrimeMovers\n\n\nGet HydroPumpedStorage prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_pump_efficiency-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_pump_efficiency","text":"get_pump_efficiency(value::HydroPumpedStorage) -> Float64\n\n\nGet HydroPumpedStorage pump_efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_ramp_limits-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_ramp_limits","text":"get_ramp_limits(\n value::HydroPumpedStorage\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet HydroPumpedStorage ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_ramp_limits_pump-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_ramp_limits_pump","text":"get_ramp_limits_pump(\n value::HydroPumpedStorage\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet HydroPumpedStorage ramp_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_rating-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_rating","text":"get_rating(value::HydroPumpedStorage) -> Any\n\n\nGet HydroPumpedStorage rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_rating_pump-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_rating_pump","text":"get_rating_pump(value::HydroPumpedStorage) -> Any\n\n\nGet HydroPumpedStorage rating_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_reactive_power-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::HydroPumpedStorage) -> Any\n\n\nGet HydroPumpedStorage reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_reactive_power_limits-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::HydroPumpedStorage\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HydroPumpedStorage reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_reactive_power_limits_pump-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_reactive_power_limits_pump","text":"get_reactive_power_limits_pump(\n value::HydroPumpedStorage\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HydroPumpedStorage reactive_power_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_services-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_services","text":"get_services(value::HydroPumpedStorage) -> Vector{Service}\n\n\nGet HydroPumpedStorage services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_storage_capacity-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_storage_capacity","text":"get_storage_capacity(\n value::HydroPumpedStorage\n) -> NamedTuple{(:up, :down), <:Tuple{Any, Any}}\n\n\nGet HydroPumpedStorage storage_capacity.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_storage_target-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_storage_target","text":"get_storage_target(\n value::HydroPumpedStorage\n) -> @NamedTuple{up::Float64, down::Float64}\n\n\nGet HydroPumpedStorage storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_time_at_status-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_time_at_status","text":"get_time_at_status(value::HydroPumpedStorage) -> Float64\n\n\nGet HydroPumpedStorage time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_time_limits-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_time_limits","text":"get_time_limits(\n value::HydroPumpedStorage\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet HydroPumpedStorage time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_time_limits_pump-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_time_limits_pump","text":"get_time_limits_pump(\n value::HydroPumpedStorage\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet HydroPumpedStorage time_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_active_power!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_active_power_limits!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_active_power_limits_pump!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_active_power_limits_pump!","text":"set_active_power_limits_pump!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage active_power_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_available!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_available!","text":"set_available!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_base_power!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_bus!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_bus!","text":"set_bus!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_conversion_factor!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_conversion_factor!","text":"set_conversion_factor!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage conversion_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_ext!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_ext!","text":"set_ext!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_inflow!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_inflow!","text":"set_inflow!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage inflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_initial_storage!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_initial_storage!","text":"set_initial_storage!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage initial_storage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_operation_cost!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_outflow!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_outflow!","text":"set_outflow!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage outflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_prime_mover_type!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_pump_efficiency!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_pump_efficiency!","text":"set_pump_efficiency!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage pump_efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_ramp_limits!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_ramp_limits!","text":"set_ramp_limits!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_ramp_limits_pump!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_ramp_limits_pump!","text":"set_ramp_limits_pump!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage ramp_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_rating!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_rating!","text":"set_rating!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_rating_pump!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_rating_pump!","text":"set_rating_pump!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage rating_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_reactive_power!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_reactive_power_limits!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_reactive_power_limits_pump!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_reactive_power_limits_pump!","text":"set_reactive_power_limits_pump!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage reactive_power_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_services!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_services!","text":"set_services!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_storage_capacity!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_storage_capacity!","text":"set_storage_capacity!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage storage_capacity.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_storage_target!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_storage_target!","text":"set_storage_target!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_time_at_status!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_time_at_status!","text":"set_time_at_status!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_time_limits!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_time_limits!","text":"set_time_limits!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_time_limits_pump!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_time_limits_pump!","text":"set_time_limits_pump!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage time_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_time_series_container!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#StorageManagementCost","page":"StorageManagementCost","title":"StorageManagementCost","text":"","category":"section"},{"location":"model_library/generated_StorageManagementCost/","page":"StorageManagementCost","title":"StorageManagementCost","text":"Modules = [PowerSystems]\nPages = [\"generated/StorageManagementCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.StorageManagementCost","page":"StorageManagementCost","title":"PowerSystems.StorageManagementCost","text":"mutable struct StorageManagementCost <: OperationalCost\n variable::VariableCost\n fixed::Float64\n start_up::Float64\n shut_down::Float64\n energy_shortage_cost::Float64\n energy_surplus_cost::Float64\nend\n\nData Structure for Operational Cost Data like variable cost and start - stop costs and energy storage cost.\n\nArguments\n\nvariable::VariableCost: variable cost\nfixed::Float64: fixed cost\nstart_up::Float64: start-up cost, validation range: (0, nothing), action if invalid: warn\nshut_down::Float64: shut-down cost, validation range: (0, nothing), action if invalid: warn\nenergy_shortage_cost::Float64: Cost incurred by the model for being short of the energy target., validation range: (0, nothing), action if invalid: warn\nenergy_surplus_cost::Float64: Cost incurred by the model for surplus energy stored., validation range: (0, nothing), action if invalid: warn\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.get_energy_shortage_cost-Tuple{StorageManagementCost}","page":"StorageManagementCost","title":"PowerSystems.get_energy_shortage_cost","text":"get_energy_shortage_cost(\n value::StorageManagementCost\n) -> Float64\n\n\nGet StorageManagementCost energy_shortage_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.get_energy_surplus_cost-Tuple{StorageManagementCost}","page":"StorageManagementCost","title":"PowerSystems.get_energy_surplus_cost","text":"get_energy_surplus_cost(\n value::StorageManagementCost\n) -> Float64\n\n\nGet StorageManagementCost energy_surplus_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.get_fixed-Tuple{StorageManagementCost}","page":"StorageManagementCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::StorageManagementCost) -> Float64\n\n\nGet StorageManagementCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.get_shut_down-Tuple{StorageManagementCost}","page":"StorageManagementCost","title":"PowerSystems.get_shut_down","text":"get_shut_down(value::StorageManagementCost) -> Float64\n\n\nGet StorageManagementCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.get_start_up-Tuple{StorageManagementCost}","page":"StorageManagementCost","title":"PowerSystems.get_start_up","text":"get_start_up(value::StorageManagementCost) -> Float64\n\n\nGet StorageManagementCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.get_variable-Tuple{StorageManagementCost}","page":"StorageManagementCost","title":"PowerSystems.get_variable","text":"get_variable(value::StorageManagementCost) -> VariableCost\n\n\nGet StorageManagementCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.set_energy_shortage_cost!-Tuple{StorageManagementCost, Any}","page":"StorageManagementCost","title":"PowerSystems.set_energy_shortage_cost!","text":"set_energy_shortage_cost!(\n value::StorageManagementCost,\n val\n) -> Any\n\n\nSet StorageManagementCost energy_shortage_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.set_energy_surplus_cost!-Tuple{StorageManagementCost, Any}","page":"StorageManagementCost","title":"PowerSystems.set_energy_surplus_cost!","text":"set_energy_surplus_cost!(\n value::StorageManagementCost,\n val\n) -> Any\n\n\nSet StorageManagementCost energy_surplus_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.set_fixed!-Tuple{StorageManagementCost, Any}","page":"StorageManagementCost","title":"PowerSystems.set_fixed!","text":"set_fixed!(value::StorageManagementCost, val) -> Any\n\n\nSet StorageManagementCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.set_shut_down!-Tuple{StorageManagementCost, Any}","page":"StorageManagementCost","title":"PowerSystems.set_shut_down!","text":"set_shut_down!(value::StorageManagementCost, val) -> Any\n\n\nSet StorageManagementCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.set_start_up!-Tuple{StorageManagementCost, Any}","page":"StorageManagementCost","title":"PowerSystems.set_start_up!","text":"set_start_up!(value::StorageManagementCost, val) -> Any\n\n\nSet StorageManagementCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StorageManagementCost/#PowerSystems.set_variable!-Tuple{StorageManagementCost, Any}","page":"StorageManagementCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::StorageManagementCost, val) -> Any\n\n\nSet StorageManagementCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#ACBus","page":"ACBus","title":"ACBus","text":"","category":"section"},{"location":"model_library/generated_ACBus/","page":"ACBus","title":"ACBus","text":"Modules = [PowerSystems]\nPages = [\"generated/ACBus.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_ACBus/#PowerSystems.ACBus","page":"ACBus","title":"PowerSystems.ACBus","text":"mutable struct ACBus <: Bus\n number::Int\n name::String\n bustype::Union{Nothing, ACBusTypes}\n angle::Union{Nothing, Float64}\n magnitude::Union{Nothing, Float64}\n voltage_limits::Union{Nothing, MinMax}\n base_voltage::Union{Nothing, Float64}\n area::Union{Nothing, Area}\n load_zone::Union{Nothing, LoadZone}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA power-system bus.\n\nArguments\n\nnumber::Int: number associated with the bus\nname::String: the name of the bus\nbustype::Union{Nothing, ACBusTypes}: bus type\nangle::Union{Nothing, Float64}: angle of the bus in radians, validation range: (-1.571, 1.571), action if invalid: error\nmagnitude::Union{Nothing, Float64}: voltage as a multiple of basevoltage, validation range: voltage_limits, action if invalid: warn\nvoltage_limits::Union{Nothing, MinMax}: limits on the voltage variation as multiples of basevoltage\nbase_voltage::Union{Nothing, Float64}: the base voltage in kV, validation range: (0, nothing), action if invalid: error\narea::Union{Nothing, Area}: the area containing the bus\nload_zone::Union{Nothing, LoadZone}: the load zone containing the bus\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_ACBus/#InfrastructureSystems.get_name-Tuple{ACBus}","page":"ACBus","title":"InfrastructureSystems.get_name","text":"get_name(value::ACBus) -> String\n\n\nGet ACBus name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_angle-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_angle","text":"get_angle(value::ACBus) -> Union{Nothing, Float64}\n\n\nGet ACBus angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_area-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_area","text":"get_area(value::ACBus) -> Union{Nothing, Area}\n\n\nGet ACBus area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_base_voltage-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_base_voltage","text":"get_base_voltage(value::ACBus) -> Union{Nothing, Float64}\n\n\nGet ACBus base_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_bustype-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_bustype","text":"get_bustype(value::ACBus) -> Union{Nothing, ACBusTypes}\n\n\nGet ACBus bustype.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_ext-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_ext","text":"get_ext(value::ACBus) -> Dict{String, Any}\n\n\nGet ACBus ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_load_zone-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_load_zone","text":"get_load_zone(value::ACBus) -> Union{Nothing, LoadZone}\n\n\nGet ACBus load_zone.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_magnitude-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_magnitude","text":"get_magnitude(value::ACBus) -> Union{Nothing, Float64}\n\n\nGet ACBus magnitude.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_number-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_number","text":"get_number(value::ACBus) -> Int64\n\n\nGet ACBus number.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_voltage_limits-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_voltage_limits","text":"get_voltage_limits(\n value::ACBus\n) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}\n\n\nGet ACBus voltage_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_angle!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_angle!","text":"set_angle!(value::ACBus, val) -> Any\n\n\nSet ACBus angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_area!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_area!","text":"set_area!(value::ACBus, val) -> Area\n\n\nSet ACBus area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_base_voltage!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_base_voltage!","text":"set_base_voltage!(value::ACBus, val) -> Any\n\n\nSet ACBus base_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_bustype!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_bustype!","text":"set_bustype!(value::ACBus, val) -> Any\n\n\nSet ACBus bustype.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_ext!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_ext!","text":"set_ext!(value::ACBus, val) -> Any\n\n\nSet ACBus ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_load_zone!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_load_zone!","text":"set_load_zone!(value::ACBus, val) -> LoadZone\n\n\nSet ACBus load_zone.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_magnitude!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_magnitude!","text":"set_magnitude!(value::ACBus, val) -> Any\n\n\nSet ACBus magnitude.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_number!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_number!","text":"set_number!(value::ACBus, val) -> Any\n\n\nSet ACBus number.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_voltage_limits!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_voltage_limits!","text":"set_voltage_limits!(value::ACBus, val) -> Any\n\n\nSet ACBus voltage_limits.\n\n\n\n\n\n","category":"method"},{"location":"code_base_developer_guide/adding_new_types/#Adding-PowerSystems-Types","page":"Adding New Types","title":"Adding PowerSystems Types","text":"","category":"section"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"This page describes how developers should add types to PowerSystems.jl Refer to the managing components guide first.","category":"page"},{"location":"code_base_developer_guide/adding_new_types/#autogen","page":"Adding New Types","title":"Auto-generating Structs","text":"","category":"section"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"Most PowerSystems.jl structs are auto-generated from the JSON descriptor file src/descriptors/power_system_structs.json. You can add your new struct here or write it manually when contributing code to the repository","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"If all you need is the basic struct definition and getter/setter functions then you will likely find the auto-generation helpful.","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"If you will need to write specialized functions for the type then you will probably want to write it manually.","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"Refer to this link for more information.","category":"page"},{"location":"code_base_developer_guide/adding_new_types/#Testing-the-addition-of-new-struct-to-the-code-base","page":"Adding New Types","title":"Testing the addition of new struct to the code base","text":"","category":"section"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"In order to merge new structs to the code base, your struct needs to pass several tests.","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"addition to System\nretrieval from System\nserialization/de-serialization","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"The following code block is an example of the code that the new struct needs to pass","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"using PowerSystems\n\nsys = System(100.0)\ndevice = NewType(data)\n\n# add your component to the system\nadd_component!(sys, device)\nretrived_device = get_component(NewType, sys, \"component_name\")\n\n# Serialize\nto_json(sys, \"sys.json\")\n\n# Re-create the system and find your component.\nsys2 = System(\"sys.json\")\nserialized_device = get_component(NewType, sys, \"component_name\")\n\n@test get_name(retrieved_device) == get_name(serialized_device)","category":"page"},{"location":"model_library/generated_MonitoredLine/#MonitoredLine","page":"MonitoredLine","title":"MonitoredLine","text":"","category":"section"},{"location":"model_library/generated_MonitoredLine/","page":"MonitoredLine","title":"MonitoredLine","text":"Modules = [PowerSystems]\nPages = [\"generated/MonitoredLine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.MonitoredLine","page":"MonitoredLine","title":"PowerSystems.MonitoredLine","text":"mutable struct MonitoredLine <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n reactive_power_flow::Float64\n arc::Arc\n r::Float64\n x::Float64\n b::FromTo\n flow_limits::FromTo_ToFrom\n rate::Float64\n angle_limits::MinMax\n services::Vector{Service}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nactive_power_flow::Float64\nreactive_power_flow::Float64\narc::Arc\nr::Float64: System per-unit value, validation range: (0, 4), action if invalid: warn\nx::Float64: System per-unit value, validation range: (0, 4), action if invalid: warn\nb::FromTo: System per-unit value, validation range: (0, 2), action if invalid: warn\nflow_limits::FromTo_ToFrom: throw warning above max SIL\nrate::Float64: compare to SIL (warn) (theoretical limit)\nangle_limits::MinMax, validation range: (-1.571, 1.571), action if invalid: error\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_MonitoredLine/#InfrastructureSystems.get_name-Tuple{MonitoredLine}","page":"MonitoredLine","title":"InfrastructureSystems.get_name","text":"get_name(value::MonitoredLine) -> String\n\n\nGet MonitoredLine name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#InfrastructureSystems.get_time_series_container-Tuple{MonitoredLine}","page":"MonitoredLine","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::MonitoredLine\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet MonitoredLine time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_active_power_flow-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::MonitoredLine) -> Any\n\n\nGet MonitoredLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_angle_limits-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_angle_limits","text":"get_angle_limits(\n value::MonitoredLine\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet MonitoredLine angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_arc-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_arc","text":"get_arc(value::MonitoredLine) -> Arc\n\n\nGet MonitoredLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_available-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_available","text":"get_available(value::MonitoredLine) -> Bool\n\n\nGet MonitoredLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_b-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_b","text":"get_b(\n value::MonitoredLine\n) -> @NamedTuple{from::Float64, to::Float64}\n\n\nGet MonitoredLine b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_ext-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_ext","text":"get_ext(value::MonitoredLine) -> Dict{String, Any}\n\n\nGet MonitoredLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_flow_limits-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_flow_limits","text":"get_flow_limits(\n value::MonitoredLine\n) -> NamedTuple{(:from_to, :to_from), <:Tuple{Any, Any}}\n\n\nGet MonitoredLine flow_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_r-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_r","text":"get_r(value::MonitoredLine) -> Float64\n\n\nGet MonitoredLine r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_rate-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_rate","text":"get_rate(value::MonitoredLine) -> Any\n\n\nGet MonitoredLine rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_reactive_power_flow-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(value::MonitoredLine) -> Any\n\n\nGet MonitoredLine reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_services-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_services","text":"get_services(value::MonitoredLine) -> Vector{Service}\n\n\nGet MonitoredLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_x-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_x","text":"get_x(value::MonitoredLine) -> Float64\n\n\nGet MonitoredLine x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_active_power_flow!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_angle_limits!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_angle_limits!","text":"set_angle_limits!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_arc!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_arc!","text":"set_arc!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_available!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_available!","text":"set_available!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_b!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_b!","text":"set_b!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_ext!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_ext!","text":"set_ext!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_flow_limits!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_flow_limits!","text":"set_flow_limits!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine flow_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_r!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_r!","text":"set_r!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_rate!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_rate!","text":"set_rate!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_reactive_power_flow!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_services!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_services!","text":"set_services!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_time_series_container!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_x!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_x!","text":"set_x!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine x.\n\n\n\n\n\n","category":"method"},{"location":"tutorials/serialize_data/#Serializing-PowerSystem-Data","page":"Serialize Data","title":"Serializing PowerSystem Data","text":"","category":"section"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"tutorials/serialize_data/#Introduction","page":"Serialize Data","title":"Introduction","text":"","category":"section"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"PowerSystems.jl supports serializing/deserializing data with JSON. This provides an example of how to write and read a System to/from disk.","category":"page"},{"location":"tutorials/serialize_data/#Dependencies","page":"Serialize Data","title":"Dependencies","text":"","category":"section"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"Let's use a dataset from the tabular data parsing tutorial:","category":"page"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"using PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\"); #hide \nsys = System(joinpath(file_dir, \"case5_re.m\"))","category":"page"},{"location":"tutorials/serialize_data/#Write-data-to-a-temporary-directory","page":"Serialize Data","title":"Write data to a temporary directory","text":"","category":"section"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"folder = mktempdir();\npath = joinpath(folder, \"system.json\")\nprintln(\"Serializing to $path\")\nto_json(sys, path)","category":"page"},{"location":"tutorials/serialize_data/#Read-the-JSON-file-and-create-a-new-System","page":"Serialize Data","title":"Read the JSON file and create a new System","text":"","category":"section"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"sys2 = System(path)","category":"page"},{"location":"model_library/generated_RenewableFix/#RenewableFix","page":"RenewableFix","title":"RenewableFix","text":"","category":"section"},{"location":"model_library/generated_RenewableFix/","page":"RenewableFix","title":"RenewableFix","text":"Modules = [PowerSystems]\nPages = [\"generated/RenewableFix.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_RenewableFix/#PowerSystems.RenewableFix","page":"RenewableFix","title":"PowerSystems.RenewableFix","text":"mutable struct RenewableFix <: RenewableGen\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n prime_mover_type::PrimeMovers\n power_factor::Float64\n base_power::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData Structure for fixed renewable generation technologies.\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nactive_power::Float64\nreactive_power::Float64\nrating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923\npower_factor::Float64, validation range: (0, 1), action if invalid: error\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_RenewableFix/#InfrastructureSystems.get_name-Tuple{RenewableFix}","page":"RenewableFix","title":"InfrastructureSystems.get_name","text":"get_name(value::RenewableFix) -> String\n\n\nGet RenewableFix name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#InfrastructureSystems.get_time_series_container-Tuple{RenewableFix}","page":"RenewableFix","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::RenewableFix\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet RenewableFix time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_active_power-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_active_power","text":"get_active_power(value::RenewableFix) -> Any\n\n\nGet RenewableFix active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_available-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_available","text":"get_available(value::RenewableFix) -> Bool\n\n\nGet RenewableFix available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_base_power-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_base_power","text":"get_base_power(value::RenewableFix) -> Float64\n\n\nGet RenewableFix base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_bus-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_bus","text":"get_bus(value::RenewableFix) -> ACBus\n\n\nGet RenewableFix bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_dynamic_injector-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::RenewableFix\n) -> Union{Nothing, DynamicInjection}\n\n\nGet RenewableFix dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_ext-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_ext","text":"get_ext(value::RenewableFix) -> Dict{String, Any}\n\n\nGet RenewableFix ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_power_factor-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_power_factor","text":"get_power_factor(value::RenewableFix) -> Float64\n\n\nGet RenewableFix power_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_prime_mover_type-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(value::RenewableFix) -> PrimeMovers\n\n\nGet RenewableFix prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_rating-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_rating","text":"get_rating(value::RenewableFix) -> Any\n\n\nGet RenewableFix rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_reactive_power-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::RenewableFix) -> Any\n\n\nGet RenewableFix reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.get_services-Tuple{RenewableFix}","page":"RenewableFix","title":"PowerSystems.get_services","text":"get_services(value::RenewableFix) -> Vector{Service}\n\n\nGet RenewableFix services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_active_power!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_available!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_available!","text":"set_available!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_base_power!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_bus!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_bus!","text":"set_bus!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_ext!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_ext!","text":"set_ext!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_power_factor!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_power_factor!","text":"set_power_factor!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix power_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_prime_mover_type!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_rating!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_rating!","text":"set_rating!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_reactive_power!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_services!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_services!","text":"set_services!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableFix/#PowerSystems.set_time_series_container!-Tuple{RenewableFix, Any}","page":"RenewableFix","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::RenewableFix, val) -> Any\n\n\nSet RenewableFix time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_inverter/#DynamicInverter","page":"Dynamic Inverter","title":"DynamicInverter","text":"","category":"section"},{"location":"model_library/dynamic_inverter/","page":"Dynamic Inverter","title":"Dynamic Inverter","text":"Modules = [PowerSystems]\nPages = [\"dynamic_inverter.jl\"]\nOrder = [:type, :function]\nPublic = true","category":"page"},{"location":"model_library/dynamic_inverter/#PowerSystems.DynamicInverter","page":"Dynamic Inverter","title":"PowerSystems.DynamicInverter","text":"mutable struct DynamicInverter{\n C <: Converter,\n O <: OuterControl,\n IC <: InnerControl,\n DC <: DCSource,\n P <: FrequencyEstimator,\n F <: Filter,\n} <: DynamicInjection\n name::String\n ω_ref::Float64\n converter::C\n outer_control::O\n inner_control::IC\n dc_source::DC\n freq_estimator::P\n filter::F\n limiter::Union{nothing, InverterLimiter}\n base_power::Float64\n n_states::Int\n states::Vector{Symbol}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA dynamic inverter is composed by 6 components, namely a Converter, an Outer Control, an Inner Control, a DC Source, a Frequency Estimator and a Filter. It requires a Static Injection device that is attached to it.\n\nArguments\n\nname::String: Name of inverter.\nω_ref::Float64: Frequency reference set-point in pu.\nconverter <: Converter: Converter model for the PWM transformation.\nouter_control <: OuterControl: Outer-control controller model.\ninner_control <: InnerControl: Inner-control controller model.\ndc_source <: DCSource: DC Source model.\nfreq_estimator <: FrequencyEstimator: Frequency Estimator (typically a PLL) model.\nfilter <: Filter: Filter model.\nlimiter <: Union{nothing, InverterLimiter}: Inverter Inner Control Limiter model\nbase_power::Float64: Base power\nn_states::Int: Number of states (will depend on the components).\nstates::Vector{Symbol}: Vector of states (will depend on the components).\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AGC/#AGC","page":"AGC","title":"AGC","text":"","category":"section"},{"location":"model_library/generated_AGC/","page":"AGC","title":"AGC","text":"Modules = [PowerSystems]\nPages = [\"generated/AGC.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AGC/#PowerSystems.AGC","page":"AGC","title":"PowerSystems.AGC","text":"mutable struct AGC <: Service\n name::String\n available::Bool\n bias::Float64\n K_p::Float64\n K_i::Float64\n K_d::Float64\n delta_t::Float64\n area::Union{Nothing, Area}\n initial_ace::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nbias::Float64\nK_p::Float64: PID Proportional Constant\nK_i::Float64: PID Integral Constant\nK_d::Float64: PID Derrivative Constant\ndelta_t::Float64: PID Discretization period [Seconds]\narea::Union{Nothing, Area}: the area controlled by the AGC\ninitial_ace::Float64: PID Discretization period [Seconds]\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AGC/#InfrastructureSystems.get_name-Tuple{AGC}","page":"AGC","title":"InfrastructureSystems.get_name","text":"get_name(value::AGC) -> String\n\n\nGet AGC name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_K_d-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_K_d","text":"get_K_d(value::AGC) -> Float64\n\n\nGet AGC K_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_K_i-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_K_i","text":"get_K_i(value::AGC) -> Float64\n\n\nGet AGC K_i.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_K_p-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_K_p","text":"get_K_p(value::AGC) -> Float64\n\n\nGet AGC K_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_area-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_area","text":"get_area(value::AGC) -> Union{Nothing, Area}\n\n\nGet AGC area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_available-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_available","text":"get_available(value::AGC) -> Bool\n\n\nGet AGC available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_bias-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_bias","text":"get_bias(value::AGC) -> Float64\n\n\nGet AGC bias.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_delta_t-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_delta_t","text":"get_delta_t(value::AGC) -> Float64\n\n\nGet AGC delta_t.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_ext-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_ext","text":"get_ext(value::AGC) -> Dict{String, Any}\n\n\nGet AGC ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_initial_ace-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_initial_ace","text":"get_initial_ace(value::AGC) -> Float64\n\n\nGet AGC initial_ace.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_K_d!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_K_d!","text":"set_K_d!(value::AGC, val) -> Any\n\n\nSet AGC K_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_K_i!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_K_i!","text":"set_K_i!(value::AGC, val) -> Any\n\n\nSet AGC K_i.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_K_p!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_K_p!","text":"set_K_p!(value::AGC, val) -> Any\n\n\nSet AGC K_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_area!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_area!","text":"set_area!(value::AGC, val) -> Any\n\n\nSet AGC area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_available!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_available!","text":"set_available!(value::AGC, val) -> Any\n\n\nSet AGC available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_bias!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_bias!","text":"set_bias!(value::AGC, val) -> Any\n\n\nSet AGC bias.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_delta_t!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_delta_t!","text":"set_delta_t!(value::AGC, val) -> Any\n\n\nSet AGC delta_t.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_ext!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_ext!","text":"set_ext!(value::AGC, val) -> Any\n\n\nSet AGC ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_initial_ace!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_initial_ace!","text":"set_initial_ace!(value::AGC, val) -> Any\n\n\nSet AGC initial_ace.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#Transformer2W","page":"Transformer2W","title":"Transformer2W","text":"","category":"section"},{"location":"model_library/generated_Transformer2W/","page":"Transformer2W","title":"Transformer2W","text":"Modules = [PowerSystems]\nPages = [\"generated/Transformer2W.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Transformer2W/#PowerSystems.Transformer2W","page":"Transformer2W","title":"PowerSystems.Transformer2W","text":"mutable struct Transformer2W <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n reactive_power_flow::Float64\n arc::Arc\n r::Float64\n x::Float64\n primary_shunt::Float64\n rate::Union{Nothing, Float64}\n services::Vector{Service}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nThe 2-W transformer model uses an equivalent circuit assuming the impedance is on the High Voltage Side of the transformer. The model allocates the iron losses and magnetizing susceptance to the primary side.\n\nArguments\n\nname::String\navailable::Bool\nactive_power_flow::Float64\nreactive_power_flow::Float64\narc::Arc\nr::Float64: System per-unit value, validation range: (-2, 4), action if invalid: warn\nx::Float64: System per-unit value, validation range: (-2, 4), action if invalid: warn\nprimary_shunt::Float64: System per-unit value, validation range: (0, 2), action if invalid: warn\nrate::Union{Nothing, Float64}, validation range: (0, nothing), action if invalid: error\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Transformer2W/#InfrastructureSystems.get_name-Tuple{Transformer2W}","page":"Transformer2W","title":"InfrastructureSystems.get_name","text":"get_name(value::Transformer2W) -> String\n\n\nGet Transformer2W name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#InfrastructureSystems.get_time_series_container-Tuple{Transformer2W}","page":"Transformer2W","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::Transformer2W\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet Transformer2W time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_active_power_flow-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::Transformer2W) -> Any\n\n\nGet Transformer2W active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_arc-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_arc","text":"get_arc(value::Transformer2W) -> Arc\n\n\nGet Transformer2W arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_available-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_available","text":"get_available(value::Transformer2W) -> Bool\n\n\nGet Transformer2W available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_ext-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_ext","text":"get_ext(value::Transformer2W) -> Dict{String, Any}\n\n\nGet Transformer2W ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_primary_shunt-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_primary_shunt","text":"get_primary_shunt(value::Transformer2W) -> Float64\n\n\nGet Transformer2W primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_r-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_r","text":"get_r(value::Transformer2W) -> Float64\n\n\nGet Transformer2W r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_rate-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_rate","text":"get_rate(value::Transformer2W) -> Any\n\n\nGet Transformer2W rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_reactive_power_flow-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(value::Transformer2W) -> Any\n\n\nGet Transformer2W reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_services-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_services","text":"get_services(value::Transformer2W) -> Vector{Service}\n\n\nGet Transformer2W services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_x-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_x","text":"get_x(value::Transformer2W) -> Float64\n\n\nGet Transformer2W x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_active_power_flow!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_arc!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_arc!","text":"set_arc!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_available!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_available!","text":"set_available!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_ext!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_ext!","text":"set_ext!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_primary_shunt!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_primary_shunt!","text":"set_primary_shunt!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_r!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_r!","text":"set_r!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_rate!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_rate!","text":"set_rate!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_reactive_power_flow!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_services!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_services!","text":"set_services!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_time_series_container!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_x!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_x!","text":"set_x!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#HydroEnergyReservoir","page":"HydroEnergyReservoir","title":"HydroEnergyReservoir","text":"","category":"section"},{"location":"model_library/generated_HydroEnergyReservoir/","page":"HydroEnergyReservoir","title":"HydroEnergyReservoir","text":"Modules = [PowerSystems]\nPages = [\"generated/HydroEnergyReservoir.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.HydroEnergyReservoir","page":"HydroEnergyReservoir","title":"PowerSystems.HydroEnergyReservoir","text":"mutable struct HydroEnergyReservoir <: HydroGen\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n prime_mover_type::PrimeMovers\n active_power_limits::MinMax\n reactive_power_limits::Union{Nothing, MinMax}\n ramp_limits::Union{Nothing, UpDown}\n time_limits::Union{Nothing, UpDown}\n base_power::Float64\n storage_capacity::Float64\n inflow::Float64\n initial_storage::Float64\n operation_cost::OperationalCost\n storage_target::Float64\n conversion_factor::Float64\n time_at_status::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nactive_power::Float64\nreactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn\nrating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923\nactive_power_limits::MinMax\nreactive_power_limits::Union{Nothing, MinMax}, action if invalid: warn\nramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW (in component base per unit) per minute, validation range: (0, nothing), action if invalid: error\ntime_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing), action if invalid: error\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\nstorage_capacity::Float64: Maximum storage capacity in the reservoir (units can be p.u-hr or m^3)., validation range: (0, nothing), action if invalid: error\ninflow::Float64: Baseline inflow into the reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing), action if invalid: error\ninitial_storage::Float64: Initial storage capacity in the reservoir (units can be p.u-hr or m^3)., validation range: (0, nothing), action if invalid: error\noperation_cost::OperationalCost: Operation Cost of Generation OperationalCost\nstorage_target::Float64: Storage target at the end of simulation as ratio of storage capacity.\nconversion_factor::Float64: Conversion factor from flow/volume to energy: m^3 -> p.u-hr.\ntime_at_status::Float64\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_HydroEnergyReservoir/#InfrastructureSystems.get_name-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"InfrastructureSystems.get_name","text":"get_name(value::HydroEnergyReservoir) -> String\n\n\nGet HydroEnergyReservoir name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#InfrastructureSystems.get_time_series_container-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::HydroEnergyReservoir\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet HydroEnergyReservoir time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_active_power-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_active_power","text":"get_active_power(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_active_power_limits-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::HydroEnergyReservoir\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet HydroEnergyReservoir active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_available-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_available","text":"get_available(value::HydroEnergyReservoir) -> Bool\n\n\nGet HydroEnergyReservoir available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_base_power-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_base_power","text":"get_base_power(value::HydroEnergyReservoir) -> Float64\n\n\nGet HydroEnergyReservoir base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_bus-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_bus","text":"get_bus(value::HydroEnergyReservoir) -> ACBus\n\n\nGet HydroEnergyReservoir bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_conversion_factor-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_conversion_factor","text":"get_conversion_factor(\n value::HydroEnergyReservoir\n) -> Float64\n\n\nGet HydroEnergyReservoir conversion_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_dynamic_injector-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::HydroEnergyReservoir\n) -> Union{Nothing, DynamicInjection}\n\n\nGet HydroEnergyReservoir dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_ext-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_ext","text":"get_ext(value::HydroEnergyReservoir) -> Dict{String, Any}\n\n\nGet HydroEnergyReservoir ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_inflow-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_inflow","text":"get_inflow(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir inflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_initial_storage-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_initial_storage","text":"get_initial_storage(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir initial_storage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_operation_cost-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::HydroEnergyReservoir\n) -> PowerSystems.OperationalCost\n\n\nGet HydroEnergyReservoir operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_prime_mover_type-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(\n value::HydroEnergyReservoir\n) -> PrimeMovers\n\n\nGet HydroEnergyReservoir prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_ramp_limits-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_ramp_limits","text":"get_ramp_limits(\n value::HydroEnergyReservoir\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet HydroEnergyReservoir ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_rating-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_rating","text":"get_rating(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_reactive_power-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_reactive_power_limits-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::HydroEnergyReservoir\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HydroEnergyReservoir reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_services-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_services","text":"get_services(value::HydroEnergyReservoir) -> Vector{Service}\n\n\nGet HydroEnergyReservoir services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_storage_capacity-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_storage_capacity","text":"get_storage_capacity(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir storage_capacity.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_storage_target-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_storage_target","text":"get_storage_target(value::HydroEnergyReservoir) -> Float64\n\n\nGet HydroEnergyReservoir storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_time_at_status-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_time_at_status","text":"get_time_at_status(value::HydroEnergyReservoir) -> Float64\n\n\nGet HydroEnergyReservoir time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_time_limits-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_time_limits","text":"get_time_limits(\n value::HydroEnergyReservoir\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet HydroEnergyReservoir time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_active_power!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_active_power_limits!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_available!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_available!","text":"set_available!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_base_power!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_bus!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_bus!","text":"set_bus!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_conversion_factor!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_conversion_factor!","text":"set_conversion_factor!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir conversion_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_ext!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_ext!","text":"set_ext!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_inflow!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_inflow!","text":"set_inflow!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir inflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_initial_storage!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_initial_storage!","text":"set_initial_storage!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir initial_storage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_operation_cost!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_prime_mover_type!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_ramp_limits!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_ramp_limits!","text":"set_ramp_limits!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_rating!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_rating!","text":"set_rating!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_reactive_power!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_reactive_power_limits!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_services!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_services!","text":"set_services!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_storage_capacity!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_storage_capacity!","text":"set_storage_capacity!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir storage_capacity.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_storage_target!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_storage_target!","text":"set_storage_target!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_time_at_status!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_time_at_status!","text":"set_time_at_status!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_time_limits!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_time_limits!","text":"set_time_limits!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_time_series_container!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_generator/#DynamicGenerator","page":"Dynamic Generator","title":"DynamicGenerator","text":"","category":"section"},{"location":"model_library/dynamic_generator/","page":"Dynamic Generator","title":"Dynamic Generator","text":"Modules = [PowerSystems]\nPages = [\"dynamic_generator.jl\"]\nOrder = [:type, :function]\nPublic = true","category":"page"},{"location":"model_library/dynamic_generator/#PowerSystems.DynamicGenerator","page":"Dynamic Generator","title":"PowerSystems.DynamicGenerator","text":"mutable struct DynamicGenerator{\n M <: Machine,\n S <: Shaft,\n A <: AVR,\n TG <: TurbineGov,\n P <: PSS,\n} <: DynamicInjection\n name::String\n ω_ref::Float64\n machine::M\n shaft::S\n avr::A\n prime_mover::TG\n pss::P\n base_power::Float64\n n_states::Int\n states::Vector{Symbol}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA dynamic generator is composed by 5 components, namely a Machine, a Shaft, an Automatic Voltage Regulator (AVR), a Prime Mover (o Turbine Governor) and Power System Stabilizer (PSS). It requires a Static Injection device that is attached to it.\n\nArguments\n\nname::String: Name of generator.\nω_ref::Float64: Frequency reference set-point in pu.\nmachine <: Machine: Machine model for modeling the electro-magnetic phenomena.\nshaft <: Shaft: Shaft model for modeling the electro-mechanical phenomena.\navr <: AVR: AVR model of the excitacion system.\nprime_mover <: TurbineGov: Prime Mover and Turbine Governor model for mechanical power.\npss <: PSS: Power System Stabilizer model.\nbase_power::Float64: Base power\nn_states::Int: Number of states (will depend on the components).\nstates::Vector{Symbol}: Vector of states (will depend on the components).\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_RenewableDispatch/#RenewableDispatch","page":"RenewableDispatch","title":"RenewableDispatch","text":"","category":"section"},{"location":"model_library/generated_RenewableDispatch/","page":"RenewableDispatch","title":"RenewableDispatch","text":"Modules = [PowerSystems]\nPages = [\"generated/RenewableDispatch.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.RenewableDispatch","page":"RenewableDispatch","title":"PowerSystems.RenewableDispatch","text":"mutable struct RenewableDispatch <: RenewableGen\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n prime_mover_type::PrimeMovers\n reactive_power_limits::Union{Nothing, MinMax}\n power_factor::Float64\n operation_cost::TwoPartCost\n base_power::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nactive_power::Float64\nreactive_power::Float64\nrating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923\nreactive_power_limits::Union{Nothing, MinMax}\npower_factor::Float64, validation range: (0, 1), action if invalid: error\noperation_cost::TwoPartCost: Operation Cost of Generation TwoPartCost\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_RenewableDispatch/#InfrastructureSystems.get_name-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"InfrastructureSystems.get_name","text":"get_name(value::RenewableDispatch) -> String\n\n\nGet RenewableDispatch name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#InfrastructureSystems.get_time_series_container-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::RenewableDispatch\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet RenewableDispatch time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_active_power-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_active_power","text":"get_active_power(value::RenewableDispatch) -> Any\n\n\nGet RenewableDispatch active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_available-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_available","text":"get_available(value::RenewableDispatch) -> Bool\n\n\nGet RenewableDispatch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_base_power-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_base_power","text":"get_base_power(value::RenewableDispatch) -> Float64\n\n\nGet RenewableDispatch base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_bus-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_bus","text":"get_bus(value::RenewableDispatch) -> ACBus\n\n\nGet RenewableDispatch bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_dynamic_injector-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::RenewableDispatch\n) -> Union{Nothing, DynamicInjection}\n\n\nGet RenewableDispatch dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_ext-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_ext","text":"get_ext(value::RenewableDispatch) -> Dict{String, Any}\n\n\nGet RenewableDispatch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_operation_cost-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(value::RenewableDispatch) -> TwoPartCost\n\n\nGet RenewableDispatch operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_power_factor-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_power_factor","text":"get_power_factor(value::RenewableDispatch) -> Float64\n\n\nGet RenewableDispatch power_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_prime_mover_type-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(\n value::RenewableDispatch\n) -> PrimeMovers\n\n\nGet RenewableDispatch prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_rating-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_rating","text":"get_rating(value::RenewableDispatch) -> Any\n\n\nGet RenewableDispatch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_reactive_power-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::RenewableDispatch) -> Any\n\n\nGet RenewableDispatch reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_reactive_power_limits-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::RenewableDispatch\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet RenewableDispatch reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_services-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_services","text":"get_services(value::RenewableDispatch) -> Vector{Service}\n\n\nGet RenewableDispatch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_active_power!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_available!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_available!","text":"set_available!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_base_power!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_bus!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_bus!","text":"set_bus!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_ext!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_ext!","text":"set_ext!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_operation_cost!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_power_factor!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_power_factor!","text":"set_power_factor!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch power_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_prime_mover_type!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_rating!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_rating!","text":"set_rating!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_reactive_power!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_reactive_power_limits!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::RenewableDispatch,\n val\n) -> Any\n\n\nSet RenewableDispatch reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_services!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_services!","text":"set_services!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_time_series_container!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::RenewableDispatch,\n val\n) -> Any\n\n\nSet RenewableDispatch time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#TwoTerminalVSCDCLine","page":"TwoTerminalVSCDCLine","title":"TwoTerminalVSCDCLine","text":"","category":"section"},{"location":"model_library/generated_TwoTerminalVSCDCLine/","page":"TwoTerminalVSCDCLine","title":"TwoTerminalVSCDCLine","text":"Modules = [PowerSystems]\nPages = [\"generated/TwoTerminalVSCDCLine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.TwoTerminalVSCDCLine","page":"TwoTerminalVSCDCLine","title":"PowerSystems.TwoTerminalVSCDCLine","text":"mutable struct TwoTerminalVSCDCLine <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n arc::Arc\n rectifier_tap_limits::MinMax\n rectifier_xrc::Float64\n rectifier_firing_angle::MinMax\n inverter_tap_limits::MinMax\n inverter_xrc::Float64\n inverter_firing_angle::MinMax\n services::Vector{Service}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nAs implemented in Milano's Book, Page 397.\n\nArguments\n\nname::String\navailable::Bool\nactive_power_flow::Float64\narc::Arc\nrectifier_tap_limits::MinMax\nrectifier_xrc::Float64\nrectifier_firing_angle::MinMax\ninverter_tap_limits::MinMax\ninverter_xrc::Float64\ninverter_firing_angle::MinMax\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#InfrastructureSystems.get_name-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"InfrastructureSystems.get_name","text":"get_name(value::TwoTerminalVSCDCLine) -> String\n\n\nGet TwoTerminalVSCDCLine name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#InfrastructureSystems.get_time_series_container-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::TwoTerminalVSCDCLine\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet TwoTerminalVSCDCLine time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_active_power_flow-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::TwoTerminalVSCDCLine) -> Any\n\n\nGet TwoTerminalVSCDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_arc-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_arc","text":"get_arc(value::TwoTerminalVSCDCLine) -> Arc\n\n\nGet TwoTerminalVSCDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_available-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_available","text":"get_available(value::TwoTerminalVSCDCLine) -> Bool\n\n\nGet TwoTerminalVSCDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_ext-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_ext","text":"get_ext(value::TwoTerminalVSCDCLine) -> Dict{String, Any}\n\n\nGet TwoTerminalVSCDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_inverter_firing_angle-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_inverter_firing_angle","text":"get_inverter_firing_angle(\n value::TwoTerminalVSCDCLine\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TwoTerminalVSCDCLine inverter_firing_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_inverter_tap_limits-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_inverter_tap_limits","text":"get_inverter_tap_limits(\n value::TwoTerminalVSCDCLine\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TwoTerminalVSCDCLine inverter_tap_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_inverter_xrc-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_inverter_xrc","text":"get_inverter_xrc(value::TwoTerminalVSCDCLine) -> Float64\n\n\nGet TwoTerminalVSCDCLine inverter_xrc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_rectifier_firing_angle-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_rectifier_firing_angle","text":"get_rectifier_firing_angle(\n value::TwoTerminalVSCDCLine\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TwoTerminalVSCDCLine rectifier_firing_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_rectifier_tap_limits-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_rectifier_tap_limits","text":"get_rectifier_tap_limits(\n value::TwoTerminalVSCDCLine\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TwoTerminalVSCDCLine rectifier_tap_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_rectifier_xrc-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_rectifier_xrc","text":"get_rectifier_xrc(value::TwoTerminalVSCDCLine) -> Float64\n\n\nGet TwoTerminalVSCDCLine rectifier_xrc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_services-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_services","text":"get_services(value::TwoTerminalVSCDCLine) -> Vector{Service}\n\n\nGet TwoTerminalVSCDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_active_power_flow!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_arc!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_arc!","text":"set_arc!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_available!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_available!","text":"set_available!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_ext!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_ext!","text":"set_ext!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_inverter_firing_angle!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_inverter_firing_angle!","text":"set_inverter_firing_angle!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine inverter_firing_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_inverter_tap_limits!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_inverter_tap_limits!","text":"set_inverter_tap_limits!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine inverter_tap_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_inverter_xrc!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_inverter_xrc!","text":"set_inverter_xrc!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine inverter_xrc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_rectifier_firing_angle!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_rectifier_firing_angle!","text":"set_rectifier_firing_angle!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine rectifier_firing_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_rectifier_tap_limits!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_rectifier_tap_limits!","text":"set_rectifier_tap_limits!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine rectifier_tap_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_rectifier_xrc!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_rectifier_xrc!","text":"set_rectifier_xrc!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine rectifier_xrc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_services!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_services!","text":"set_services!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_time_series_container!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"modeler_guide/modeling_with_JuMP/#modeling_with_jump","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"","category":"section"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"This page shows a minimal example of PowerSystems.jl used to develop and Economic Dispatch model. The code shows the stages to develop modeling code","category":"page"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"Make the data set from power flow and time series data,\nSerialize the data,\nPass the data and algorithm to the model.","category":"page"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"One of the main uses of `PowerSystems.jl is not having re-run the data generation for every model execution. The model code shows an example of populating the constraints and cost functions using accessor functions inside the model function. The example concludes by reading the data created earlier and passing the algorithm with the data.","category":"page"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"using PowerSystems\nconst PSY = PowerSystems\nusing JuMP\nusing Ipopt\nusing PowerSystemCaseBuilder","category":"page"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"The first step is to load the test data used throughout the rest of these tutorials (or set DATA_DIR as appropriate if it already exists).","category":"page"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"system_data = build_system(PSISystems, \"c_sys5_pjm\")\n\nfunction ed_model(system::System, optimizer)\n ed_m = Model(optimizer)\n time_periods = 1:24\n thermal_gens_names = get_name.(get_components(ThermalStandard, system))\n @variable(ed_m, pg[g in thermal_gens_names, t in time_periods] >= 0)\n\n for g in get_components(ThermalStandard, system), t in time_periods\n name = get_name(g)\n @constraint(ed_m, pg[name, t] >= get_active_power_limits(g).min)\n @constraint(ed_m, pg[name, t] <= get_active_power_limits(g).max)\n end\n\n net_load = zeros(length(time_periods))\n for g in get_components(RenewableGen, system)\n net_load -= get_time_series_values(SingleTimeSeries, g, \"max_active_power\")[time_periods]\n end\n\n for g in get_components(StaticLoad, system)\n net_load += get_time_series_values(SingleTimeSeries, g, \"max_active_power\")[time_periods]\n end\n\n for t in time_periods\n @constraint(ed_m, sum(pg[g, t] for g in thermal_gens_names) == net_load[t])\n end\n\n @objective(ed_m, Min, sum(\n pg[get_name(g), t]^2*get_cost(get_variable(get_operation_cost(g)))[1] +\n pg[get_name(g), t]*get_cost(get_variable(get_operation_cost(g)))[2]\n for g in get_components(ThermalGen, system), t in time_periods\n )\n )\n optimize!(ed_m)\n return ed_m\nend\n\nresults = ed_model(system_data, Ipopt.Optimizer)","category":"page"},{"location":"modeler_guide/system_dynamic_data/#Creating-a-System-with-Dynamic-devices","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"You can access example data in the Power Systems Test Data Repository. Most of these systems are available to use using PowerSystemCaseBuilder.jl.","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"using PowerSystems\nconst PSY = PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\")","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Although PowerSystems.jl is not constrained to only PSS/e files, commonly the data available comes in a pair of files: One for the static data power flow case and a second one with the dynamic components information. However, PowerSystems.jl is able to take any power flow case and specify dynamic components to it.","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"The following describes the system creation for the one machine infinite bus case using custom component specifications.","category":"page"},{"location":"modeler_guide/system_dynamic_data/#One-Machine-Infinite-Bus-Example","page":"Creating a System with Dynamic devices","title":"One Machine Infinite Bus Example","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"First load data from any format (see Constructing a System from RAW data for details. In this example we will load a PTI power flow data format (.raw file) as follows:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"0, 100, 33, 0, 0, 60 / 24-Apr-2020 17:05:49 - MATPOWER 7.0.1-dev\n\n\n 101, 'BUS 1 ', 230, 3, 1, 1, 1, 1.05, 0, 1.06, 0.94, 1.06, 0.94\n 102, 'BUS 2 ', 230, 2, 1, 1, 1, 1.04, 0, 1.06, 0.94, 1.06, 0.94\n0 / END OF BUS DATA, BEGIN LOAD DATA\n0 / END OF LOAD DATA, BEGIN FIXED SHUNT DATA\n0 / END OF FIXED SHUNT DATA, BEGIN GENERATOR DATA\n 102, 1, 50, 0, 100, -100, 1.00, 0, 100, 0, 1, 0, 0, 1, 1, 100, 100, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n0 / END OF GENERATOR DATA, BEGIN BRANCH DATA\n 101, 102, 1, 0.00, 0.05, 0.000, 100, 100, 100, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n0 / END OF BRANCH DATA, BEGIN TRANSFORMER DATA\n0 / END OF TRANSFORMER DATA, BEGIN AREA DATA\n0 / END OF AREA DATA, BEGIN TWO-TERMINAL DC DATA\n0 / END OF TWO-TERMINAL DC DATA, BEGIN VOLTAGE SOURCE CONVERTER DATA\n0 / END OF VOLTAGE SOURCE CONVERTER DATA, BEGIN IMPEDANCE CORRECTION DATA\n0 / END OF IMPEDANCE CORRECTION DATA, BEGIN MULTI-TERMINAL DC DATA\n0 / END OF MULTI-TERMINAL DC DATA, BEGIN MULTI-SECTION LINE DATA\n0 / END OF MULTI-SECTION LINE DATA, BEGIN ZONE DATA\n0 / END OF ZONE DATA, BEGIN INTER-AREA TRANSFER DATA\n0 / END OF INTER-AREA TRANSFER DATA, BEGIN OWNER DATA\n0 / END OF OWNER DATA, BEGIN FACTS CONTROL DEVICE DATA\n0 / END OF FACTS CONTROL DEVICE DATA, BEGIN SWITCHED SHUNT DATA\n0 / END OF SWITCHED SHUNT DATA, BEGIN GNE DEVICE DATA\n0 / END OF GNE DEVICE DATA, BEGIN INDUCTION MACHINE DATA\n0 / END OF INDUCTION MACHINE DATA\nQ","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Based on the description provided in PTI files, this is a two-bus system, on which the bus 101 (bus 1) is the reference bus at 1.05 pu, and bus 102 (bus 2) is PV bus, to be set at 1.04 pu. There is one 100 MVA generator connected at bus 2, producing 50 MW. There is an equivalent line connecting buses 1 and 2 with a reactance of 005 pu.","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"We can load this data file first","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"omib_sys = System(joinpath(file_dir, \"OMIB.raw\"), runchecks = false)","category":"page"},{"location":"modeler_guide/system_dynamic_data/#Dynamic-Generator","page":"Creating a System with Dynamic devices","title":"Dynamic Generator","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"We are now interested in attaching to the system the dynamic component that will be modeling our dynamic generator. The data can be added by directly passing a .dyr file, but in this example we want to add custom dynamic data.","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Dynamic generator devices are composed by 5 components, namely, machine, shaft, avr, tg and pss (see DynamicGenerator). So we will be adding functions to create all of its components and the generator itself. The example code creates all the components for a DynamicGenerator based on specific models for its components. This result will be a classic machine model without AVR, Turbine Governor and PSS.","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"#Machine\nmachine_classic = BaseMachine(\n R = 0.0,\n Xd_p = 0.2995,\n eq_p = 0.7087,\n)\n\n#Shaft\nshaft_damping = SingleMass(\n H = 3.148,\n D = 2.0,\n)\n\n#AVR\navr_none = AVRFixed(Vf = 0.0)\n\n#TurbineGovernor\ntg_none = TGFixed(efficiency = 1.0)\n\n#PSS\npss_none = PSSFixed(V_pss = 0.0);","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Then we can collect all the dynamic components and create the dynamic generator and assign it to a static generator of choice. In this example we will add it to the generator \"generator-102-1\" as follows:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"#Collect the static gen in the system\nstatic_gen = get_component(Generator, omib_sys, \"generator-102-1\")\n#Creates the dynamic generator\ndyn_gen = DynamicGenerator(\n name = get_name(static_gen),\n ω_ref = 1.0,\n machine = machine_classic,\n shaft = shaft_damping,\n avr = avr_none,\n prime_mover = tg_none,\n pss = pss_none,\n )\n#Add the dynamic generator the system\nadd_component!(omib_sys, dyn_gen, static_gen)","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Once the data is created, we can export our system data such that it can be reloaded later:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"to_json(omib_sys, \"YOUR_DIR/omib_sys.json\")","category":"page"},{"location":"modeler_guide/system_dynamic_data/#Example-with-Dynamic-Inverter","page":"Creating a System with Dynamic devices","title":"Example with Dynamic Inverter","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"We will now create a three bus system with one inverter and one generator. In order to do so, we will parse the following file ThreebusInverter.raw:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"0, 100, 33, 0, 0, 60 / 24-Apr-2020 19:28:39 - MATPOWER 7.0.1-dev\n\n\n 101, 'BUS 1 ', 138, 3, 1, 1, 1, 1.02, 0, 1.1, 0.9, 1.1, 0.9\n 102, 'BUS 2 ', 138, 2, 1, 1, 1, 1.0142, 0, 1.1, 0.9, 1.1, 0.9\n 103, 'BUS 3 ', 138, 2, 1, 1, 1, 1.0059, 0, 1.1, 0.9, 1.1, 0.9\n0 / END OF BUS DATA, BEGIN LOAD DATA\n 101, 1, 1, 1, 1, 50, 10, 0, 0, 0, 0, 1, 1, 0\n 102, 1, 1, 1, 1, 100, 30, 0, 0, 0, 0, 1, 1, 0\n 103, 1, 1, 1, 1, 30, 10, 0, 0, 0, 0, 1, 1, 0\n0 / END OF LOAD DATA, BEGIN FIXED SHUNT DATA\n0 / END OF FIXED SHUNT DATA, BEGIN GENERATOR DATA\n 102, 1, 70, 0, 100, -100, 1.0142, 0, 100, 0, 1, 0, 0, 1, 1, 100, 318, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n 103, 1, 80, 0, 100, -100, 1.0059, 0, 100, 0, 1, 0, 0, 1, 1, 100, 318, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n0 / END OF GENERATOR DATA, BEGIN BRANCH DATA\n 101, 103, 1, 0.01000, 0.12, 0.2, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n 101, 102, 1, 0.01000, 0.12, 0.2, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n 102, 103, 1, 0.02000, 0.9, 1.0, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n0 / END OF BRANCH DATA, BEGIN TRANSFORMER DATA\n0 / END OF TRANSFORMER DATA, BEGIN AREA DATA\n0 / END OF AREA DATA, BEGIN TWO-TERMINAL DC DATA\n0 / END OF TWO-TERMINAL DC DATA, BEGIN VOLTAGE SOURCE CONVERTER DATA\n0 / END OF VOLTAGE SOURCE CONVERTER DATA, BEGIN IMPEDANCE CORRECTION DATA\n0 / END OF IMPEDANCE CORRECTION DATA, BEGIN MULTI-TERMINAL DC DATA\n0 / END OF MULTI-TERMINAL DC DATA, BEGIN MULTI-SECTION LINE DATA\n0 / END OF MULTI-SECTION LINE DATA, BEGIN ZONE DATA\n0 / END OF ZONE DATA, BEGIN INTER-AREA TRANSFER DATA\n0 / END OF INTER-AREA TRANSFER DATA, BEGIN OWNER DATA\n0 / END OF OWNER DATA, BEGIN FACTS CONTROL DEVICE DATA\n0 / END OF FACTS CONTROL DEVICE DATA, BEGIN SWITCHED SHUNT DATA\n0 / END OF SWITCHED SHUNT DATA, BEGIN GNE DEVICE DATA\n0 / END OF GNE DEVICE DATA, BEGIN INDUCTION MACHINE DATA\n0 / END OF INDUCTION MACHINE DATA\nQ","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"That describes a three bus connected system, with generators connected at bus 2 and 3, and loads in three buses. We can load the system and attach an infinite source on the reference bus:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"threebus_sys = System(joinpath(file_dir, \"ThreeBusInverter.raw\"), runchecks = false)","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"We will connect a OneDOneQMachine machine at bus 102, and a Virtual Synchronous Generator Inverter at bus 103. An inverter is composed by a converter, outer control, inner control, dc source, frequency estimator and a filter (see DynamicInverter).","category":"page"},{"location":"modeler_guide/system_dynamic_data/#Dynamic-Inverter-definition","page":"Creating a System with Dynamic devices","title":"Dynamic Inverter definition","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"We will create specific components of the inverter as follows:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"#Define converter as an AverageConverter\nconverter_high_power = AverageConverter(rated_voltage = 138.0, rated_current = 100.0)\n\n#Define Outer Control as a composition of Virtual Inertia + Reactive Power Droop\nouter_cont = OuterControl(\n active_power_control = VirtualInertia(Ta = 2.0, kd = 400.0, kω = 20.0),\n reactive_power_control = ReactivePowerDroop(kq = 0.2, ωf = 1000.0),\n)\n\n#Define an Inner Control as a Voltage+Current Controler with Virtual Impedance:\ninner_cont = VoltageModeControl(\n kpv = 0.59, #Voltage controller proportional gain\n kiv = 736.0, #Voltage controller integral gain\n kffv = 0.0, #Binary variable enabling the voltage feed-forward in output of current controllers\n rv = 0.0, #Virtual resistance in pu\n lv = 0.2, #Virtual inductance in pu\n kpc = 1.27, #Current controller proportional gain\n kic = 14.3, #Current controller integral gain\n kffi = 0.0, #Binary variable enabling the current feed-forward in output of current controllers\n ωad = 50.0, #Active damping low pass filter cut-off frequency\n kad = 0.2, #Active damping gain\n)\n\n#Define DC Source as a FixedSource:\ndc_source_lv = FixedDCSource(voltage = 600.0)\n\n#Define a Frequency Estimator as a PLL based on Vikram Kaura and Vladimir Blaskoc 1997 paper:\npll = KauraPLL(\n ω_lp = 500.0, #Cut-off frequency for LowPass filter of PLL filter.\n kp_pll = 0.084, #PLL proportional gain\n ki_pll = 4.69, #PLL integral gain\n)\n\n#Define an LCL filter:\nfilt = LCLFilter(lf = 0.08, rf = 0.003, cf = 0.074, lg = 0.2, rg = 0.01)","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Similarly we will construct a dynamic generator as follows:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"#Create the machine\nmachine_oneDoneQ = OneDOneQMachine(\n R = 0.0,\n Xd = 1.3125,\n Xq = 1.2578,\n Xd_p = 0.1813,\n Xq_p = 0.25,\n Td0_p = 5.89,\n Tq0_p = 0.6,\n)\n\n#Shaft\nshaft_no_damping = SingleMass(\n H = 3.01,\n D = 0.0,\n)\n\n#AVR: Type I: Resembles a DC1 AVR\navr_type1 = AVRTypeI(\n Ka = 20.0,\n Ke = 0.01,\n Kf = 0.063,\n Ta = 0.2,\n Te = 0.314,\n Tf = 0.35,\n Tr = 0.001,\n Va_lim = (min = -5.0, max = 5.0),\n Ae = 0.0039, #1st ceiling coefficient\n Be = 1.555, #2nd ceiling coefficient\n)\n\n#No TG\ntg_none = TGFixed(efficiency = 1.0)\n\n#No PSS\npss_none = PSSFixed(V_pss = 0.0);","category":"page"},{"location":"modeler_guide/system_dynamic_data/#Add-the-components-to-the-System","page":"Creating a System with Dynamic devices","title":"Add the components to the System","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"for g in get_components(Generator, threebus_sys)\n #Find the generator at bus 102\n if get_number(get_bus(g)) == 102\n #Create the dynamic generator\n case_gen = DynamicGenerator(\n name = get_name(g),\n ω_ref = 1.0,\n machine = machine_oneDoneQ,\n shaft = shaft_no_damping,\n avr = avr_type1,\n prime_mover = tg_none,\n pss = pss_none,\n )\n #Attach the dynamic generator to the system\n add_component!(threebus_sys, case_gen, g)\n #Find the generator at bus 103\n elseif get_number(get_bus(g)) == 103\n #Create the dynamic inverter\n case_inv = DynamicInverter(\n name = get_name(g),\n ω_ref = 1.0,\n converter = converter_high_power,\n outer_control = outer_cont,\n inner_control = inner_cont,\n dc_source = dc_source_lv,\n freq_estimator = pll,\n filter = filt,\n )\n #Attach the dynamic inverter to the system\n add_component!(threebus_sys, case_inv, g)\n end\nend\n\n# We can check that the system has the Dynamic Inverter and Generator\nthreebus_sys","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Finally we can seraliaze the system data for later reloading","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"to_json(threebus_sys, \"YOUR_DIR/threebus_sys.json\")","category":"page"},{"location":"tutorials/add_forecasts/#Add-time-series-to-System","page":"Add Forecasts","title":"Add time series to System","text":"","category":"section"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"tutorials/add_forecasts/#Introduction","page":"Add Forecasts","title":"Introduction","text":"","category":"section"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"An example of how to parse add time series data to a System using PowerSystems.jl","category":"page"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"For example, a System created by parsing a MATPOWER file doesn't contain any time series data. So a user may want to add time series to the System.","category":"page"},{"location":"tutorials/add_forecasts/#Dependencies","page":"Add Forecasts","title":"Dependencies","text":"","category":"section"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"Let's use the 5-bus dataset we parsed in the MATPOWER example","category":"page"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"using PowerSystems\nusing JSON3\n\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\"); #hide\nsys = System(joinpath(file_dir, \"case5_re.m\"))","category":"page"},{"location":"tutorials/add_forecasts/#Define-pointers-to-time-series-files","page":"Add Forecasts","title":"Define pointers to time series files","text":"","category":"section"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"For example, if we want to add a bunch of time series files, say one for each load and one for each renewable generator, we need to define pointers to each .csv file containing the time series in the following format (PowerSystems.jl also supports a CSV format for this file). We will use Artifacts for the following data.","category":"page"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"using PowerSystemCaseBuilder #hide\nDATA_DIR = PowerSystemCaseBuilder.DATA_DIR #hide\nFORECASTS_DIR = joinpath(DATA_DIR, \"5-Bus\", \"5bus_ts\"); #hide\nfname = joinpath(FORECASTS_DIR, \"timeseries_pointers_da.json\")\nopen(fname, \"r\") do f\n JSON3.@pretty JSON3.read(f)\nend","category":"page"},{"location":"tutorials/add_forecasts/#Read-and-assign-time-series-to-System-using-these-parameters.","page":"Add Forecasts","title":"Read and assign time series to System using these parameters.","text":"","category":"section"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"add_time_series!(sys, fname)\nsys","category":"page"},{"location":"model_library/generated_Source/#Source","page":"Source","title":"Source","text":"","category":"section"},{"location":"model_library/generated_Source/","page":"Source","title":"Source","text":"Modules = [PowerSystems]\nPages = [\"generated/Source.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Source/#PowerSystems.Source","page":"Source","title":"PowerSystems.Source","text":"mutable struct Source <: StaticInjection\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n R_th::Float64\n X_th::Float64\n internal_voltage::Float64\n internal_angle::Float64\n dynamic_injector::Union{Nothing, DynamicInjection}\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nThis struct acts as an infinity bus.\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nactive_power::Float64\nreactive_power::Float64\nR_th::Float64: Source Thevenin resistance, validation range: (0, nothing)\nX_th::Float64: Source Thevenin reactance, validation range: (0, nothing)\ninternal_voltage::Float64: Internal Voltage, validation range: (0, nothing)\ninternal_angle::Float64: Internal Angle\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Source/#InfrastructureSystems.get_name-Tuple{Source}","page":"Source","title":"InfrastructureSystems.get_name","text":"get_name(value::Source) -> String\n\n\nGet Source name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_R_th-Tuple{Source}","page":"Source","title":"PowerSystems.get_R_th","text":"get_R_th(value::Source) -> Float64\n\n\nGet Source R_th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_X_th-Tuple{Source}","page":"Source","title":"PowerSystems.get_X_th","text":"get_X_th(value::Source) -> Float64\n\n\nGet Source X_th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_active_power-Tuple{Source}","page":"Source","title":"PowerSystems.get_active_power","text":"get_active_power(value::Source) -> Float64\n\n\nGet Source active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_available-Tuple{Source}","page":"Source","title":"PowerSystems.get_available","text":"get_available(value::Source) -> Bool\n\n\nGet Source available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_bus-Tuple{Source}","page":"Source","title":"PowerSystems.get_bus","text":"get_bus(value::Source) -> ACBus\n\n\nGet Source bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_dynamic_injector-Tuple{Source}","page":"Source","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::Source\n) -> Union{Nothing, DynamicInjection}\n\n\nGet Source dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_ext-Tuple{Source}","page":"Source","title":"PowerSystems.get_ext","text":"get_ext(value::Source) -> Dict{String, Any}\n\n\nGet Source ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_internal_angle-Tuple{Source}","page":"Source","title":"PowerSystems.get_internal_angle","text":"get_internal_angle(value::Source) -> Float64\n\n\nGet Source internal_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_internal_voltage-Tuple{Source}","page":"Source","title":"PowerSystems.get_internal_voltage","text":"get_internal_voltage(value::Source) -> Float64\n\n\nGet Source internal_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_reactive_power-Tuple{Source}","page":"Source","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::Source) -> Float64\n\n\nGet Source reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_services-Tuple{Source}","page":"Source","title":"PowerSystems.get_services","text":"get_services(value::Source) -> Vector{Service}\n\n\nGet Source services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_R_th!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_R_th!","text":"set_R_th!(value::Source, val) -> Any\n\n\nSet Source R_th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_X_th!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_X_th!","text":"set_X_th!(value::Source, val) -> Any\n\n\nSet Source X_th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_active_power!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::Source, val) -> Any\n\n\nSet Source active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_available!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_available!","text":"set_available!(value::Source, val) -> Any\n\n\nSet Source available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_bus!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_bus!","text":"set_bus!(value::Source, val) -> Any\n\n\nSet Source bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_ext!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_ext!","text":"set_ext!(value::Source, val) -> Any\n\n\nSet Source ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_internal_angle!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_internal_angle!","text":"set_internal_angle!(value::Source, val) -> Any\n\n\nSet Source internal_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_internal_voltage!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_internal_voltage!","text":"set_internal_voltage!(value::Source, val) -> Any\n\n\nSet Source internal_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_reactive_power!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::Source, val) -> Any\n\n\nSet Source reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_services!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_services!","text":"set_services!(value::Source, val) -> Any\n\n\nSet Source services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#FixedAdmittance","page":"FixedAdmittance","title":"FixedAdmittance","text":"","category":"section"},{"location":"model_library/generated_FixedAdmittance/","page":"FixedAdmittance","title":"FixedAdmittance","text":"Modules = [PowerSystems]\nPages = [\"generated/FixedAdmittance.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.FixedAdmittance","page":"FixedAdmittance","title":"PowerSystems.FixedAdmittance","text":"mutable struct FixedAdmittance <: ElectricLoad\n name::String\n available::Bool\n bus::ACBus\n Y::Complex{Float64}\n dynamic_injector::Union{Nothing, DynamicInjection}\n services::Vector{Service}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nY::Complex{Float64}: System per-unit value\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection model for admittance\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_FixedAdmittance/#InfrastructureSystems.get_name-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"InfrastructureSystems.get_name","text":"get_name(value::FixedAdmittance) -> String\n\n\nGet FixedAdmittance name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#InfrastructureSystems.get_time_series_container-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::FixedAdmittance\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet FixedAdmittance time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_Y-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_Y","text":"get_Y(value::FixedAdmittance) -> ComplexF64\n\n\nGet FixedAdmittance Y.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_available-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_available","text":"get_available(value::FixedAdmittance) -> Bool\n\n\nGet FixedAdmittance available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_bus-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_bus","text":"get_bus(value::FixedAdmittance) -> ACBus\n\n\nGet FixedAdmittance bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_dynamic_injector-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::FixedAdmittance\n) -> Union{Nothing, DynamicInjection}\n\n\nGet FixedAdmittance dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_ext-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_ext","text":"get_ext(value::FixedAdmittance) -> Dict{String, Any}\n\n\nGet FixedAdmittance ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_services-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_services","text":"get_services(value::FixedAdmittance) -> Vector{Service}\n\n\nGet FixedAdmittance services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_Y!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_Y!","text":"set_Y!(value::FixedAdmittance, val) -> Any\n\n\nSet FixedAdmittance Y.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_available!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_available!","text":"set_available!(value::FixedAdmittance, val) -> Any\n\n\nSet FixedAdmittance available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_bus!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_bus!","text":"set_bus!(value::FixedAdmittance, val) -> Any\n\n\nSet FixedAdmittance bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_ext!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_ext!","text":"set_ext!(value::FixedAdmittance, val) -> Any\n\n\nSet FixedAdmittance ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_services!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_services!","text":"set_services!(value::FixedAdmittance, val) -> Any\n\n\nSet FixedAdmittance services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_time_series_container!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::FixedAdmittance,\n val\n) -> Any\n\n\nSet FixedAdmittance time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#InterconnectingConverter","page":"InterconnectingConverter","title":"InterconnectingConverter","text":"","category":"section"},{"location":"model_library/generated_InterconnectingConverter/","page":"InterconnectingConverter","title":"InterconnectingConverter","text":"Modules = [PowerSystems]\nPages = [\"generated/InterconnectingConverter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.InterconnectingConverter","page":"InterconnectingConverter","title":"PowerSystems.InterconnectingConverter","text":"mutable struct InterconnectingConverter <: StaticInjection\n name::String\n available::Bool\n bus::ACBus\n dc_bus::DCBus\n active_power::Float64\n rating::Float64\n active_power_limits::MinMax\n base_power::Float64\n operation_cost::OperationalCost\n efficiency::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nInterconnecting Power Converter (IPC) for transforming power from an ACBus to a DCBus\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\ndc_bus::DCBus\nactive_power::Float64: Active Power on the DCSide, validation range: active_power_limits, action if invalid: warn\nrating::Float64: Thermal limited MVA Power Output of the converter. <= Capacity, validation range: (0, nothing), action if invalid: error\nactive_power_limits::MinMax\nbase_power::Float64: Base power of the converter in MVA, validation range: (0, nothing), action if invalid: warn\noperation_cost::OperationalCost: Operation Cost of Generation OperationalCost\nefficiency::Float64: Conversion efficiency from AC Power to DC Power\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InterconnectingConverter/#InfrastructureSystems.get_name-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"InfrastructureSystems.get_name","text":"get_name(value::InterconnectingConverter) -> String\n\n\nGet InterconnectingConverter name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#InfrastructureSystems.get_time_series_container-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::InterconnectingConverter\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet InterconnectingConverter time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_active_power-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_active_power","text":"get_active_power(value::InterconnectingConverter) -> Any\n\n\nGet InterconnectingConverter active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_active_power_limits-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::InterconnectingConverter\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet InterconnectingConverter active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_available-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_available","text":"get_available(value::InterconnectingConverter) -> Bool\n\n\nGet InterconnectingConverter available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_base_power-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_base_power","text":"get_base_power(value::InterconnectingConverter) -> Float64\n\n\nGet InterconnectingConverter base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_bus-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_bus","text":"get_bus(value::InterconnectingConverter) -> ACBus\n\n\nGet InterconnectingConverter bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_dc_bus-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_dc_bus","text":"get_dc_bus(value::InterconnectingConverter) -> DCBus\n\n\nGet InterconnectingConverter dc_bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_dynamic_injector-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::InterconnectingConverter\n) -> Union{Nothing, DynamicInjection}\n\n\nGet InterconnectingConverter dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_efficiency-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_efficiency","text":"get_efficiency(value::InterconnectingConverter) -> Float64\n\n\nGet InterconnectingConverter efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_ext-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_ext","text":"get_ext(\n value::InterconnectingConverter\n) -> Dict{String, Any}\n\n\nGet InterconnectingConverter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_operation_cost-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::InterconnectingConverter\n) -> PowerSystems.OperationalCost\n\n\nGet InterconnectingConverter operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_rating-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_rating","text":"get_rating(value::InterconnectingConverter) -> Any\n\n\nGet InterconnectingConverter rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_services-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_services","text":"get_services(\n value::InterconnectingConverter\n) -> Vector{Service}\n\n\nGet InterconnectingConverter services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_active_power!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_active_power!","text":"set_active_power!(\n value::InterconnectingConverter,\n val\n) -> Any\n\n\nSet InterconnectingConverter active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_active_power_limits!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(\n value::InterconnectingConverter,\n val\n) -> Any\n\n\nSet InterconnectingConverter active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_available!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_available!","text":"set_available!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_base_power!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_bus!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_bus!","text":"set_bus!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_dc_bus!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_dc_bus!","text":"set_dc_bus!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter dc_bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_efficiency!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_efficiency!","text":"set_efficiency!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_ext!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_ext!","text":"set_ext!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_operation_cost!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(\n value::InterconnectingConverter,\n val\n) -> Any\n\n\nSet InterconnectingConverter operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_rating!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_rating!","text":"set_rating!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_services!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_services!","text":"set_services!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_time_series_container!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::InterconnectingConverter,\n val\n) -> Any\n\n\nSet InterconnectingConverter time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#TModelHVDCLine","page":"TModelHVDCLine","title":"TModelHVDCLine","text":"","category":"section"},{"location":"model_library/generated_TModelHVDCLine/","page":"TModelHVDCLine","title":"TModelHVDCLine","text":"Modules = [PowerSystems]\nPages = [\"generated/TModelHVDCLine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.TModelHVDCLine","page":"TModelHVDCLine","title":"PowerSystems.TModelHVDCLine","text":"mutable struct TModelHVDCLine <: DCBranch\n name::String\n available::Bool\n active_power_flow::Float64\n arc::Arc\n r::Float64\n l::Float64\n c::Float64\n active_power_limits_from::MinMax\n active_power_limits_to::MinMax\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\na HVDC T-Model DC line.\n\nArguments\n\nname::String\navailable::Bool\nactive_power_flow::Float64\narc::Arc\nr::Float64: Series Resistance system per-unit value\nl::Float64: Series Inductance system per-unit value\nc::Float64: Shunt capacitance system per-unit value\nactive_power_limits_from::MinMax\nactive_power_limits_to::MinMax\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TModelHVDCLine/#InfrastructureSystems.get_name-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"InfrastructureSystems.get_name","text":"get_name(value::TModelHVDCLine) -> String\n\n\nGet TModelHVDCLine name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_active_power_flow-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::TModelHVDCLine) -> Any\n\n\nGet TModelHVDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_active_power_limits_from-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_active_power_limits_from","text":"get_active_power_limits_from(\n value::TModelHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TModelHVDCLine active_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_active_power_limits_to-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_active_power_limits_to","text":"get_active_power_limits_to(\n value::TModelHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TModelHVDCLine active_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_arc-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_arc","text":"get_arc(value::TModelHVDCLine) -> Arc\n\n\nGet TModelHVDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_available-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_available","text":"get_available(value::TModelHVDCLine) -> Bool\n\n\nGet TModelHVDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_c-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_c","text":"get_c(value::TModelHVDCLine) -> Float64\n\n\nGet TModelHVDCLine c.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_ext-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_ext","text":"get_ext(value::TModelHVDCLine) -> Dict{String, Any}\n\n\nGet TModelHVDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_l-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_l","text":"get_l(value::TModelHVDCLine) -> Float64\n\n\nGet TModelHVDCLine l.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_r-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_r","text":"get_r(value::TModelHVDCLine) -> Float64\n\n\nGet TModelHVDCLine r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_services-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_services","text":"get_services(value::TModelHVDCLine) -> Vector{Service}\n\n\nGet TModelHVDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_active_power_flow!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_active_power_limits_from!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_active_power_limits_from!","text":"set_active_power_limits_from!(\n value::TModelHVDCLine,\n val\n) -> Any\n\n\nSet TModelHVDCLine active_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_active_power_limits_to!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_active_power_limits_to!","text":"set_active_power_limits_to!(\n value::TModelHVDCLine,\n val\n) -> Any\n\n\nSet TModelHVDCLine active_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_arc!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_arc!","text":"set_arc!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_available!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_available!","text":"set_available!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_c!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_c!","text":"set_c!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine c.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_ext!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_ext!","text":"set_ext!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_l!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_l!","text":"set_l!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine l.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_r!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_r!","text":"set_r!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_services!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_services!","text":"set_services!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#GenericBattery","page":"GenericBattery","title":"GenericBattery","text":"","category":"section"},{"location":"model_library/generated_GenericBattery/","page":"GenericBattery","title":"GenericBattery","text":"Modules = [PowerSystems]\nPages = [\"generated/GenericBattery.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_GenericBattery/#PowerSystems.GenericBattery","page":"GenericBattery","title":"PowerSystems.GenericBattery","text":"mutable struct GenericBattery <: Storage\n name::String\n available::Bool\n bus::ACBus\n prime_mover_type::PrimeMovers\n initial_energy::Float64\n state_of_charge_limits::MinMax\n rating::Float64\n active_power::Float64\n input_active_power_limits::MinMax\n output_active_power_limits::MinMax\n efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}\n reactive_power::Float64\n reactive_power_limits::Union{Nothing, MinMax}\n base_power::Float64\n operation_cost::Union{StorageManagementCost, MarketBidCost}\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData structure for a generic battery\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923\ninitial_energy::Float64: State of Charge of the Battery p.u.-hr, validation range: (0, nothing), action if invalid: error\nstate_of_charge_limits::MinMax: Maximum and Minimum storage capacity in p.u.-hr, validation range: (0, nothing), action if invalid: error\nrating::Float64\nactive_power::Float64\ninput_active_power_limits::MinMax, validation range: (0, nothing), action if invalid: error\noutput_active_power_limits::MinMax, validation range: (0, nothing), action if invalid: error\nefficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}, validation range: (0, 1), action if invalid: warn\nreactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn\nreactive_power_limits::Union{Nothing, MinMax}\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\noperation_cost::Union{StorageManagementCost, MarketBidCost}\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_GenericBattery/#InfrastructureSystems.get_name-Tuple{GenericBattery}","page":"GenericBattery","title":"InfrastructureSystems.get_name","text":"get_name(value::GenericBattery) -> String\n\n\nGet GenericBattery name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#InfrastructureSystems.get_time_series_container-Tuple{GenericBattery}","page":"GenericBattery","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::GenericBattery\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet GenericBattery time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_active_power-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_active_power","text":"get_active_power(value::GenericBattery) -> Any\n\n\nGet GenericBattery active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_available-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_available","text":"get_available(value::GenericBattery) -> Bool\n\n\nGet GenericBattery available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_base_power-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_base_power","text":"get_base_power(value::GenericBattery) -> Float64\n\n\nGet GenericBattery base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_bus-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_bus","text":"get_bus(value::GenericBattery) -> ACBus\n\n\nGet GenericBattery bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_dynamic_injector-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::GenericBattery\n) -> Union{Nothing, DynamicInjection}\n\n\nGet GenericBattery dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_efficiency-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_efficiency","text":"get_efficiency(\n value::GenericBattery\n) -> @NamedTuple{in::Float64, out::Float64}\n\n\nGet GenericBattery efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_ext-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_ext","text":"get_ext(value::GenericBattery) -> Dict{String, Any}\n\n\nGet GenericBattery ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_initial_energy-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_initial_energy","text":"get_initial_energy(value::GenericBattery) -> Any\n\n\nGet GenericBattery initial_energy.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_input_active_power_limits-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_input_active_power_limits","text":"get_input_active_power_limits(\n value::GenericBattery\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet GenericBattery input_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_operation_cost-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::GenericBattery\n) -> Union{MarketBidCost, StorageManagementCost}\n\n\nGet GenericBattery operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_output_active_power_limits-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_output_active_power_limits","text":"get_output_active_power_limits(\n value::GenericBattery\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet GenericBattery output_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_prime_mover_type-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(value::GenericBattery) -> PrimeMovers\n\n\nGet GenericBattery prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_rating-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_rating","text":"get_rating(value::GenericBattery) -> Any\n\n\nGet GenericBattery rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_reactive_power-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::GenericBattery) -> Any\n\n\nGet GenericBattery reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_reactive_power_limits-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::GenericBattery\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet GenericBattery reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_services-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_services","text":"get_services(value::GenericBattery) -> Vector{Service}\n\n\nGet GenericBattery services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.get_state_of_charge_limits-Tuple{GenericBattery}","page":"GenericBattery","title":"PowerSystems.get_state_of_charge_limits","text":"get_state_of_charge_limits(\n value::GenericBattery\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet GenericBattery state_of_charge_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_active_power!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_available!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_available!","text":"set_available!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_base_power!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_bus!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_bus!","text":"set_bus!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_efficiency!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_efficiency!","text":"set_efficiency!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_ext!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_ext!","text":"set_ext!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_initial_energy!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_initial_energy!","text":"set_initial_energy!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery initial_energy.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_input_active_power_limits!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_input_active_power_limits!","text":"set_input_active_power_limits!(\n value::GenericBattery,\n val\n) -> Any\n\n\nSet GenericBattery input_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_operation_cost!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_output_active_power_limits!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_output_active_power_limits!","text":"set_output_active_power_limits!(\n value::GenericBattery,\n val\n) -> Any\n\n\nSet GenericBattery output_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_prime_mover_type!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_rating!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_rating!","text":"set_rating!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_reactive_power!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_reactive_power_limits!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::GenericBattery,\n val\n) -> Any\n\n\nSet GenericBattery reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_services!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_services!","text":"set_services!(value::GenericBattery, val) -> Any\n\n\nSet GenericBattery services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_state_of_charge_limits!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_state_of_charge_limits!","text":"set_state_of_charge_limits!(\n value::GenericBattery,\n val\n) -> Any\n\n\nSet GenericBattery state_of_charge_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_GenericBattery/#PowerSystems.set_time_series_container!-Tuple{GenericBattery, Any}","page":"GenericBattery","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::GenericBattery,\n val\n) -> Any\n\n\nSet GenericBattery time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"modeler_guide/example_dynamic_data/#Dynamic-Devices","page":"Dynamic Devices","title":"Dynamic Devices","text":"","category":"section"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"Each sub-type is composed of the corresponding dynamic components that define the model. As a result, it is possible to flexibly define dynamic data models and methods according to the analysis requirements. DynamicInjection components use parametric a parametric type pattern to materialize the full specification of the dynamic injection model with parameters. This design enable the use of parametric methods to specify the mathematical model of the dynamic components separately.","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"DynamicInjection components also implement some additional information useful for the modeling like the usual states assumed by the model and the number. These values are derived from the documentation associated with the model, for instance PSS/e models provide parameters, states and variables. Although PowerSystems.jl doesn't assume a specific mathematical model for the components, the default values for these parameters are derived directly from the data model source.","category":"page"},{"location":"modeler_guide/example_dynamic_data/#Dynamic-Generator","page":"Dynamic Devices","title":"Dynamic Generator","text":"","category":"section"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"Each generator is a data structure that is defined by the following components:","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"Machine: That defines the stator electro-magnetic dynamics.\nShaft: That describes the rotor electro-mechanical dynamics.\nAutomatic Voltage Regulator: Electromotive dynamics to model an AVR controller.\nPower System Stabilizer: Control dynamics to define an stabilization signal for the AVR.\nPrime Mover and Turbine Governor: Thermo-mechanical dynamics and associated controllers.","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"Each inverter is a data structure that is defined by the following components:","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"DC Source: Defines the dynamics of the DC side of the converter.\nFrequency Estimator: That describes how the frequency of the grid can be estimated using the grid voltages. Typically a phase-locked loop (PLL).\nOuter Loop Control: That describes the active and reactive power control dynamics.\nInner Loop Control: That can describe virtual impedance, voltage control and current control dynamics.\nConverter: That describes the dynamics of the pulse width modulation (PWM) or space vector modulation (SVM).\nFilter: Used to connect the converter output to the grid.","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"⠀","category":"page"},{"location":"tutorials/parse_tabular_data/#Parsing-Tabular-Data","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"tutorials/parse_tabular_data/#Introduction","page":"Parsing Tabular Data","title":"Introduction","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"An example of how to parse tabular files (CSV) files similar to the format established in the RTS-GMLC and create a System using PowerSystems.jl","category":"page"},{"location":"tutorials/parse_tabular_data/#Dependencies","page":"Parsing Tabular Data","title":"Dependencies","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"using PowerSystems\nusing TimeSeries\nusing Dates","category":"page"},{"location":"tutorials/parse_tabular_data/#Fetch-Data","page":"Parsing Tabular Data","title":"Fetch Data","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"PowerSystems.jl links to some test data that is suitable for this example. Let's get the test data using Artifacts. You can find the repository of the data of the GMLC system here:","category":"page"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"using PowerSystemCaseBuilder #hide\nDATA_DIR = PowerSystemCaseBuilder.DATA_DIR #hide\n# include download methods\nRTS_GMLC_DIR = joinpath(DATA_DIR, \"RTS_GMLC\")","category":"page"},{"location":"tutorials/parse_tabular_data/#The-tabular-data-format-relies-on-a-folder-containing-*.csv-files-and-a-user_descriptors.yaml-file","page":"Parsing Tabular Data","title":"The tabular data format relies on a folder containing *.csv files and a user_descriptors.yaml file","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"First, we'll read the tabular data","category":"page"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"rawsys = PowerSystems.PowerSystemTableData(\n RTS_GMLC_DIR,\n 100.0,\n joinpath(RTS_GMLC_DIR, \"user_descriptors.yaml\"),\n timeseries_metadata_file = joinpath(RTS_GMLC_DIR, \"timeseries_pointers.json\"),\n generator_mapping_file = joinpath(RTS_GMLC_DIR, \"generator_mapping_multi_start.yaml\"),\n)","category":"page"},{"location":"tutorials/parse_tabular_data/#Create-a-System","page":"Parsing Tabular Data","title":"Create a System","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"Next, we'll create a System from the rawsys data. Since a System is predicated on a time series resolution and the rawsys data includes both 5-minute and 1-hour resolution time series, we also need to specify which time series we want to include in the System. The time_series_resolution kwarg filters to only include time series with a matching resolution.","category":"page"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"sys = System(rawsys; time_series_resolution = Dates.Hour(1));\nhorizon = 24;\ninterval = Dates.Hour(24);\ntransform_single_time_series!(sys, horizon, interval);\nsys","category":"page"},{"location":"modeler_guide/type_structure/#type_structure","page":"Type Structure","title":"Type Structure","text":"","category":"section"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"The abstract hierarchy enables categorization of the devices by their operational characteristics and modeling requirements.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"For instance, generation is classified by the distinctive data requirements for modeling in three categories: ThermalGen, RenewableGen, and HydroGen.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"As a result of this design, developers can define model logic entirely based on abstract types and create generic code to support modeling technologies that are not yet implemented in the package.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"PowerSystems.jl has a category Topology of topological components (e.g., ACBus, Arc), separate from the physical components.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"The hierarchy also includes components absent in standard data models, such as services. The services category includes reserves, transfers and AGC. The power of PowerSystems.jl lies in providing the abstraction without an implicit mathematical representation of the component.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"In this tutorial you can find a more detailed introduction to the type system and how to manipulate data.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"⠀","category":"page"},{"location":"model_library/generated_AVR/#AVR","page":"AVR","title":"AVR","text":"","category":"section"},{"location":"model_library/generated_AVR/#AVRFixed","page":"AVR","title":"AVRFixed","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/AVRFixed.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.AVRFixed","page":"AVR","title":"PowerSystems.AVRFixed","text":"mutable struct AVRFixed <: AVR\n Vf::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a AVR that returns a fixed voltage to the rotor winding\n\nArguments\n\nVf::Float64: Fixed voltage field applied to the rotor winding, validation range: (0, nothing)\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: Fixed AVR has no states\nn_states::Int: Fixed AVR has no states\nstates_types::Vector{StateTypes}: Fixed AVR has no states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::AVRFixed) -> Float64\n\n\nGet AVRFixed V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vf-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_Vf","text":"get_Vf(value::AVRFixed) -> Float64\n\n\nGet AVRFixed Vf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::AVRFixed) -> Dict{String, Any}\n\n\nGet AVRFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::AVRFixed) -> Int64\n\n\nGet AVRFixed n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::AVRFixed) -> Vector{Symbol}\n\n\nGet AVRFixed states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::AVRFixed) -> Vector{StateTypes}\n\n\nGet AVRFixed states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{AVRFixed, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::AVRFixed, val) -> Any\n\n\nSet AVRFixed V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vf!-Tuple{AVRFixed, Any}","page":"AVR","title":"PowerSystems.set_Vf!","text":"set_Vf!(value::AVRFixed, val) -> Any\n\n\nSet AVRFixed Vf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{AVRFixed, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::AVRFixed, val) -> Any\n\n\nSet AVRFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{AVRFixed, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::AVRFixed, val) -> Any\n\n\nSet AVRFixed states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#AVRSimple","page":"AVR","title":"AVRSimple","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/AVRSimple.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.AVRSimple","page":"AVR","title":"PowerSystems.AVRSimple","text":"mutable struct AVRSimple <: AVR\n Kv::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a simple proportional AVR in the derivative of EMF i.e. an integrator controller on EMF\n\nArguments\n\nKv::Float64: Proportional Gain, validation range: (0, nothing)\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVf: field voltage\n\nn_states::Int: Fixed AVR has 1 states\nstates_types::Vector{StateTypes}: Simple AVR has 1 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kv-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_Kv","text":"get_Kv(value::AVRSimple) -> Float64\n\n\nGet AVRSimple Kv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::AVRSimple) -> Float64\n\n\nGet AVRSimple V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::AVRSimple) -> Dict{String, Any}\n\n\nGet AVRSimple ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::AVRSimple) -> Int64\n\n\nGet AVRSimple n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::AVRSimple) -> Vector{Symbol}\n\n\nGet AVRSimple states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::AVRSimple) -> Vector{StateTypes}\n\n\nGet AVRSimple states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kv!-Tuple{AVRSimple, Any}","page":"AVR","title":"PowerSystems.set_Kv!","text":"set_Kv!(value::AVRSimple, val) -> Any\n\n\nSet AVRSimple Kv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{AVRSimple, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::AVRSimple, val) -> Any\n\n\nSet AVRSimple V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{AVRSimple, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::AVRSimple, val) -> Any\n\n\nSet AVRSimple ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{AVRSimple, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::AVRSimple, val) -> Any\n\n\nSet AVRSimple states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#AVRTypeI","page":"AVR","title":"AVRTypeI","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/AVRTypeI.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.AVRTypeI","page":"AVR","title":"PowerSystems.AVRTypeI","text":"mutable struct AVRTypeI <: AVR\n Ka::Float64\n Ke::Float64\n Kf::Float64\n Ta::Float64\n Te::Float64\n Tf::Float64\n Tr::Float64\n Va_lim::MinMax\n Ae::Float64\n Be::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of an Automatic Voltage Regulator Type I - Resembles IEEE Type DC1\n\nArguments\n\nKa::Float64: Amplifier Gain, validation range: (0, nothing)\nKe::Float64: Field circuit integral deviation, validation range: (0, nothing)\nKf::Float64: Stabilizer Gain in s * pu/pu, validation range: (0, nothing)\nTa::Float64: Amplifier Time Constant in s, validation range: (0, nothing)\nTe::Float64: Field Circuit Time Constant in s, validation range: (0, nothing)\nTf::Float64: Stabilizer Time Constant in s, validation range: (0, nothing)\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing)\nVa_lim::MinMax: Limits for pi controler (Va_min, Va_max)\nAe::Float64: 1st ceiling coefficient, validation range: (0, nothing)\nBe::Float64: 2nd ceiling coefficient, validation range: (0, nothing)\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVf: Voltage field,\nVr1: Amplifier State,\nVr2: Stabilizing Feedback State,\nVm: Measured voltage\n\nn_states::Int: The AVR Type I has 4 states\nstates_types::Vector{StateTypes}: AVR Type I has 4 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ae-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Ae","text":"get_Ae(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Ae.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Be-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Be","text":"get_Be(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Be.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::AVRTypeI\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet AVRTypeI Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::AVRTypeI) -> Dict{String, Any}\n\n\nGet AVRTypeI ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::AVRTypeI) -> Int64\n\n\nGet AVRTypeI n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::AVRTypeI) -> Vector{Symbol}\n\n\nGet AVRTypeI states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::AVRTypeI) -> Vector{StateTypes}\n\n\nGet AVRTypeI states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ae!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Ae!","text":"set_Ae!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Ae.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Be!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Be!","text":"set_Be!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Be.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#AVRTypeII","page":"AVR","title":"AVRTypeII","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/AVRTypeII.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.AVRTypeII","page":"AVR","title":"PowerSystems.AVRTypeII","text":"mutable struct AVRTypeII <: AVR\n K0::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n T4::Float64\n Te::Float64\n Tr::Float64\n Va_lim::MinMax\n Ae::Float64\n Be::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of an Automatic Voltage Regulator Type II - Typical static exciter model\n\nArguments\n\nK0::Float64: Regulator Gain, validation range: (0, nothing)\nT1::Float64: First Pole in s, validation range: (0, nothing)\nT2::Float64: First zero in s, validation range: (0, nothing)\nT3::Float64: First Pole in s, validation range: (0, nothing)\nT4::Float64: First zero in s, validation range: (0, nothing)\nTe::Float64: Field Circuit Time Constant in s, validation range: (0, nothing)\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing)\nVa_lim::MinMax: Limits for pi controler (Va_min, Va_max)\nAe::Float64: 1st ceiling coefficient, validation range: (0, nothing)\nBe::Float64: 2nd ceiling coefficient, validation range: (0, nothing)\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVf: Voltage field,\nVr1: First Lead-Lag state,\nVr2: Second lead-lag state,\nVm: Measured voltage\n\nn_states::Int: AVR Type II has 4 states\nstates_types::Vector{StateTypes}: AVR Type II has 4 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ae-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_Ae","text":"get_Ae(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII Ae.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Be-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_Be","text":"get_Be(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII Be.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K0-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_K0","text":"get_K0(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII K0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_T1-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_T1","text":"get_T1(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_T2-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_T2","text":"get_T2(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_T3-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_T3","text":"get_T3(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_T4-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_T4","text":"get_T4(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::AVRTypeII\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet AVRTypeII Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::AVRTypeII) -> Dict{String, Any}\n\n\nGet AVRTypeII ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::AVRTypeII) -> Int64\n\n\nGet AVRTypeII n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::AVRTypeII) -> Vector{Symbol}\n\n\nGet AVRTypeII states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::AVRTypeII) -> Vector{StateTypes}\n\n\nGet AVRTypeII states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ae!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_Ae!","text":"set_Ae!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII Ae.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Be!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_Be!","text":"set_Be!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII Be.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K0!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_K0!","text":"set_K0!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII K0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_T1!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_T1!","text":"set_T1!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_T2!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_T2!","text":"set_T2!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_T3!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_T3!","text":"set_T3!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_T4!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_T4!","text":"set_T4!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESAC1A","page":"AVR","title":"ESAC1A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESAC1A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESAC1A","page":"AVR","title":"PowerSystems.ESAC1A","text":"mutable struct ESAC1A <: AVR\n Tr::Float64\n Tb::Float64\n Tc::Float64\n Ka::Float64\n Ta::Float64\n Va_lim::MinMax\n Te::Float64\n Kf::Float64\n Tf::Float64\n Kc::Float64\n Kd::Float64\n Ke::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n Vr_lim::MinMax\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nThis excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A Excitacion System. This model corresponds to ESAC1A in PSSE and PSLF\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn\nTb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20), action if invalid: warn\nTc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20), action if invalid: warn\nKa::Float64: Regulator output gain, validation range: (0, 1000), action if invalid: warn\nTa::Float64: Regulator output time constant in s, validation range: (0, 10)\nVa_lim::MinMax: Limits for regulator output (Va_min, Va_max)\nTe::Float64: Exciter field time constant in s, validation range: (eps(), 2), action if invalid: error\nKf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3), action if invalid: warn\nTf::Float64: Rate feedback time constant, validation range: (eps(), 1.5), action if invalid: error\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1), action if invalid: warn\nKd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1), action if invalid: warn\nKe::Float64: Exciter field proportional constant, validation range: (0, 1), action if invalid: warn\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nVr_lim::MinMax: Limits for exciter field voltage: (Vr_min, Vr_max)\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(x) = B(x - A)^2/x\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVm: Sensed terminal voltage,\nVr1: Lead-lag state,\nVr2: Regulator output state,\nVe: Integrator output state,\nVr3: Feedback output state\n\nn_states::Int: ESAC1A has 5 states\nstates_types::Vector{StateTypes}: ESAC1A has 5 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::ESAC1A) -> Tuple{Float64, Float64}\n\n\nGet ESAC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::ESAC1A) -> Tuple{Float64, Float64}\n\n\nGet ESAC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESAC1A) -> Float64\n\n\nGet ESAC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::ESAC1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESAC1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESAC1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESAC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESAC1A) -> Dict{String, Any}\n\n\nGet ESAC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESAC1A) -> Int64\n\n\nGet ESAC1A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::ESAC1A\n) -> Tuple{Float64, Float64}\n\n\nGet ESAC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESAC1A) -> Vector{Symbol}\n\n\nGet ESAC1A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESAC1A) -> Vector{StateTypes}\n\n\nGet ESAC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESAC6A","page":"AVR","title":"ESAC6A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESAC6A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESAC6A","page":"AVR","title":"PowerSystems.ESAC6A","text":"mutable struct ESAC6A <: AVR\n Tr::Float64\n Ka::Float64\n Ta::Float64\n Tk::Float64\n Tb::Float64\n Tc::Float64\n Va_lim::MinMax\n Vr_lim::MinMax\n Te::Float64\n VFE_lim::Float64\n Kh::Float64\n VH_max::Float64\n Th::Float64\n Tj::Float64\n Kc::Float64\n Kd::Float64\n Ke::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nModified AC6A. Used to represent field-controlled alternator-rectifier excitation systems with system-supplied electronic voltage regulators. Parameters of IEEE Std 421.5 Type AC6A Excitacion System. ESAC6A in PSSE and PSLF.\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn\nKa::Float64: Regulator output gain, validation range: (0, 1000), action if invalid: warn\nTa::Float64: Regulator output lag time constant in s, validation range: (0, 10), action if invalid: warn\nTk::Float64: Voltage Regulator lead time constant, validation range: (0, 10), action if invalid: warn\nTb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20), action if invalid: warn\nTc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20), action if invalid: warn\nVa_lim::MinMax: Limits for regulator output (Va_min, Va_max)\nVr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)\nTe::Float64: Exciter field time constant, validation range: (eps(), 2), action if invalid: error\nVFE_lim::Float64: Exciter field current limiter reference, validation range: (-5, 20), action if invalid: warn\nKh::Float64: Exciter field current regulator feedback gain, validation range: (0, 100), action if invalid: warn\nVH_max::Float64: Exciter field current limiter maximum output, validation range: (0, 100), action if invalid: warn\nTh::Float64: Exciter field current limiter denominator (lag) time constant, validation range: (0, 1)\nTj::Float64: Exciter field current limiter numerator (lead) time constant, validation range: (0, 1), action if invalid: warn\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)\nKd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 2), action if invalid: warn\nKe::Float64: Exciter field proportional constant, validation range: (0, 2), action if invalid: warn\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVm: Sensed terminal voltage,\nVr1: Lead-lag state,\nVr2: Regulator output state,\nVe: Integrator output state,\nVr3: Feedback output state\n\nn_states::Int: ESAC6A has 5 states\nstates_types::Vector{StateTypes}: ESAC6A has 5 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::ESAC6A) -> Tuple{Float64, Float64}\n\n\nGet ESAC6A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kh-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Kh","text":"get_Kh(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Kh.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::ESAC6A) -> Tuple{Float64, Float64}\n\n\nGet ESAC6A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Th-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Th","text":"get_Th(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tj-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Tj","text":"get_Tj(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Tj.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tk-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Tk","text":"get_Tk(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Tk.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_VFE_lim-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_VFE_lim","text":"get_VFE_lim(value::ESAC6A) -> Float64\n\n\nGet ESAC6A VFE_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_VH_max-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_VH_max","text":"get_VH_max(value::ESAC6A) -> Float64\n\n\nGet ESAC6A VH_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESAC6A) -> Float64\n\n\nGet ESAC6A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::ESAC6A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESAC6A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESAC6A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESAC6A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESAC6A) -> Dict{String, Any}\n\n\nGet ESAC6A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESAC6A) -> Int64\n\n\nGet ESAC6A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::ESAC6A\n) -> Tuple{Float64, Float64}\n\n\nGet ESAC6A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESAC6A) -> Vector{Symbol}\n\n\nGet ESAC6A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESAC6A) -> Vector{StateTypes}\n\n\nGet ESAC6A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kh!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Kh!","text":"set_Kh!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Kh.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Th!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Th!","text":"set_Th!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tj!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Tj!","text":"set_Tj!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Tj.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tk!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Tk!","text":"set_Tk!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Tk.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_VFE_lim!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_VFE_lim!","text":"set_VFE_lim!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A VFE_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_VH_max!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_VH_max!","text":"set_VH_max!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A VH_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESDC1A","page":"AVR","title":"ESDC1A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESDC1A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESDC1A","page":"AVR","title":"PowerSystems.ESDC1A","text":"mutable struct ESDC1A <: AVR\n Tr::Float64\n Ka::Float64\n Ta::Float64\n Tb::Float64\n Tc::Float64\n Vr_lim::MinMax\n Ke::Float64\n Te::Float64\n Kf::Float64\n Tf::Float64\n switch::Int\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nSelf-excited shunt fields with the voltage regulator operating in a mode commonly termed buck-boost. Parameters of IEEE Std 421.5 Type DC1A Excitacion System. This model corresponds to ESDC1A in PSSE and PSLF\n\nArguments\n\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5), action if invalid: warn\nKa::Float64: Amplifier Gain, validation range: (10, 500), action if invalid: warn\nTa::Float64: Amplifier Time Constant in s, validation range: (0, 1), action if invalid: warn\nTb::Float64: Regulator input Time Constant in s, validation range: (0, nothing), action if invalid: warn\nTc::Float64: Regulator input Time Constant in s, validation range: (0, nothing), action if invalid: warn\nVr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)\nKe::Float64: Exciter constant related to self-excited field, validation range: (0, nothing)\nTe::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 1), action if invalid: error\nKf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3), action if invalid: error\nTf::Float64: Excitation control system stabilizer time constant, validation range: (eps(), nothing), action if invalid: error\nswitch::Int: Switch, validation range: (0, 1), action if invalid: error\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVt: Terminal Voltage,\nVr1: input lead lag,\nVr2: Regulator Output,\nVf: Exciter Output, \nVr3: Rate feedback integrator\n\nn_states::Int: The ESDC1A has 5 states\nstates_types::Vector{StateTypes}: ESDC1A has 5 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::ESDC1A) -> Tuple{Float64, Float64}\n\n\nGet ESDC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::ESDC1A) -> Tuple{Float64, Float64}\n\n\nGet ESDC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESDC1A) -> Float64\n\n\nGet ESDC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESDC1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESDC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESDC1A) -> Dict{String, Any}\n\n\nGet ESDC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESDC1A) -> Int64\n\n\nGet ESDC1A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::ESDC1A\n) -> Tuple{Float64, Float64}\n\n\nGet ESDC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESDC1A) -> Vector{Symbol}\n\n\nGet ESDC1A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESDC1A) -> Vector{StateTypes}\n\n\nGet ESDC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_switch-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_switch","text":"get_switch(value::ESDC1A) -> Int64\n\n\nGet ESDC1A switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_switch!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_switch!","text":"set_switch!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESDC2A","page":"AVR","title":"ESDC2A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESDC2A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESDC2A","page":"AVR","title":"PowerSystems.ESDC2A","text":"mutable struct ESDC2A <: AVR\n Tr::Float64\n Ka::Float64\n Ta::Float64\n Tb::Float64\n Tc::Float64\n Vr_lim::MinMax\n Ke::Float64\n Te::Float64\n Kf::Float64\n Tf::Float64\n switch::Int\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIs used to represent field-controlled dc commutator exciters with continuously acting voltage regulators having power supplies derived from the generator or auxiliaries bus. Parameters of IEEE Std 421.5 Type DC2A Excitacion System. This model corresponds to ESDC2A in PSSE and PSLF\n\nArguments\n\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5), action if invalid: warn\nKa::Float64: Amplifier Gain, validation range: (10, 500), action if invalid: warn\nTa::Float64: Amplifier Time Constant in s, validation range: (0, 1), action if invalid: warn\nTb::Float64: Regulator input Time Constant in s, validation range: (0, nothing), action if invalid: warn\nTc::Float64: Regulator input Time Constant in s, validation range: (0, nothing), action if invalid: warn\nVr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)\nKe::Float64: Exciter constant related to self-excited field, validation range: (-1, 1), action if invalid: warn\nTe::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 2), action if invalid: error\nKf::Float64: Excitation control system stabilizer gain, validation range: (0, 0.3), action if invalid: warn\nTf::Float64: Excitation control system stabilizer time constant. Appropiate Data: 5.0 <= Tf/Kf <= 15.0, validation range: (eps(), 1.5), action if invalid: error\nswitch::Int: Switch, validation range: (0, 1), action if invalid: error\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVt: Terminal Voltage,\nVr1: input lead lag,\nVr2: Regulator Output,\nVf: Exciter Output, \nVr3: Rate feedback integrator\n\nn_states::Int: The ESDC2A has 5 states\nstates_types::Vector{StateTypes}: ESDC2A has 5 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::ESDC2A) -> Tuple{Float64, Float64}\n\n\nGet ESDC2A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::ESDC2A) -> Tuple{Float64, Float64}\n\n\nGet ESDC2A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESDC2A) -> Float64\n\n\nGet ESDC2A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESDC2A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESDC2A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESDC2A) -> Dict{String, Any}\n\n\nGet ESDC2A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESDC2A) -> Int64\n\n\nGet ESDC2A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::ESDC2A\n) -> Tuple{Float64, Float64}\n\n\nGet ESDC2A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESDC2A) -> Vector{Symbol}\n\n\nGet ESDC2A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESDC2A) -> Vector{StateTypes}\n\n\nGet ESDC2A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_switch-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_switch","text":"get_switch(value::ESDC2A) -> Int64\n\n\nGet ESDC2A switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_switch!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_switch!","text":"set_switch!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESST1A","page":"AVR","title":"ESST1A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESST1A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESST1A","page":"AVR","title":"PowerSystems.ESST1A","text":"mutable struct ESST1A <: AVR\n UEL_flags::Int\n PSS_flags::Int\n Tr::Float64\n Vi_lim::Tuple{Float64, Float64}\n Tc::Float64\n Tb::Float64\n Tc1::Float64\n Tb1::Float64\n Ka::Float64\n Ta::Float64\n Va_lim::MinMax\n Vr_lim::MinMax\n Kc::Float64\n Kf::Float64\n Tf::Float64\n K_lr::Float64\n I_lr::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nThis excitation system supplies power through a transformer from the generator terminals and its regulated by a controlled rectifier (via thyristors). Parameters of IEEE Std 421.5 Type ST1A Excitacion System. ESST1A in PSSE and PSLF\n\nArguments\n\nUEL_flags::Int: Code input for Underexcitization limiter (UEL) entry. Not supported., validation range: (1, 3), action if invalid: warn\nPSS_flags::Int: Code input for Power System Stabilizer (PSS) or (VOS) entry., validation range: (1, 2)\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.1), action if invalid: warn\nVi_lim::Tuple{Float64, Float64}: Voltage error limits (regulator input) (Vimin, Vimax)\nTc::Float64: First regulator denominator (lead) time constant in s, validation range: (0, 10), action if invalid: warn\nTb::Float64: First regulator denominator (lag) time constant in s, validation range: (0, 20)\nTc1::Float64: Second regulator denominator (lead) time constant in s, validation range: (0, 10), action if invalid: warn\nTb1::Float64: Second regulator denominator (lead) time constant in s, validation range: (0, 20), action if invalid: warn\nKa::Float64: Voltage regulator gain, validation range: (50, 1000), action if invalid: warn\nTa::Float64: Voltage regulator time constant in s, validation range: (0, 0.5), action if invalid: warn\nVa_lim::MinMax: Limits for regulator output (Va_min, Va_max)\nVr_lim::MinMax: Limits for exciter output (Vr_min, Vr_max)\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 0.3), action if invalid: warn\nKf::Float64: Rate feedback gain, validation range: (0, 0.3), action if invalid: warn\nTf::Float64: Rate feedback time constant in s, validation range: (eps(), 1.5), action if invalid: error\nK_lr::Float64: Exciter output current limiter gain, validation range: (0, 5), action if invalid: warn\nI_lr::Float64: Exciter output current limit reference, validation range: (0, 5), action if invalid: warn\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVm: Sensed terminal voltage,\nVr1: First Lead-lag state,\nVr2: Second lead-lag state,\nVa: Regulator output state,\nVr3: Feedback output state\n\nn_states::Int: ST1A has 5 states\nstates_types::Vector{StateTypes}: ST1A has 5 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_I_lr-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_I_lr","text":"get_I_lr(value::ESST1A) -> Float64\n\n\nGet ESST1A I_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_lr-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_K_lr","text":"get_K_lr(value::ESST1A) -> Float64\n\n\nGet ESST1A K_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESST1A) -> Float64\n\n\nGet ESST1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::ESST1A) -> Float64\n\n\nGet ESST1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::ESST1A) -> Float64\n\n\nGet ESST1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_PSS_flags-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_PSS_flags","text":"get_PSS_flags(value::ESST1A) -> Int64\n\n\nGet ESST1A PSS_flags.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESST1A) -> Float64\n\n\nGet ESST1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::ESST1A) -> Float64\n\n\nGet ESST1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb1-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tb1","text":"get_Tb1(value::ESST1A) -> Float64\n\n\nGet ESST1A Tb1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::ESST1A) -> Float64\n\n\nGet ESST1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc1-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tc1","text":"get_Tc1(value::ESST1A) -> Float64\n\n\nGet ESST1A Tc1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::ESST1A) -> Float64\n\n\nGet ESST1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESST1A) -> Float64\n\n\nGet ESST1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_UEL_flags-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_UEL_flags","text":"get_UEL_flags(value::ESST1A) -> Int64\n\n\nGet ESST1A UEL_flags.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESST1A) -> Float64\n\n\nGet ESST1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::ESST1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESST1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vi_lim-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Vi_lim","text":"get_Vi_lim(value::ESST1A) -> Tuple{Float64, Float64}\n\n\nGet ESST1A Vi_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESST1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESST1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESST1A) -> Dict{String, Any}\n\n\nGet ESST1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESST1A) -> Int64\n\n\nGet ESST1A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESST1A) -> Vector{Symbol}\n\n\nGet ESST1A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESST1A) -> Vector{StateTypes}\n\n\nGet ESST1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_I_lr!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_I_lr!","text":"set_I_lr!(value::ESST1A, val) -> Any\n\n\nSet ESST1A I_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_lr!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_K_lr!","text":"set_K_lr!(value::ESST1A, val) -> Any\n\n\nSet ESST1A K_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_PSS_flags!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_PSS_flags!","text":"set_PSS_flags!(value::ESST1A, val) -> Any\n\n\nSet ESST1A PSS_flags.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb1!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tb1!","text":"set_Tb1!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tb1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc1!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tc1!","text":"set_Tc1!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tc1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_UEL_flags!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_UEL_flags!","text":"set_UEL_flags!(value::ESST1A, val) -> Any\n\n\nSet ESST1A UEL_flags.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESST1A, val) -> Any\n\n\nSet ESST1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vi_lim!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Vi_lim!","text":"set_Vi_lim!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Vi_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESST1A, val) -> Any\n\n\nSet ESST1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESST1A, val) -> Any\n\n\nSet ESST1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESST4B","page":"AVR","title":"ESST4B","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESST4B.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESST4B","page":"AVR","title":"PowerSystems.ESST4B","text":"mutable struct ESST4B <: AVR\n Tr::Float64\n K_pr::Float64\n K_ir::Float64\n Vr_lim::MinMax\n Ta::Float64\n K_pm::Float64\n K_im::Float64\n Vm_lim::MinMax\n Kg::Float64\n Kp::Float64\n Ki::Float64\n VB_max::Float64\n Kc::Float64\n Xl::Float64\n θp::Float64\n V_ref::Float64\n θp_rad::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIn these excitation systems, voltage (and also current in compounded systems) is transformed to an appropriate level. Rectifiers, either controlled or non-controlled, provide the necessary direct current for the generator field. Parameters of IEEE Std 421.5 Type ST4B Excitacion System. ESST4B in PSSE and PSLF\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn\nK_pr::Float64: Regulator propotional gain, validation range: (0, 75), action if invalid: warn\nK_ir::Float64: Regulator integral gain, validation range: (0, 75), action if invalid: warn\nVr_lim::MinMax: Voltage regulator limits (Vimin, Vimax)\nTa::Float64: Voltage regulator time constant in s, validation range: (0, 1), action if invalid: warn\nK_pm::Float64: Voltage regulator proportional gain output, validation range: (0, 1.2), action if invalid: warn\nK_im::Float64: Voltage regulator integral gain output, validation range: (0, 18), action if invalid: warn\nVm_lim::MinMax: Limits for inner loop output (Vm_min, Vm_max)\nKg::Float64: Feedback gain constant of the inner loop field regulator, validation range: (0, 1.1), action if invalid: warn\nKp::Float64: Potential circuit (voltage) gain coefficient, validation range: (0, 10), action if invalid: warn\nKi::Float64: Compound circuit (current) gain coefficient, validation range: (0, 1.1), action if invalid: warn\nVB_max::Float64: Maximum available exciter voltage, validation range: (1, 20), action if invalid: warn\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1), action if invalid: warn\nXl::Float64: Reactance associated with potential source, validation range: (0, 0.5), action if invalid: warn\nθp::Float64: Potential circuit phase angle (degrees), validation range: (-90, 90), action if invalid: error\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\nθp_rad::Float64: Potential circuit phase angle (radians)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVm: Sensed terminal voltage,\nVt: Sensed Terminal Voltage,\nVr1: Regulator Integrator,\nVr2: Regulator Output,\nVm: Output integrator\n\nn_states::Int: ST4B has 4 states\nstates_types::Vector{StateTypes}: ST4B has 4 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_im-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_K_im","text":"get_K_im(value::ESST4B) -> Float64\n\n\nGet ESST4B K_im.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_ir-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_K_ir","text":"get_K_ir(value::ESST4B) -> Float64\n\n\nGet ESST4B K_ir.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_pm-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_K_pm","text":"get_K_pm(value::ESST4B) -> Float64\n\n\nGet ESST4B K_pm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_pr-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_K_pr","text":"get_K_pr(value::ESST4B) -> Float64\n\n\nGet ESST4B K_pr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::ESST4B) -> Float64\n\n\nGet ESST4B Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kg-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Kg","text":"get_Kg(value::ESST4B) -> Float64\n\n\nGet ESST4B Kg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ki-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Ki","text":"get_Ki(value::ESST4B) -> Float64\n\n\nGet ESST4B Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kp-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Kp","text":"get_Kp(value::ESST4B) -> Float64\n\n\nGet ESST4B Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESST4B) -> Float64\n\n\nGet ESST4B Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESST4B) -> Float64\n\n\nGet ESST4B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_VB_max-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_VB_max","text":"get_VB_max(value::ESST4B) -> Float64\n\n\nGet ESST4B VB_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESST4B) -> Float64\n\n\nGet ESST4B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vm_lim-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Vm_lim","text":"get_Vm_lim(\n value::ESST4B\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESST4B Vm_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESST4B\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESST4B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Xl-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Xl","text":"get_Xl(value::ESST4B) -> Float64\n\n\nGet ESST4B Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESST4B) -> Dict{String, Any}\n\n\nGet ESST4B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESST4B) -> Int64\n\n\nGet ESST4B n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESST4B) -> Vector{Symbol}\n\n\nGet ESST4B states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESST4B) -> Vector{StateTypes}\n\n\nGet ESST4B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_θp-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_θp","text":"get_θp(value::ESST4B) -> Float64\n\n\nGet ESST4B θp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_θp_rad-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_θp_rad","text":"get_θp_rad(value::ESST4B) -> Float64\n\n\nGet ESST4B θp_rad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_im!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_K_im!","text":"set_K_im!(value::ESST4B, val) -> Any\n\n\nSet ESST4B K_im.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_ir!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_K_ir!","text":"set_K_ir!(value::ESST4B, val) -> Any\n\n\nSet ESST4B K_ir.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_pm!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_K_pm!","text":"set_K_pm!(value::ESST4B, val) -> Any\n\n\nSet ESST4B K_pm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_pr!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_K_pr!","text":"set_K_pr!(value::ESST4B, val) -> Any\n\n\nSet ESST4B K_pr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kg!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Kg!","text":"set_Kg!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Kg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ki!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Ki!","text":"set_Ki!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kp!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Kp!","text":"set_Kp!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_VB_max!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_VB_max!","text":"set_VB_max!(value::ESST4B, val) -> Any\n\n\nSet ESST4B VB_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESST4B, val) -> Any\n\n\nSet ESST4B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vm_lim!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Vm_lim!","text":"set_Vm_lim!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Vm_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Xl!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Xl!","text":"set_Xl!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESST4B, val) -> Any\n\n\nSet ESST4B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESST4B, val) -> Any\n\n\nSet ESST4B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_θp!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_θp!","text":"set_θp!(value::ESST4B, val) -> Any\n\n\nSet ESST4B θp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_θp_rad!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_θp_rad!","text":"set_θp_rad!(value::ESST4B, val) -> Any\n\n\nSet ESST4B θp_rad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EXAC1","page":"AVR","title":"EXAC1","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EXAC1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.EXAC1","page":"AVR","title":"PowerSystems.EXAC1","text":"mutable struct EXAC1 <: AVR\n Tr::Float64\n Tb::Float64\n Tc::Float64\n Ka::Float64\n Ta::Float64\n Vr_lim::MinMax\n Te::Float64\n Kf::Float64\n Tf::Float64\n Kc::Float64\n Kd::Float64\n Ke::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nModified ESAC1A. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A. EXAC1 in PSSE and PSLF\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn\nTb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20), action if invalid: warn\nTc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20), action if invalid: warn\nKa::Float64: Regulator output gain, validation range: (0, 1000)\nTa::Float64: Regulator output time constant in s, validation range: (0, 10), action if invalid: warn\nVr_lim::MinMax: Limits for regulator output (Vr_min, Vr_max)\nTe::Float64: Exciter field time constant in s, validation range: (eps(), 2), action if invalid: error\nKf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3), action if invalid: warn\nTf::Float64: Rate feedback time constant, validation range: (eps(), 1.5), action if invalid: error\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)\nKd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1), action if invalid: warn\nKe::Float64: Exciter field proportional constant, validation range: (0, 1), action if invalid: warn\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVm: Sensed terminal voltage,\nVr1: Lead-lag state,\nVr2: Regulator output state,\nVe: Integrator output state,\nVr3: Feedback output state\n\nn_states::Int: EXAC1 has 5 states\nstates_types::Vector{StateTypes}: EXAC1 has 5 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::EXAC1) -> Tuple{Float64, Float64}\n\n\nGet EXAC1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::EXAC1) -> Float64\n\n\nGet EXAC1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::EXAC1) -> Float64\n\n\nGet EXAC1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::EXAC1) -> Float64\n\n\nGet EXAC1 Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::EXAC1) -> Float64\n\n\nGet EXAC1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::EXAC1) -> Float64\n\n\nGet EXAC1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::EXAC1) -> Tuple{Float64, Float64}\n\n\nGet EXAC1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::EXAC1) -> Float64\n\n\nGet EXAC1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::EXAC1) -> Float64\n\n\nGet EXAC1 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::EXAC1) -> Float64\n\n\nGet EXAC1 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::EXAC1) -> Float64\n\n\nGet EXAC1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::EXAC1) -> Float64\n\n\nGet EXAC1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::EXAC1) -> Float64\n\n\nGet EXAC1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::EXAC1) -> Float64\n\n\nGet EXAC1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::EXAC1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXAC1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::EXAC1) -> Dict{String, Any}\n\n\nGet EXAC1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::EXAC1) -> Int64\n\n\nGet EXAC1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::EXAC1\n) -> Tuple{Float64, Float64}\n\n\nGet EXAC1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::EXAC1) -> Vector{Symbol}\n\n\nGet EXAC1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::EXAC1) -> Vector{StateTypes}\n\n\nGet EXAC1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EXAC1A","page":"AVR","title":"EXAC1A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EXAC1A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.EXAC1A","page":"AVR","title":"PowerSystems.EXAC1A","text":"mutable struct EXAC1A <: AVR\n Tr::Float64\n Tb::Float64\n Tc::Float64\n Ka::Float64\n Ta::Float64\n Va_lim::MinMax\n Te::Float64\n Kf::Float64\n Tf::Float64\n Kc::Float64\n Kd::Float64\n Ke::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n Vr_lim::MinMax\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nModified ESAC1A. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A Excitacion System. EXAC1A in PSSE and PSLF\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn\nTb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20), action if invalid: warn\nTc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20), action if invalid: warn\nKa::Float64: Regulator output gain, validation range: (0, 1000), action if invalid: warn\nTa::Float64: Regulator output time constant in s, validation range: (0, 10)\nVa_lim::MinMax: Limits for regulator output (Va_min, Va_max)\nTe::Float64: Exciter field time constant in s, validation range: (eps(), 2), action if invalid: error\nKf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3), action if invalid: warn\nTf::Float64: Rate feedback time constant, validation range: (eps(), 1.5), action if invalid: error\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1), action if invalid: warn\nKd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1), action if invalid: warn\nKe::Float64: Exciter field proportional constant, validation range: (0, 1)\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nVr_lim::MinMax: Limits for exciter field voltage: (Vr_min, Vr_max)\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(x) = B(x - A)^2/x\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVm: Sensed terminal voltage,\nVr1: Lead-lag state,\nVr2: Regulator output state,\nVe: Integrator output state,\nVr3: Feedback output state\n\nn_states::Int: EXAC1A has 5 states\nstates_types::Vector{StateTypes}: EXAC1A has 5 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::EXAC1A) -> Tuple{Float64, Float64}\n\n\nGet EXAC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::EXAC1A) -> Tuple{Float64, Float64}\n\n\nGet EXAC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::EXAC1A) -> Float64\n\n\nGet EXAC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::EXAC1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXAC1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::EXAC1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXAC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::EXAC1A) -> Dict{String, Any}\n\n\nGet EXAC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::EXAC1A) -> Int64\n\n\nGet EXAC1A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::EXAC1A\n) -> Tuple{Float64, Float64}\n\n\nGet EXAC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::EXAC1A) -> Vector{Symbol}\n\n\nGet EXAC1A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::EXAC1A) -> Vector{StateTypes}\n\n\nGet EXAC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EXAC2","page":"AVR","title":"EXAC2","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EXAC2.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.EXAC2","page":"AVR","title":"PowerSystems.EXAC2","text":"mutable struct EXAC2 <: AVR\n Tr::Float64\n Tb::Float64\n Tc::Float64\n Ka::Float64\n Ta::Float64\n Va_lim::MinMax\n Kb::Float64\n Vr_lim::MinMax\n Te::Float64\n Kl::Float64\n Kh::Float64\n Kf::Float64\n Tf::Float64\n Kc::Float64\n Kd::Float64\n Ke::Float64\n V_lr::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nModified AC2. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC2A Excitacion System. The alternator main exciter is used, feeding its output via non-controlled rectifiers. The Type AC2C model is similar to that of Type AC1C except for the inclusion of exciter time constant compensation and exciter field current limiting elements. EXAC2 in PSSE and PSLF.\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn\nTb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20), action if invalid: warn\nTc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20), action if invalid: warn\nKa::Float64: Regulator output gain, validation range: (0, 1000)\nTa::Float64: Regulator output time constant in s, validation range: (0, 10), action if invalid: warn\nVa_lim::MinMax: Limits for regulator output (Va_min, Va_max)\nKb::Float64: Second Stage regulator gain, validation range: (eps(), 500), action if invalid: error\nVr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)\nTe::Float64: Exciter field time constant, validation range: (eps(), 2), action if invalid: error\nKl::Float64: Exciter field current limiter gain, validation range: (0, 1.1), action if invalid: warn\nKh::Float64: Exciter field current regulator feedback gain, validation range: (0, 1.1), action if invalid: warn\nKf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3), action if invalid: warn\nTf::Float64: Rate feedback time constant, validation range: (eps(), nothing), action if invalid: error\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1), action if invalid: warn\nKd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1), action if invalid: warn\nKe::Float64: Exciter field proportional constant, validation range: (0, 1), action if invalid: warn\nV_lr::Float64: Maximum exciter field current, validation range: (0, nothing), action if invalid: warn\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVm: Sensed terminal voltage,\nVr1: Lead-lag state,\nVr2: Regulator output state,\nVe: Integrator output state,\nVr3: Feedback output state\n\nn_states::Int: EXAC2 has 5 states\nstates_types::Vector{StateTypes}: EXAC2 has 5 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::EXAC2) -> Tuple{Float64, Float64}\n\n\nGet EXAC2 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::EXAC2) -> Float64\n\n\nGet EXAC2 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kb-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kb","text":"get_Kb(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::EXAC2) -> Float64\n\n\nGet EXAC2 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kh-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kh","text":"get_Kh(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kh.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kl-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kl","text":"get_Kl(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::EXAC2) -> Tuple{Float64, Float64}\n\n\nGet EXAC2 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::EXAC2) -> Float64\n\n\nGet EXAC2 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::EXAC2) -> Float64\n\n\nGet EXAC2 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::EXAC2) -> Float64\n\n\nGet EXAC2 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::EXAC2) -> Float64\n\n\nGet EXAC2 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::EXAC2) -> Float64\n\n\nGet EXAC2 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::EXAC2) -> Float64\n\n\nGet EXAC2 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_lr-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_V_lr","text":"get_V_lr(value::EXAC2) -> Float64\n\n\nGet EXAC2 V_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::EXAC2) -> Float64\n\n\nGet EXAC2 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::EXAC2\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXAC2 Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::EXAC2\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXAC2 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::EXAC2) -> Dict{String, Any}\n\n\nGet EXAC2 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::EXAC2) -> Int64\n\n\nGet EXAC2 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::EXAC2\n) -> Tuple{Float64, Float64}\n\n\nGet EXAC2 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::EXAC2) -> Vector{Symbol}\n\n\nGet EXAC2 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::EXAC2) -> Vector{StateTypes}\n\n\nGet EXAC2 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kb!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kb!","text":"set_Kb!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kh!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kh!","text":"set_Kh!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kh.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kl!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kl!","text":"set_Kl!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_lr!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_V_lr!","text":"set_V_lr!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 V_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EXPIC1","page":"AVR","title":"EXPIC1","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EXPIC1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.EXPIC1","page":"AVR","title":"PowerSystems.EXPIC1","text":"mutable struct EXPIC1 <: AVR\n Tr::Float64\n Ka::Float64\n Ta::Float64\n Va_lim::MinMax\n Ta_2::Float64\n Ta_3::Float64\n Ta_4::Float64\n Vr_lim::MinMax\n Kf::Float64\n Tf_1::Float64\n Tf_2::Float64\n Efd_lim::MinMax\n Ke::Float64\n Te::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n Kp::Float64\n Ki::Float64\n Kc::Float64\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nGeneric Proportional/Integral Excitation System\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5), action if invalid: warn\nKa::Float64: Voltage regulator gain, validation range: (1, 500), action if invalid: warn\nTa::Float64: Voltage regulator time constant in s, validation range: (0, 10), action if invalid: warn\nVa_lim::MinMax: Limits for pi controler (Vr_min, Vr_max)\nTa_2::Float64: Voltage regulator time constant in s, validation range: (0, nothing)\nTa_3::Float64: Voltage regulator time constant in s, validation range: (0, nothing), action if invalid: warn\nTa_4::Float64: Voltage regulator time constant in s, validation range: (0, nothing), action if invalid: warn\nVr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)\nKf::Float64: Rate feedback gain, validation range: (0, 0.3), action if invalid: warn\nTf_1::Float64: Rate Feedback time constant in s, validation range: (eps(), 15)\nTf_2::Float64: Rate Feedback time constant in s, validation range: (0, 5), action if invalid: warn\nEfd_lim::MinMax: Field Voltage regulator limits (regulator output) (Efdmin, Efdmax)\nKe::Float64: Exciter constant, validation range: (0, 1), action if invalid: warn\nTe::Float64: Exciter time constant, validation range: (0, 2), action if invalid: warn\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nKp::Float64: Potential source gain, validation range: (0, 5), action if invalid: warn\nKi::Float64: current source gain, validation range: (0, 1.1)\nKc::Float64: Exciter regulation factor, validation range: (0, 2), action if invalid: warn\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVm: Sensed terminal voltage,\nVr1: First Lead-lag state,\nVr2: Second regulator lead-lag state,\nVr2: Third regulator lead-lag state \nVf: Exciter output \nVr3: First feedback integrator,\nVr4: second feedback integrator\n\nn_states::Int: EXPIC1 has 6 states\nstates_types::Vector{StateTypes}: EXPIC has 6 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::EXPIC1) -> Tuple{Float64, Float64}\n\n\nGet EXPIC1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Efd_lim-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Efd_lim","text":"get_Efd_lim(\n value::EXPIC1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXPIC1 Efd_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ki-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ki","text":"get_Ki(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kp-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Kp","text":"get_Kp(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::EXPIC1) -> Tuple{Float64, Float64}\n\n\nGet EXPIC1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta_2-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ta_2","text":"get_Ta_2(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ta_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta_3-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ta_3","text":"get_Ta_3(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ta_3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta_4-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ta_4","text":"get_Ta_4(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ta_4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf_1-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Tf_1","text":"get_Tf_1(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Tf_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf_2-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Tf_2","text":"get_Tf_2(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Tf_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::EXPIC1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXPIC1 Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::EXPIC1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXPIC1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::EXPIC1) -> Dict{String, Any}\n\n\nGet EXPIC1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::EXPIC1) -> Int64\n\n\nGet EXPIC1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::EXPIC1\n) -> Tuple{Float64, Float64}\n\n\nGet EXPIC1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::EXPIC1) -> Vector{Symbol}\n\n\nGet EXPIC1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::EXPIC1) -> Vector{StateTypes}\n\n\nGet EXPIC1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Efd_lim!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Efd_lim!","text":"set_Efd_lim!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Efd_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ki!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ki!","text":"set_Ki!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kp!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Kp!","text":"set_Kp!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta_2!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ta_2!","text":"set_Ta_2!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ta_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta_3!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ta_3!","text":"set_Ta_3!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ta_3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta_4!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ta_4!","text":"set_Ta_4!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ta_4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf_1!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Tf_1!","text":"set_Tf_1!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Tf_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf_2!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Tf_2!","text":"set_Tf_2!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Tf_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#IEEET1","page":"AVR","title":"IEEET1","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/IEEET1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.IEEET1","page":"AVR","title":"PowerSystems.IEEET1","text":"mutable struct IEEET1 <: AVR\n Tr::Float64\n Ka::Float64\n Ta::Float64\n Vr_lim::MinMax\n Ke::Float64\n Te::Float64\n Kf::Float64\n Tf::Float64\n switch::Int\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\n1968 IEEE type 1 excitation system model\n\nArguments\n\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5), action if invalid: warn\nKa::Float64: Amplifier Gain, validation range: (10, 500), action if invalid: warn\nTa::Float64: Amplifier Time Constant in s, validation range: (0, 1), action if invalid: warn\nVr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)\nKe::Float64: Exciter constant related to self-excited field, validation range: (-1, 1)\nTe::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 1), action if invalid: error\nKf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3), action if invalid: warn\nTf::Float64: Excitation control system stabilizer time constant. Appropiate Data: 5 <= Tf/Kf <= 15, validation range: (eps(), nothing), action if invalid: error\nswitch::Int: Switch, validation range: (0, 1), action if invalid: error\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVt: Terminal Voltage,\nVr: Regulator Output,\nVf: Exciter Output, \nVr3: Rate feedback integrator\n\nn_states::Int: The IEEET1 has 4 states\nstates_types::Vector{StateTypes}: IEEET1 I has 4 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::IEEET1) -> Tuple{Float64, Float64}\n\n\nGet IEEET1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::IEEET1) -> Float64\n\n\nGet IEEET1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::IEEET1) -> Float64\n\n\nGet IEEET1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::IEEET1) -> Float64\n\n\nGet IEEET1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::IEEET1) -> Tuple{Float64, Float64}\n\n\nGet IEEET1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::IEEET1) -> Float64\n\n\nGet IEEET1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::IEEET1) -> Float64\n\n\nGet IEEET1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::IEEET1) -> Float64\n\n\nGet IEEET1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::IEEET1) -> Float64\n\n\nGet IEEET1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::IEEET1) -> Float64\n\n\nGet IEEET1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::IEEET1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet IEEET1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::IEEET1) -> Dict{String, Any}\n\n\nGet IEEET1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::IEEET1) -> Int64\n\n\nGet IEEET1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::IEEET1\n) -> Tuple{Float64, Float64}\n\n\nGet IEEET1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::IEEET1) -> Vector{Symbol}\n\n\nGet IEEET1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::IEEET1) -> Vector{StateTypes}\n\n\nGet IEEET1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_switch-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_switch","text":"get_switch(value::IEEET1) -> Int64\n\n\nGet IEEET1 switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_switch!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_switch!","text":"set_switch!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EX4VSA","page":"AVR","title":"EX4VSA","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EX4VSA.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_lim-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_E_lim","text":"get_E_lim(\n value::PowerSystems.EX4VSA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EX4VSA E_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_G-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_G","text":"get_G(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA G.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Iflim-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Iflim","text":"get_Iflim(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA Iflim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K1-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_K1","text":"get_K1(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA K1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K2-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_K2","text":"get_K2(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA K2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Oel_lim-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Oel_lim","text":"get_Oel_lim(\n value::PowerSystems.EX4VSA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EX4VSA Oel_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Spar-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Spar","text":"get_Spar(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA Spar.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_d-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_d","text":"get_d(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::PowerSystems.EX4VSA) -> Dict{String, Any}\n\n\nGet EX4VSA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_f-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_f","text":"get_f(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::PowerSystems.EX4VSA) -> Int64\n\n\nGet EX4VSA n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::PowerSystems.EX4VSA) -> Vector{Symbol}\n\n\nGet EX4VSA states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_lim!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_E_lim!","text":"set_E_lim!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA E_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_G!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_G!","text":"set_G!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA G.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Iflim!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Iflim!","text":"set_Iflim!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Iflim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K1!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_K1!","text":"set_K1!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA K1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K2!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_K2!","text":"set_K2!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA K2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Oel_lim!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Oel_lim!","text":"set_Oel_lim!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Oel_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Spar!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Spar!","text":"set_Spar!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Spar.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_d!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_d!","text":"set_d!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_f!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_f!","text":"set_f!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EXST1","page":"AVR","title":"EXST1","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EXST1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vi_lim-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Vi_lim","text":"get_Vi_lim(\n value::PowerSystems.EXST1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXST1 Vi_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::PowerSystems.EXST1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXST1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::PowerSystems.EXST1) -> Dict{String, Any}\n\n\nGet EXST1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::PowerSystems.EXST1) -> Int64\n\n\nGet EXST1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::PowerSystems.EXST1) -> Vector{Symbol}\n\n\nGet EXST1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vi_lim!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Vi_lim!","text":"set_Vi_lim!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Vi_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#SCRX","page":"AVR","title":"SCRX","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/SCRX.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.SCRX","page":"AVR","title":"PowerSystems.SCRX","text":"mutable struct SCRX <: AVR\n Ta_Tb::Float64\n Tb::Float64\n K::Float64\n Te::Float64\n Efd_lim::MinMax\n switch::Int\n rc_rfd::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nThis exciter is based on an IEEE type SCRX solid state exciter. The output field voltage is varied by a control system to maintain the system voltage at Vref. Please note that this exciter model has no initialization capabilities - this means that it will respond to whatever inputs it receives regardless of the state of the machine model.\n\nArguments\n\nTa_Tb::Float64: Lead input constant ratio, validation range: (0.05, 0.3), action if invalid: error\nTb::Float64: Lag input constant in s, validation range: (5, 20), action if invalid: error\nK::Float64: Regulator Gain, validation range: (20, 100), action if invalid: warn\nTe::Float64: Regulator Time Constant, validation range: (0, 1), action if invalid: warn\nEfd_lim::MinMax: Field Voltage regulator limits (regulator output) (Efdmin, Efdmax)\nswitch::Int: Switch, validation range: (0, 1), action if invalid: error\nrc_rfd::Float64: Field current capability. Set = 0 for negative current capability. Typical value 10, validation range: (0, 10), action if invalid: warn\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVr1: First integrator,\nVr2: Second integrator\n\nn_states::Int: SCRX has 2 states\nstates_types::Vector{StateTypes}: SCRX has 2 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_Efd_lim-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_Efd_lim","text":"get_Efd_lim(\n value::SCRX\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet SCRX Efd_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_K","text":"get_K(value::SCRX) -> Float64\n\n\nGet SCRX K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta_Tb-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_Ta_Tb","text":"get_Ta_Tb(value::SCRX) -> Float64\n\n\nGet SCRX Ta_Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::SCRX) -> Float64\n\n\nGet SCRX Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::SCRX) -> Float64\n\n\nGet SCRX Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::SCRX) -> Float64\n\n\nGet SCRX V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::SCRX) -> Dict{String, Any}\n\n\nGet SCRX ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::SCRX) -> Int64\n\n\nGet SCRX n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_rc_rfd-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_rc_rfd","text":"get_rc_rfd(value::SCRX) -> Float64\n\n\nGet SCRX rc_rfd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::SCRX) -> Vector{Symbol}\n\n\nGet SCRX states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::SCRX) -> Vector{StateTypes}\n\n\nGet SCRX states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_switch-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_switch","text":"get_switch(value::SCRX) -> Int64\n\n\nGet SCRX switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Efd_lim!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_Efd_lim!","text":"set_Efd_lim!(value::SCRX, val) -> Any\n\n\nSet SCRX Efd_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_K!","text":"set_K!(value::SCRX, val) -> Any\n\n\nSet SCRX K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta_Tb!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_Ta_Tb!","text":"set_Ta_Tb!(value::SCRX, val) -> Any\n\n\nSet SCRX Ta_Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::SCRX, val) -> Any\n\n\nSet SCRX Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::SCRX, val) -> Any\n\n\nSet SCRX Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::SCRX, val) -> Any\n\n\nSet SCRX V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::SCRX, val) -> Any\n\n\nSet SCRX ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_rc_rfd!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_rc_rfd!","text":"set_rc_rfd!(value::SCRX, val) -> Any\n\n\nSet SCRX rc_rfd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::SCRX, val) -> Any\n\n\nSet SCRX states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_switch!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_switch!","text":"set_switch!(value::SCRX, val) -> Any\n\n\nSet SCRX switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#SEXS","page":"AVR","title":"SEXS","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/SEXS.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.SEXS","page":"AVR","title":"PowerSystems.SEXS","text":"mutable struct SEXS <: AVR\n Ta_Tb::Float64\n Tb::Float64\n K::Float64\n Te::Float64\n V_lim::MinMax\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of Simplified Excitation System Model - SEXS in PSSE\n\nArguments\n\nTa_Tb::Float64: Ratio of lead and lag time constants, validation range: (0, nothing)\nTb::Float64: Lag time constant, validation range: (eps(), nothing)\nK::Float64: Gain, validation range: (0, nothing)\nTe::Float64: Field circuit time constant in s, validation range: (0, nothing)\nV_lim::MinMax: Field voltage limits\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\tVf: Voltage field,\tVr: Lead-lag state\nn_states::Int: SEXS has 2 states\nstates_types::Vector{StateTypes}: SEXS has 2 differential states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_K-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_K","text":"get_K(value::SEXS) -> Float64\n\n\nGet SEXS K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta_Tb-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_Ta_Tb","text":"get_Ta_Tb(value::SEXS) -> Float64\n\n\nGet SEXS Ta_Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::SEXS) -> Float64\n\n\nGet SEXS Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::SEXS) -> Float64\n\n\nGet SEXS Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_lim-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_V_lim","text":"get_V_lim(\n value::SEXS\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet SEXS V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::SEXS) -> Float64\n\n\nGet SEXS V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::SEXS) -> Dict{String, Any}\n\n\nGet SEXS ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::SEXS) -> Int64\n\n\nGet SEXS n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::SEXS) -> Vector{Symbol}\n\n\nGet SEXS states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::SEXS) -> Vector{StateTypes}\n\n\nGet SEXS states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_K!","text":"set_K!(value::SEXS, val) -> Any\n\n\nSet SEXS K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta_Tb!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_Ta_Tb!","text":"set_Ta_Tb!(value::SEXS, val) -> Any\n\n\nSet SEXS Ta_Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::SEXS, val) -> Any\n\n\nSet SEXS Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::SEXS, val) -> Any\n\n\nSet SEXS Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_lim!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_V_lim!","text":"set_V_lim!(value::SEXS, val) -> Any\n\n\nSet SEXS V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::SEXS, val) -> Any\n\n\nSet SEXS V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::SEXS, val) -> Any\n\n\nSet SEXS ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::SEXS, val) -> Any\n\n\nSet SEXS states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#ThermalMultiStart","page":"ThermalMultiStart","title":"ThermalMultiStart","text":"","category":"section"},{"location":"model_library/generated_ThermalMultiStart/","page":"ThermalMultiStart","title":"ThermalMultiStart","text":"Modules = [PowerSystems]\nPages = [\"generated/ThermalMultiStart.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.ThermalMultiStart","page":"ThermalMultiStart","title":"PowerSystems.ThermalMultiStart","text":"mutable struct ThermalMultiStart <: ThermalGen\n name::String\n available::Bool\n status::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n prime_mover_type::PrimeMovers\n fuel::ThermalFuels\n active_power_limits::MinMax\n reactive_power_limits::Union{Nothing, MinMax}\n ramp_limits::Union{Nothing, UpDown}\n power_trajectory::Union{Nothing, StartUpShutDown}\n time_limits::Union{Nothing, UpDown}\n start_time_limits::Union{Nothing, NamedTuple{(:hot, :warm, :cold), Tuple{Float64, Float64, Float64}}}\n start_types::Int\n operation_cost::OperationalCost\n base_power::Float64\n services::Vector{Service}\n time_at_status::Float64\n must_run::Bool\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData Structure for thermal generation technologies.\n\nArguments\n\nname::String\navailable::Bool\nstatus::Bool\nbus::ACBus\nactive_power::Float64, validation range: active_power_limits, action if invalid: warn\nreactive_power::Float64, validation range: reactive_power_limits, action if invalid: warn\nrating::Float64: Thermal limited MVA Power Output of the unit. <= Capacity, validation range: (0, nothing), action if invalid: error\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923\nfuel::ThermalFuels: Prime mover fuel according to EIA 923\nactive_power_limits::MinMax\nreactive_power_limits::Union{Nothing, MinMax}\nramp_limits::Union{Nothing, UpDown}, validation range: (0, nothing), action if invalid: error\npower_trajectory::Union{Nothing, StartUpShutDown}: Power trajectory the unit will take during the start-up and shut-down ramp process, validation range: (0, nothing), action if invalid: error\ntime_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing), action if invalid: error\nstart_time_limits::Union{Nothing, NamedTuple{(:hot, :warm, :cold), Tuple{Float64, Float64, Float64}}}: Time limits for start-up based on turbine temperature in hours\nstart_types::Int: Number of start-up based on turbine temperature, validation range: (1, 3), action if invalid: error\noperation_cost::OperationalCost\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\nservices::Vector{Service}: Services that this device contributes to\ntime_at_status::Float64\nmust_run::Bool\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_ThermalMultiStart/#InfrastructureSystems.get_name-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"InfrastructureSystems.get_name","text":"get_name(value::ThermalMultiStart) -> String\n\n\nGet ThermalMultiStart name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#InfrastructureSystems.get_time_series_container-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::ThermalMultiStart\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet ThermalMultiStart time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_active_power-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_active_power","text":"get_active_power(value::ThermalMultiStart) -> Any\n\n\nGet ThermalMultiStart active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_active_power_limits-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::ThermalMultiStart\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet ThermalMultiStart active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_available-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_available","text":"get_available(value::ThermalMultiStart) -> Bool\n\n\nGet ThermalMultiStart available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_base_power-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_base_power","text":"get_base_power(value::ThermalMultiStart) -> Float64\n\n\nGet ThermalMultiStart base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_bus-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_bus","text":"get_bus(value::ThermalMultiStart) -> ACBus\n\n\nGet ThermalMultiStart bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_dynamic_injector-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::ThermalMultiStart\n) -> Union{Nothing, DynamicInjection}\n\n\nGet ThermalMultiStart dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_ext-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_ext","text":"get_ext(value::ThermalMultiStart) -> Dict{String, Any}\n\n\nGet ThermalMultiStart ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_fuel-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_fuel","text":"get_fuel(value::ThermalMultiStart) -> ThermalFuels\n\n\nGet ThermalMultiStart fuel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_must_run-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_must_run","text":"get_must_run(value::ThermalMultiStart) -> Bool\n\n\nGet ThermalMultiStart must_run.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_operation_cost-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::ThermalMultiStart\n) -> PowerSystems.OperationalCost\n\n\nGet ThermalMultiStart operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_power_trajectory-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_power_trajectory","text":"get_power_trajectory(\n value::ThermalMultiStart\n) -> Union{Nothing, NamedTuple{(:startup, :shutdown), <:Tuple{Any, Any}}}\n\n\nGet ThermalMultiStart power_trajectory.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_prime_mover_type-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(\n value::ThermalMultiStart\n) -> PrimeMovers\n\n\nGet ThermalMultiStart prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_ramp_limits-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_ramp_limits","text":"get_ramp_limits(\n value::ThermalMultiStart\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet ThermalMultiStart ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_rating-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_rating","text":"get_rating(value::ThermalMultiStart) -> Any\n\n\nGet ThermalMultiStart rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_reactive_power-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::ThermalMultiStart) -> Any\n\n\nGet ThermalMultiStart reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_reactive_power_limits-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::ThermalMultiStart\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet ThermalMultiStart reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_services-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_services","text":"get_services(value::ThermalMultiStart) -> Vector{Service}\n\n\nGet ThermalMultiStart services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_start_time_limits-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_start_time_limits","text":"get_start_time_limits(\n value::ThermalMultiStart\n) -> Union{Nothing, @NamedTuple{hot::Float64, warm::Float64, cold::Float64}}\n\n\nGet ThermalMultiStart start_time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_start_types-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_start_types","text":"get_start_types(value::ThermalMultiStart) -> Int64\n\n\nGet ThermalMultiStart start_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_status-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_status","text":"get_status(value::ThermalMultiStart) -> Bool\n\n\nGet ThermalMultiStart status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_time_at_status-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_time_at_status","text":"get_time_at_status(value::ThermalMultiStart) -> Float64\n\n\nGet ThermalMultiStart time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_time_limits-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_time_limits","text":"get_time_limits(\n value::ThermalMultiStart\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet ThermalMultiStart time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_active_power!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_active_power_limits!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(\n value::ThermalMultiStart,\n val\n) -> Any\n\n\nSet ThermalMultiStart active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_available!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_available!","text":"set_available!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_base_power!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_bus!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_bus!","text":"set_bus!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_ext!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_ext!","text":"set_ext!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_fuel!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_fuel!","text":"set_fuel!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart fuel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_must_run!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_must_run!","text":"set_must_run!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart must_run.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_operation_cost!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_power_trajectory!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_power_trajectory!","text":"set_power_trajectory!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart power_trajectory.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_prime_mover_type!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_ramp_limits!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_ramp_limits!","text":"set_ramp_limits!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_rating!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_rating!","text":"set_rating!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_reactive_power!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_reactive_power_limits!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::ThermalMultiStart,\n val\n) -> Any\n\n\nSet ThermalMultiStart reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_services!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_services!","text":"set_services!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_start_time_limits!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_start_time_limits!","text":"set_start_time_limits!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart start_time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_start_types!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_start_types!","text":"set_start_types!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart start_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_status!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_status!","text":"set_status!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_time_at_status!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_time_at_status!","text":"set_time_at_status!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_time_limits!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_time_limits!","text":"set_time_limits!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_time_series_container!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::ThermalMultiStart,\n val\n) -> Any\n\n\nSet ThermalMultiStart time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"tutorials/basics/#Basics","page":"Introduction","title":"Basics","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"This tutorial shows some basic operations that you can do in PowerSystems.jl with your data.","category":"page"},{"location":"tutorials/basics/#Load-Packages","page":"Introduction","title":"Load Packages","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"using PowerSystems\n# For displaying subtypes\nimport TypeTree: tt\ndocs_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"utils\");\ninclude(joinpath(docs_dir, \"docs_utils.jl\")) #hide","category":"page"},{"location":"tutorials/basics/#Types-in-PowerSystems","page":"Introduction","title":"Types in PowerSystems","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"PowerSystems.jl provides a type hierarchy for specifying power system data. Data that describes infrastructure components is held in structs. For example, a Bus is defined as follows with fields for the parameters required to describe a bus (along with an internal field used by InfrastructureSystems to improve the efficiency of handling data).","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"print_struct(ACBus)","category":"page"},{"location":"tutorials/basics/#Type-Hierarchy","page":"Introduction","title":"Type Hierarchy","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"PowerSystems is intended to organize data containers by the behavior of the devices that the data represents. To that end, a type hierarchy has been defined with several levels of abstract types starting with InfrastructureSystemsType. There are a bunch of subtypes of InfrastructureSystemsType, but the important ones to know about are:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"Component: includes all elements of power system data\nTopology: includes non physical elements describing network connectivity\nService: includes descriptions of system requirements (other than energy balance)\nDevice: includes descriptions of all the physical devices in a power system\nInfrastructureSystems.DeviceParameter: includes structs that hold data describing the","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"dynamic, or economic capabilities of Device.","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"TimeSeriesData: Includes all time series types\nForecast: includes structs to define time series of forecasted data where multiple","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"values can represent each time stamp","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"StaticTimeSeries: includes structs to define time series with a single value for each","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"time stamp","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"System: collects all of the Components","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"The following code displays the hierarchy, but concrete types are omitted for brevity:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"print(join(tt(PowerSystems.IS.InfrastructureSystemsType, concrete = false), \"\"))","category":"page"},{"location":"tutorials/basics/#TimeSeriesData","page":"Introduction","title":"TimeSeriesData","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"Read the Docs! Every Component has a time_series_container::InfrastructureSystems.TimeSeriesContainer field. TimeSeriesData are used to hold time series information that describes the temporally dependent data of fields within the same struct. For example, the ThermalStandard.time_series_container field can describe other fields in the struct (available, activepower, reactivepower).","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"TimeSeriesDatas themselves can take the form of the following:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"print(join(tt(TimeSeriesData), \"\"))","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"In each case, the time series contains fields for scaling_factor_multiplier and data to identify the details of th Component field that the time series describes, and the time series data. For example: we commonly want to use a time series to describe the maximum active power capability of a renewable generator. In this case, we can create a SingleTimeSeries with a TimeArray and an accessor function to the maximum active power field in the struct describing the generator. In this way, we can store a scaling factor time series that will get multiplied by the maximum active power rather than the magnitudes of the maximum active power time series.","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"print_struct(Deterministic)","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"Examples of how to create and add time series to system can be found in the Add Time Series Example","category":"page"},{"location":"tutorials/basics/#System","page":"Introduction","title":"System","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"The System object collects all of the individual components into a single struct along with some metadata about the system itself (e.g. base_power)","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"print_struct(System)","category":"page"},{"location":"tutorials/basics/#Example-Code","page":"Introduction","title":"Example Code","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"PowerSystems contains a few basic data files (mostly for testing and demonstration). These can be found here:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"BASE_DIR = abspath(joinpath(dirname(Base.find_package(\"PowerSystems\")), \"..\")) #hide\ninclude(joinpath(BASE_DIR, \"test\", \"data_5bus_pu.jl\")); #.jl file containing 5-bus system data\nnodes_5 = nodes5() # function to create 5-bus buses\nthermal_generators5(nodes_5) # function to create thermal generators in 5-bus buses\nrenewable_generators5(nodes_5) # function to create renewable generators in 5-bus buses\nloads5(nodes_5) # function to create the loads\nbranches5(nodes_5) # function to create the branches","category":"page"},{"location":"tutorials/basics/#Create-a-System","page":"Introduction","title":"Create a System","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"sys = System(\n 100.0,\n nodes_5,\n vcat(\n thermal_generators5(nodes_5),\n renewable_generators5(nodes_5)),\n loads5(nodes_5),\n branches5(nodes_5),\n)","category":"page"},{"location":"tutorials/basics/#Accessing-System-Data","page":"Introduction","title":"Accessing System Data","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"PowerSystems provides functional interfaces to all data. The following examples outline the intended approach to accessing data expressed using PowerSystems.","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"PowerSystems enforces unique name fields between components of a particular concrete type. So, in order to retrieve a specific component, the user must specify the type of the component along with the name and system","category":"page"},{"location":"tutorials/basics/#Accessing-components","page":"Introduction","title":"Accessing components","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"get_component(ACBus, sys, \"nodeA\")\nget_component(Line, sys, \"1\")","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"Similarly, you can access all the components of a particular type: *note: the return type of get_components is a FlattenIteratorWrapper, so call collect to get an Array","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"get_components(ACBus, sys) |> collect","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"get_components also works on abstract types:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"get_components(Branch, sys) |> collect","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"The fields within a component can be accessed using the get_* functions: It's highly recommended that users avoid using the . to access fields since we make no guarantees on the stability field names and locations. We do however promise to keep the accessor functions stable.","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"bus1 = get_component(ACBus, sys, \"nodeA\")\n@show get_name(bus1);\n@show get_magnitude(bus1);\nnothing #hide","category":"page"},{"location":"tutorials/basics/#Accessing-TimeSeries","page":"Introduction","title":"Accessing TimeSeries","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"First we need to add some time series to the System","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"loads = collect(get_components(PowerLoad, sys))\nfor (l, ts) in zip(loads, load_timeseries_DA[2])\n add_time_series!(\n sys,\n l,\n Deterministic(\n \"activepower\",\n Dict(TimeSeries.timestamp(load_timeseries_DA[2][1])[1] => ts),\n ),\n )\nend","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"If we want to access a specific time series for a specific component, we need to specify:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"time series type\ncomponent\ninitial_time\nlabel","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"We can find the initial time of all the time series in the system:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"get_forecast_initial_times(sys)","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"We can find the names of all time series attached to a component:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"ts_names = get_time_series_names(Deterministic, loads[1])","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"We can access a specific time series for a specific component:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"ta = get_time_series_array(Deterministic, loads[1], ts_names[1])","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"Or, we can just get the values of the time series:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"ts = get_time_series_values(Deterministic, loads[1], ts_names[1])","category":"page"},{"location":"model_library/generated_MultiStartCost/#MultiStartCost","page":"MultiStartCost","title":"MultiStartCost","text":"","category":"section"},{"location":"model_library/generated_MultiStartCost/","page":"MultiStartCost","title":"MultiStartCost","text":"Modules = [PowerSystems]\nPages = [\"generated/MultiStartCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.MultiStartCost","page":"MultiStartCost","title":"PowerSystems.MultiStartCost","text":"mutable struct MultiStartCost <: OperationalCost\n variable::VariableCost\n no_load::Float64\n fixed::Float64\n start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}\n shut_down::Float64\nend\n\nData Structure Operational Cost Data which includes fixed, variable cost, multiple start up cost and stop costs.\n\nArguments\n\nvariable::VariableCost: variable cost\nno_load::Float64: no load cost\nfixed::Float64: fixed cost\nstart_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}: start-up cost\nshut_down::Float64: shut-down cost, validation range: (0, nothing), action if invalid: warn\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.get_fixed-Tuple{MultiStartCost}","page":"MultiStartCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::MultiStartCost) -> Float64\n\n\nGet MultiStartCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.get_no_load-Tuple{MultiStartCost}","page":"MultiStartCost","title":"PowerSystems.get_no_load","text":"get_no_load(value::MultiStartCost) -> Float64\n\n\nGet MultiStartCost no_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.get_shut_down-Tuple{MultiStartCost}","page":"MultiStartCost","title":"PowerSystems.get_shut_down","text":"get_shut_down(value::MultiStartCost) -> Float64\n\n\nGet MultiStartCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.get_start_up-Tuple{MultiStartCost}","page":"MultiStartCost","title":"PowerSystems.get_start_up","text":"get_start_up(\n value::MultiStartCost\n) -> @NamedTuple{hot::Float64, warm::Float64, cold::Float64}\n\n\nGet MultiStartCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.get_variable-Tuple{MultiStartCost}","page":"MultiStartCost","title":"PowerSystems.get_variable","text":"get_variable(value::MultiStartCost) -> VariableCost\n\n\nGet MultiStartCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.set_fixed!-Tuple{MultiStartCost, Any}","page":"MultiStartCost","title":"PowerSystems.set_fixed!","text":"set_fixed!(value::MultiStartCost, val) -> Any\n\n\nSet MultiStartCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.set_no_load!-Tuple{MultiStartCost, Any}","page":"MultiStartCost","title":"PowerSystems.set_no_load!","text":"set_no_load!(value::MultiStartCost, val) -> Any\n\n\nSet MultiStartCost no_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.set_shut_down!-Tuple{MultiStartCost, Any}","page":"MultiStartCost","title":"PowerSystems.set_shut_down!","text":"set_shut_down!(value::MultiStartCost, val) -> Any\n\n\nSet MultiStartCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.set_start_up!-Tuple{MultiStartCost, Any}","page":"MultiStartCost","title":"PowerSystems.set_start_up!","text":"set_start_up!(value::MultiStartCost, val) -> Any\n\n\nSet MultiStartCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MultiStartCost/#PowerSystems.set_variable!-Tuple{MultiStartCost, Any}","page":"MultiStartCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::MultiStartCost, val) -> Any\n\n\nSet MultiStartCost variable.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#Public-API-Reference","page":"Public API Reference","title":"Public API Reference","text":"","category":"section"},{"location":"api/public/#Modeling","page":"Public API Reference","title":"Modeling","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"PowerSystems.jl\",\n \"branches.jl\",\n \"components.jl\",\n \"injection.jl\",\n \"devices.jl\",\n \"loads.jl\",\n \"supplemental_constructors\",\n \"generation.jl\",\n \"storage.jl\",\n \"services.jl\",\n \"topological_elements.jl\",\n \"dynamic_models.jl\",\n \"static_models.jl\",\n \"dynamic_models.jl\",\n \"operational_cost.jl\",\n \"definitions.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"api/public/#PowerSystems.PowerSystems","page":"Public API Reference","title":"PowerSystems.PowerSystems","text":"Module for constructing self-contained power system objects.\n\n\n\n\n\n","category":"module"},{"location":"api/public/#PowerSystems.Component","page":"Public API Reference","title":"PowerSystems.Component","text":"Supertype for all PowerSystems components. All subtypes must include a InfrastructureSystemsInternal member. Subtypes should call InfrastructureSystemsInternal() by default, but also must provide a constructor that allows existing values to be deserialized.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.Device","page":"Public API Reference","title":"PowerSystems.Device","text":"Supertype for \"devices\" (bus, line, etc.) \n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.get_base_power-Tuple{Component}","page":"Public API Reference","title":"PowerSystems.get_base_power","text":"get_base_power(c::Component) -> Float64\n\n\nDefault behavior of a component. If there is no base_power field, assume is in the system's base power.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_dynamic_injector!-Union{Tuple{U}, Tuple{T}, Tuple{T, U}} where {T<:StaticInjection, U<:Union{Nothing, DynamicInjection}}","page":"Public API Reference","title":"PowerSystems.set_dynamic_injector!","text":"set_dynamic_injector!(\n static_injector::StaticInjection,\n dynamic_injector::Union{Nothing, DynamicInjection}\n)\n\n\nAny StaticInjection struct that wants to support dynamic injectors must implement this method to set the value.\n\nThe method is only for internal uses.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.clear_services!-Tuple{Device}","page":"Public API Reference","title":"PowerSystems.clear_services!","text":"clear_services!(device::Device)\n\n\nRemove all services attached to the device.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.has_service-Tuple{Device, Service}","page":"Public API Reference","title":"PowerSystems.has_service","text":"has_service(device::Device, service::Service) -> Bool\n\n\nReturn true if the service is attached to the device.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.has_service-Union{Tuple{T}, Tuple{Device, Type{T}}} where T<:Service","page":"Public API Reference","title":"PowerSystems.has_service","text":"has_service(device::Device, _::Type{T<:Service}) -> Bool\n\n\nReturn true if a service with type T is attached to the device.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_service!-Tuple{Device, Service}","page":"Public API Reference","title":"PowerSystems.remove_service!","text":"remove_service!(device::Device, service::Service)\n\n\nRemove a service from a device.\n\nThrows ArgumentError if the service is not attached to the device.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.Generator","page":"Public API Reference","title":"PowerSystems.Generator","text":"Supertype for all generation technologies\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.HydroGen","page":"Public API Reference","title":"PowerSystems.HydroGen","text":"Supertype for all Hydropower generation technologies\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.RenewableGen","page":"Public API Reference","title":"PowerSystems.RenewableGen","text":"Supertype for all renewable generation technologies Requires the implementation of get_ratingand get_power_factor methods\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.ThermalGen","page":"Public API Reference","title":"PowerSystems.ThermalGen","text":"Supertype for all Thermal generation technologies\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.get_max_active_power-Tuple{T} where T<:RenewableGen","page":"Public API Reference","title":"PowerSystems.get_max_active_power","text":"get_max_active_power(d::RenewableGen) -> Any\n\n\nReturn the max active power for the Renewable Generation calculated as the rating * power_factor\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_max_reactive_power-Tuple{T} where T<:RenewableGen","page":"Public API Reference","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(d::RenewableGen) -> Any\n\n\nReturn the max reactive power for the Renewable Generation calculated as the rating * power_factor\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.AggregationTopology","page":"Public API Reference","title":"PowerSystems.AggregationTopology","text":"Represents a geographical region of system components.\n\nAll subtypes must implement the method get_aggregation_topology_accessor.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.Bus","page":"Public API Reference","title":"PowerSystems.Bus","text":"Abstract type to represent any type of Bus, AC or DC.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.Topology","page":"Public API Reference","title":"PowerSystems.Topology","text":"Abstract type to represent the structure and interconnectedness of the system\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.get_aggregation_topology_accessor-Union{Tuple{Type{T}}, Tuple{T}} where T<:AggregationTopology","page":"Public API Reference","title":"PowerSystems.get_aggregation_topology_accessor","text":"get_aggregation_topology_accessor(\n _::Type{T<:AggregationTopology}\n) -> typeof(get_load_zone)\n\n\nReturn the method to be called on a ACBus to get its AggregationTopology value for this type.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.StaticInjection","page":"Public API Reference","title":"PowerSystems.StaticInjection","text":"Abstract type of Devices that inject current/power \n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.DynamicComponent","page":"Public API Reference","title":"PowerSystems.DynamicComponent","text":"Abstract type for all components used to compose a DynamicInjection device\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.DynamicInjection","page":"Public API Reference","title":"PowerSystems.DynamicInjection","text":"Abstract type for all dynamic injection types\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.get_dynamic_components-Tuple{T} where T<:DynamicInjection","page":"Public API Reference","title":"PowerSystems.get_dynamic_components","text":"get_dynamic_components(\n device::DynamicInjection\n) -> Base.Generator{I, F} where {I<:(Base.Iterators.Filter{PowerSystems.var\"#6#8\", I} where I<:(Base.Iterators.Zip{Is} where Is<:Tuple{Any, Tuple})), F<:(PowerSystems.var\"#5#7\"{<:DynamicInjection})}\n\n\nReturn all the dynamic components of a DynamicInjection device\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_states_types-Tuple{DynamicComponent}","page":"Public API Reference","title":"PowerSystems.get_states_types","text":"get_states_types(d::DynamicComponent) -> Vector{StateTypes}\n\n\nDefault implementation of get_state_types for dynamic components. Assumes all states are\nDifferential\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_breakpoint_upperbounds-Tuple{VariableCost{Vector{Tuple{Float64, Float64}}}}","page":"Public API Reference","title":"PowerSystems.get_breakpoint_upperbounds","text":"get_breakpoint_upperbounds(\n vc::VariableCost{Vector{Tuple{Float64, Float64}}}\n) -> Vector{Float64}\n\n\nCalculates the upper bounds of a variable cost function represented as a collection of piece-wise linear segments.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_slopes-Tuple{VariableCost{Vector{Tuple{Float64, Float64}}}}","page":"Public API Reference","title":"PowerSystems.get_slopes","text":"get_slopes(\n vc::VariableCost{Vector{Tuple{Float64, Float64}}}\n) -> Vector{Float64}\n\n\nCalculates the slopes for the variable cost represented as a piece wise linear cost function. This function returns n - slopes for n - piecewise linear elements in the function. The first element of the return array corresponds to the average cost at the minimum operating point. If your formulation uses n -1 slopes, you can disregard the first component of the array. If the first point in the variable cost has a quantity of 0.0, the first slope returned will be 0.0, otherwise, the first slope represents the trajectory to get from the origin to the first point in the variable cost.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#TimeSeries","page":"Public API Reference","title":"TimeSeries","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [InfrastructureSystems]\nPages = [\"abstract_time_series.jl\",\n \"deterministic.jl\",\n \"probabilistic.jl\",\n \"scenarios.jl\",\n \"single_time_series.jl\",\n \"forecasts.jl\"]\nOrder = [:type, :function]\nFilter = t -> t ∉ [InfrastructureSystems.get_internal,\n InfrastructureSystems.set_internal!]","category":"page"},{"location":"api/public/#InfrastructureSystems.TimeSeriesData","page":"Public API Reference","title":"InfrastructureSystems.TimeSeriesData","text":"Abstract type for time series stored in the system. Components store references to these through TimeSeriesMetadata values so that data can reside on storage media instead of memory.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.TimeSeriesMetadata","page":"Public API Reference","title":"InfrastructureSystems.TimeSeriesMetadata","text":"Abstract type for time_series that are stored in a system. Users never create them or get access to them. Stores references to TimeSeriesData.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.Deterministic","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"mutable struct Deterministic <: AbstractDeterministic\n name::String\n data::Union{\n SortedDict{Dates.DateTime, Vector{CONSTANT}},\n SortedDict{Dates.DateTime, Vector{POLYNOMIAL}},\n SortedDict{Dates.DateTime, Vector{PWL}},\n }\n resolution::Dates.Period\n scaling_factor_multiplier::Union{Nothing, Function}\n internal::InfrastructureSystemsInternal\nend\n\nA deterministic forecast for a particular data field in a Component.\n\nArguments\n\nname::String: user-defined name\ndata::Union{SortedDict{Dates.DateTime, Vector{CONSTANT}}, SortedDict{Dates.DateTime, Vector{POLYNOMIAL}}, SortedDict{Dates.DateTime, Vector{PWL}}}: timestamp - scalingfactor\nresolution::Dates.Period: forecast resolution\nscaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.\ninternal::InfrastructureSystemsInternal\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.Deterministic-Tuple{AbstractString, AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray}}","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"Deterministic(\n name::AbstractString,\n input_data::AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray};\n normalization_factor,\n scaling_factor_multiplier\n) -> Deterministic\n\n\nConstruct Deterministic from a Dict of TimeArrays.\n\nArguments\n\nname::AbstractString: user-defined name\ninput_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\ntimestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Deterministic-Tuple{AbstractString, AbstractString, InfrastructureSystems.InfrastructureSystemsComponent, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"Deterministic(\n name::AbstractString,\n filename::AbstractString,\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> Deterministic\n\n\nConstruct Deterministic from a CSV file. The first column must be a timestamp in DateTime format and the columns the values in the forecast window.\n\nArguments\n\nname::AbstractString: user-defined name\nfilename::AbstractString: name of CSV file containing data\ncomponent::InfrastructureSystemsComponent: component associated with the data\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Deterministic-Tuple{AbstractString, InfrastructureSystems.RawTimeSeries, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"Deterministic(\n name::AbstractString,\n series_data::InfrastructureSystems.RawTimeSeries,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> Deterministic\n\n\nConstruct Deterministic from RawTimeSeries.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Deterministic-Tuple{Deterministic, Any}","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"Deterministic(\n forecast::Deterministic,\n data\n) -> Deterministic\n\n\nConstruct a new Deterministic from an existing instance and a subset of data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_data-Tuple{Deterministic}","page":"Public API Reference","title":"InfrastructureSystems.get_data","text":"get_data(\n value::Deterministic\n) -> Union{DataStructures.SortedDict{Dates.DateTime, Vector{Vector{Tuple{Float64, Float64}}}}, DataStructures.SortedDict{Dates.DateTime, Vector{Float64}}, DataStructures.SortedDict{Dates.DateTime, Vector{Tuple{Float64, Float64}}}}\n\n\nGet Deterministic data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_name-Tuple{Deterministic}","page":"Public API Reference","title":"InfrastructureSystems.get_name","text":"get_name(value::Deterministic) -> String\n\n\nGet Deterministic name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_resolution-Tuple{Deterministic}","page":"Public API Reference","title":"InfrastructureSystems.get_resolution","text":"get_resolution(value::Deterministic) -> Dates.Period\n\n\nGet Deterministic resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_scaling_factor_multiplier-Tuple{Deterministic}","page":"Public API Reference","title":"InfrastructureSystems.get_scaling_factor_multiplier","text":"get_scaling_factor_multiplier(\n value::Deterministic\n) -> Union{Nothing, Function}\n\n\nGet Deterministic scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{Deterministic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_data!","text":"set_data!(value::Deterministic, val) -> Any\n\n\nSet Deterministic data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{Deterministic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(value::Deterministic, val) -> Any\n\n\nSet Deterministic name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_resolution!-Tuple{Deterministic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_resolution!","text":"set_resolution!(value::Deterministic, val) -> Any\n\n\nSet Deterministic resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_scaling_factor_multiplier!-Tuple{Deterministic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_scaling_factor_multiplier!","text":"set_scaling_factor_multiplier!(\n value::Deterministic,\n val\n) -> Any\n\n\nSet Deterministic scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Probabilistic","page":"Public API Reference","title":"InfrastructureSystems.Probabilistic","text":"mutable struct Probabilistic <: Forecast\n name::String\n resolution::Dates.Period\n percentiles::Vector{Float64}\n data::Union{\n SortedDict{Dates.DateTime, Matrix{CONSTANT}},\n SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}},\n SortedDict{Dates.DateTime, Matrix{PWL}},\n }\n scaling_factor_multiplier::Union{Nothing, Function}\n internal::InfrastructureSystemsInternal\nend\n\nA Probabilistic forecast for a particular data field in a Component.\n\nArguments\n\nname::String: user-defined name\nresolution::Dates.Period: forecast resolution\npercentiles::Vector{Float64}: Percentiles for the probabilistic forecast\ndata::Union{SortedDict{Dates.DateTime, Matrix{CONSTANT}}, SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}}, SortedDict{Dates.DateTime, Matrix{PWL}}}: timestamp - scalingfactor\nscaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.\ninternal::InfrastructureSystemsInternal\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.Probabilistic-Tuple{AbstractString, AbstractDict, Vector, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.Probabilistic","text":"Probabilistic(\n name::AbstractString,\n input_data::AbstractDict,\n percentiles::Vector,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> Probabilistic\n\n\nConstruct Probabilistic from a SortedDict of Arrays.\n\nArguments\n\nname::AbstractString: user-defined name\ninput_data::AbstractDict{Dates.DateTime, Matrix{Float64}}: time series data.\npercentiles: Percentiles represented in the probabilistic forecast\nresolution::Dates.Period: The resolution of the forecast in Dates.Period`\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Probabilistic-Tuple{AbstractString, AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray}, Vector{Float64}}","page":"Public API Reference","title":"InfrastructureSystems.Probabilistic","text":"Probabilistic(\n name::AbstractString,\n input_data::AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray},\n percentiles::Vector{Float64};\n normalization_factor,\n scaling_factor_multiplier\n) -> Probabilistic\n\n\nConstruct Probabilistic from a Dict of TimeArrays.\n\nArguments\n\nname::AbstractString: user-defined name\ninput_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.\npercentiles: Percentiles represented in the probabilistic forecast\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\ntimestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Probabilistic-Tuple{AbstractString, InfrastructureSystems.RawTimeSeries, Vector, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.Probabilistic","text":"Probabilistic(\n name::AbstractString,\n series_data::InfrastructureSystems.RawTimeSeries,\n percentiles::Vector,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> Probabilistic\n\n\nConstruct Deterministic from RawTimeSeries.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_data-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.get_data","text":"get_data(\n value::Probabilistic\n) -> Union{DataStructures.SortedDict{Dates.DateTime, Matrix{Vector{Tuple{Float64, Float64}}}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Float64}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Tuple{Float64, Float64}}}}\n\n\nGet Probabilistic data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_name-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.get_name","text":"get_name(value::Probabilistic) -> String\n\n\nGet Probabilistic name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_percentiles-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.get_percentiles","text":"get_percentiles(value::Probabilistic) -> Vector{Float64}\n\n\nGet Probabilistic percentiles.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_resolution-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.get_resolution","text":"get_resolution(value::Probabilistic) -> Dates.Period\n\n\nGet Probabilistic resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_scaling_factor_multiplier-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.get_scaling_factor_multiplier","text":"get_scaling_factor_multiplier(\n value::Probabilistic\n) -> Union{Nothing, Function}\n\n\nGet Probabilistic scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{Probabilistic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_data!","text":"set_data!(value::Probabilistic, val) -> Any\n\n\nSet Probabilistic data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{Probabilistic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(value::Probabilistic, val) -> Any\n\n\nSet Probabilistic name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_percentiles!-Tuple{Probabilistic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_percentiles!","text":"set_percentiles!(value::Probabilistic, val) -> Any\n\n\nSet Probabilistic percentiles.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_resolution!-Tuple{Probabilistic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_resolution!","text":"set_resolution!(value::Probabilistic, val) -> Any\n\n\nSet Probabilistic resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_scaling_factor_multiplier!-Tuple{Probabilistic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_scaling_factor_multiplier!","text":"set_scaling_factor_multiplier!(\n value::Probabilistic,\n val\n) -> Any\n\n\nSet Probabilistic scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Scenarios","page":"Public API Reference","title":"InfrastructureSystems.Scenarios","text":"mutable struct Scenarios <: Forecast\n name::String\n resolution::Dates.Period\n scenario_count::Int64\n data::Union{\n SortedDict{Dates.DateTime, Matrix{CONSTANT}},\n SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}},\n SortedDict{Dates.DateTime, Matrix{PWL}},\n }\n scaling_factor_multiplier::Union{Nothing, Function}\n internal::InfrastructureSystemsInternal\nend\n\nA Discrete Scenario Based time series for a particular data field in a Component.\n\nArguments\n\nname::String: user-defined name\nresolution::Dates.Period: forecast resolution\nscenario_count::Int64: Number of scenarios\ndata::Union{SortedDict{Dates.DateTime, Matrix{CONSTANT}}, SortedDict{Dates.DateTime, Matrix{POLYNOMIAL}}, SortedDict{Dates.DateTime, Matrix{PWL}}}: timestamp - scalingfactor\nscaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.\ninternal::InfrastructureSystemsInternal\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.Scenarios-Tuple{AbstractString, AbstractDict, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.Scenarios","text":"Scenarios(\n name::AbstractString,\n input_data::AbstractDict,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> Scenarios\n\n\nConstruct Scenarios from a SortedDict of Arrays.\n\nArguments\n\nname::AbstractString: user-defined name\ninput_data::AbstractDict{Dates.DateTime, Matrix{Float64}}: time series data.\nresolution::Dates.Period: The resolution of the forecast in Dates.Period`\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Scenarios-Tuple{AbstractString, AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray}}","page":"Public API Reference","title":"InfrastructureSystems.Scenarios","text":"Scenarios(\n name::AbstractString,\n input_data::AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray};\n normalization_factor,\n scaling_factor_multiplier\n) -> Scenarios\n\n\nConstruct Scenarios from a Dict of TimeArrays.\n\nArguments\n\nname::AbstractString: user-defined name\ninput_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\ntimestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_data-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.get_data","text":"get_data(\n value::Scenarios\n) -> Union{DataStructures.SortedDict{Dates.DateTime, Matrix{Vector{Tuple{Float64, Float64}}}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Float64}}, DataStructures.SortedDict{Dates.DateTime, Matrix{Tuple{Float64, Float64}}}}\n\n\nGet Scenarios data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_name-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.get_name","text":"get_name(value::Scenarios) -> String\n\n\nGet Scenarios name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_resolution-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.get_resolution","text":"get_resolution(value::Scenarios) -> Dates.Period\n\n\nGet Scenarios resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_scaling_factor_multiplier-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.get_scaling_factor_multiplier","text":"get_scaling_factor_multiplier(\n value::Scenarios\n) -> Union{Nothing, Function}\n\n\nGet Scenarios scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_scenario_count-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.get_scenario_count","text":"get_scenario_count(value::Scenarios) -> Int64\n\n\nGet Scenarios scenario_count.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{Scenarios, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_data!","text":"set_data!(value::Scenarios, val) -> Any\n\n\nSet Scenarios data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{Scenarios, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(value::Scenarios, val) -> Any\n\n\nSet Scenarios name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_resolution!-Tuple{Scenarios, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_resolution!","text":"set_resolution!(value::Scenarios, val) -> Any\n\n\nSet Scenarios resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_scaling_factor_multiplier!-Tuple{Scenarios, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_scaling_factor_multiplier!","text":"set_scaling_factor_multiplier!(value::Scenarios, val) -> Any\n\n\nSet Scenarios scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_scenario_count!-Tuple{Scenarios, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_scenario_count!","text":"set_scenario_count!(value::Scenarios, val) -> Any\n\n\nSet Scenarios scenario_count.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.DeterministicSingleTimeSeries","page":"Public API Reference","title":"InfrastructureSystems.DeterministicSingleTimeSeries","text":"mutable struct DeterministicSingleTimeSeries <: AbstractDeterministic\n single_time_series::SingleTimeSeries\n initial_timestamp::Dates.DateTime\n interval::Dates.Period\n count::Int\n horizon::Int\nend\n\nA deterministic forecast for a particular data field in a Component that wraps a SingleTimeSeries.\n\nArguments\n\nsingle_time_series::SingleTimeSeries: wrapped SingleTimeSeries object\ninitial_timestamp::Dates.DateTime: time series availability time\ninterval::Dates.Period: time step between forecast windows\ncount::Int: number of forecast windows\nhorizon::Int: length of this time series\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"mutable struct SingleTimeSeries <: StaticTimeSeries\n name::String\n data::TimeSeries.TimeArray\n scaling_factor_multiplier::Union{Nothing, Function}\n internal::InfrastructureSystemsInternal\nend\n\nA deterministic forecast for a particular data field in a Component.\n\nArguments\n\nname::String: user-defined name\ndata::TimeSeries.TimeArray: timestamp - scalingfactor\nscaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.\ninternal::InfrastructureSystemsInternal\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries-Tuple{AbstractString, AbstractString, InfrastructureSystems.InfrastructureSystemsComponent, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"SingleTimeSeries(\n name::AbstractString,\n filename::AbstractString,\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> SingleTimeSeries\n\n\nConstruct SingleTimeSeries from a CSV file. The file must have a column that is the name of the component.\n\nArguments\n\nname::AbstractString: user-defined name\nfilename::AbstractString: name of CSV file containing data\ncomponent::InfrastructureSystemsComponent: component associated with the data\nresolution::Dates.Period: resolution of the time series\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries-Tuple{AbstractString, Union{DataFrames.DataFrame, TimeSeries.TimeArray}}","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"SingleTimeSeries(\n name::AbstractString,\n data::Union{DataFrames.DataFrame, TimeSeries.TimeArray};\n normalization_factor,\n scaling_factor_multiplier,\n timestamp\n) -> SingleTimeSeries\n\n\nConstruct SingleTimeSeries from a TimeArray or DataFrame.\n\nArguments\n\nname::AbstractString: user-defined name\ndata::Union{TimeSeries.TimeArray, DataFrames.DataFrame}: time series data\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\ntimestamp = :timestamp: If a DataFrame is passed then this must be the column name that contains timestamps.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries-Tuple{SingleTimeSeries, TimeSeries.TimeArray}","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"SingleTimeSeries(\n time_series::SingleTimeSeries,\n data::TimeSeries.TimeArray\n) -> Any\n\n\nCreates a new SingleTimeSeries from an existing instance and a subset of data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries-Tuple{String, Dates.Period, Dates.DateTime, Int64}","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"SingleTimeSeries(\n name::String,\n resolution::Dates.Period,\n initial_time::Dates.DateTime,\n time_steps::Int64\n) -> SingleTimeSeries\n\n\nConstruct SingleTimeSeries after constructing a TimeArray from initial_time and time_steps.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.from-Tuple{SingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.from","text":"from(\n time_series::SingleTimeSeries,\n timestamp\n) -> SingleTimeSeries\n\n\nReturn a time_series truncated starting with timestamp.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_count-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_count","text":"get_count(value::DeterministicSingleTimeSeries) -> Int64\n\n\nGet DeterministicSingleTimeSeries count.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_data-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_data","text":"get_data(value::SingleTimeSeries) -> TimeSeries.TimeArray\n\n\nGet SingleTimeSeries data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_horizon-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_horizon","text":"get_horizon(value::DeterministicSingleTimeSeries) -> Int64\n\n\nGet DeterministicSingleTimeSeries horizon.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_initial_timestamp-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_initial_timestamp","text":"get_initial_timestamp(\n value::DeterministicSingleTimeSeries\n) -> Dates.DateTime\n\n\nGet DeterministicSingleTimeSeries initial_timestamp.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_interval-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_interval","text":"get_interval(\n value::DeterministicSingleTimeSeries\n) -> Dates.Period\n\n\nGet DeterministicSingleTimeSeries interval.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_name-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_name","text":"get_name(value::SingleTimeSeries) -> String\n\n\nGet SingleTimeSeries name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_resolution-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_resolution","text":"get_resolution(value::SingleTimeSeries) -> Dates.Period\n\n\nGet SingleTimeSeries resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_scaling_factor_multiplier-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_scaling_factor_multiplier","text":"get_scaling_factor_multiplier(\n value::SingleTimeSeries\n) -> Union{Nothing, Function}\n\n\nGet SingleTimeSeries scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_single_time_series-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_single_time_series","text":"get_single_time_series(\n value::DeterministicSingleTimeSeries\n) -> SingleTimeSeries\n\n\nGet DeterministicSingleTimeSeries single_time_series.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.head-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.head","text":"head(time_series::SingleTimeSeries) -> Any\n\n\nReturn a time_series with only the first num values.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_count!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_count!","text":"set_count!(value::DeterministicSingleTimeSeries, val) -> Any\n\n\nSet DeterministicSingleTimeSeries count.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{SingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_data!","text":"set_data!(value::SingleTimeSeries, val) -> Any\n\n\nSet SingleTimeSeries data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_horizon!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_horizon!","text":"set_horizon!(\n value::DeterministicSingleTimeSeries,\n val\n) -> Any\n\n\nSet DeterministicSingleTimeSeries horizon.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_initial_timestamp!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_initial_timestamp!","text":"set_initial_timestamp!(\n value::DeterministicSingleTimeSeries,\n val\n) -> Any\n\n\nSet DeterministicSingleTimeSeries initial_timestamp.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_interval!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_interval!","text":"set_interval!(\n value::DeterministicSingleTimeSeries,\n val\n) -> Any\n\n\nSet DeterministicSingleTimeSeries interval.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{SingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(value::SingleTimeSeries, val) -> Any\n\n\nSet SingleTimeSeries name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_scaling_factor_multiplier!-Tuple{SingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_scaling_factor_multiplier!","text":"set_scaling_factor_multiplier!(\n value::SingleTimeSeries,\n val\n) -> Any\n\n\nSet SingleTimeSeries scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_single_time_series!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_single_time_series!","text":"set_single_time_series!(\n value::DeterministicSingleTimeSeries,\n val\n) -> Any\n\n\nSet DeterministicSingleTimeSeries single_time_series.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.tail-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.tail","text":"tail(time_series::SingleTimeSeries) -> Any\n\n\nReturn a time_series with only the ending num values.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.to-Tuple{SingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.to","text":"to(\n time_series::SingleTimeSeries,\n timestamp\n) -> SingleTimeSeries\n\n\nReturn a time_series truncated after timestamp.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.when-Tuple{SingleTimeSeries, Function, Integer}","page":"Public API Reference","title":"InfrastructureSystems.when","text":"when(\n time_series::SingleTimeSeries,\n period::Function,\n t::Integer\n) -> Any\n\n\nRefer to TimeSeries.when(). Underlying data is copied.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_initial_times-Tuple{Forecast}","page":"Public API Reference","title":"InfrastructureSystems.get_initial_times","text":"get_initial_times(f::Forecast) -> Any\n\n\nReturn the initial times in the forecast.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_total_period-Tuple{Forecast}","page":"Public API Reference","title":"InfrastructureSystems.get_total_period","text":"get_total_period(f::Forecast) -> Any\n\n\nReturn the total period covered by the forecast.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_window-Tuple{Forecast, Int64}","page":"Public API Reference","title":"InfrastructureSystems.get_window","text":"get_window(forecast::Forecast, index::Int64; len) -> Any\n\n\nReturn the forecast window corresponsing to interval index.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.index_to_initial_time-Tuple{Forecast, Int64}","page":"Public API Reference","title":"InfrastructureSystems.index_to_initial_time","text":"index_to_initial_time(\n forecast::Forecast,\n index::Int64\n) -> Any\n\n\nReturn the Dates.DateTime corresponding to an interval index.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.make_time_array-Tuple{Forecast, Dates.DateTime}","page":"Public API Reference","title":"InfrastructureSystems.make_time_array","text":"make_time_array(\n forecast::Forecast,\n start_time::Dates.DateTime;\n len\n) -> Any\n\n\nReturn a TimeSeries.TimeArray for one forecast window.\n\n\n\n\n\n","category":"method"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [InfrastructureSystems]\nPages = [\"time_series_cache.jl\"]\nOrder = [:type, :function]\nFilter = t -> t ∈ [InfrastructureSystems.get_next_time_series_array!,\n InfrastructureSystems.get_next_time]","category":"page"},{"location":"api/public/#InfrastructureSystems.get_next_time-Tuple{InfrastructureSystems.TimeSeriesCache}","page":"Public API Reference","title":"InfrastructureSystems.get_next_time","text":"get_next_time(\n cache::InfrastructureSystems.TimeSeriesCache\n) -> Any\n\n\nReturn the timestamp for the next read with get_next_time_series_array!.\n\nReturn nothing if all data has been read.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_next_time_series_array!-Tuple{InfrastructureSystems.TimeSeriesCache}","page":"Public API Reference","title":"InfrastructureSystems.get_next_time_series_array!","text":"get_next_time_series_array!(\n cache::InfrastructureSystems.TimeSeriesCache\n) -> Any\n\n\nReturn the next TimeSeries.TimeArray.\n\nReturns nothing when all data has been read. Call reset! to restart. Call get_next_time to check the start time.\n\nReads from storage if the data is not already in cache.\n\nArguments\n\ncache::StaticTimeSeriesCache: cached instance\n\n\n\n\n\n","category":"method"},{"location":"api/public/#System","page":"Public API Reference","title":"System","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"base.jl\"]\nPublic = true\nPrivate = false\nFilter = t -> t ∈ [System]","category":"page"},{"location":"api/public/#PowerSystems.System","page":"Public API Reference","title":"PowerSystems.System","text":"System\n\nA power system defined by fields for base_power, components, and time series.\n\nSystem(base_power)\nSystem(base_power, buses, components...)\nSystem(base_power, buses, generators, loads, branches, storage, services; kwargs...)\nSystem(base_power, buses, generators, loads; kwargs...)\nSystem(file; kwargs...)\nSystem(; buses, generators, loads, branches, storage, base_power, services, kwargs...)\nSystem(; kwargs...)\n\nArguments\n\nbase_power::Float64: the base power value for the system\nbuses::Vector{ACBus}: an array of buses\ncomponents...: Each element must be an iterable containing subtypes of Component.\n\nKeyword arguments\n\next::Dict: Contains user-defined parameters. Should only contain standard types.\nrunchecks::Bool: Run available checks on input fields and when add_component! is called. Throws InvalidValue if an error is found.\ntime_series_in_memory::Bool=false: Store time series data in memory instead of HDF5.\nenable_compression::Bool=false: Enable compression of time series data in HDF5.\ncompression::CompressionSettings: Allows customization of HDF5 compression settings.\nconfig_path::String: specify path to validation config file\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.System-Tuple{AbstractString, AbstractString}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n sys_file::AbstractString,\n dyr_file::AbstractString;\n kwargs...\n) -> Any\n\n\nParse static and dynamic data directly from PSS/e text files. Automatically generates all the relationships between the available dynamic injection models and the static counterpart\n\nEach dictionary indexed by id contains a vector with 5 of its components:\n\nMachine\nShaft\nAVR\nTurbineGov\nPSS\n\nFiles must be parsed from a .raw file (PTI data format) and a .dyr file.\n\nExamples:\n\nraw_file = \"Example.raw\"\ndyr_file = \"Example.dyr\"\nsys = System(raw_file, dyr_file)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{AbstractString}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n file_path::AbstractString;\n assign_new_uuids,\n kwargs...\n) -> Any\n\n\nConstructs a System from a file path ending with .m, .RAW, or .json\n\nIf the file is JSON then assignnewuuids = true will generate new UUIDs for the system and all components.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{Any, Number}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n data,\n base_power::Number;\n internal,\n kwargs...\n) -> System\n\n\nConstruct a System from InfrastructureSystems.SystemData\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{Float64, Vector{ACBus}, Vararg{Any}}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n base_power::Float64,\n buses::Vector{ACBus},\n components...;\n kwargs...\n) -> System\n\n\nSystem constructor when components are constructed externally.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{Nothing}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n ::Nothing;\n buses,\n generators,\n loads,\n branches,\n storage,\n base_power,\n services,\n kwargs...\n) -> System\n\n\nConstructs a non-functional System for demo purposes.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{Number}","page":"Public API Reference","title":"PowerSystems.System","text":"System(base_power::Number; kwargs...) -> System\n\n\nConstruct an empty System. Useful for building a System while parsing raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"parsers/power_system_table_data.jl\",\n \"parsers/power_models_data.jl\",\n \"parsers/TAMU_data.jl\",\n \"parsers/psse_dynamic_data.jl\"]\nPublic = true\nPrivate = false\nFilter = t -> t ∈ [System]","category":"page"},{"location":"api/public/#PowerSystems.System-Tuple{PowerSystemTableData}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n data::PowerSystemTableData;\n time_series_resolution,\n time_series_in_memory,\n time_series_directory,\n runchecks,\n kwargs...\n) -> System\n\n\nConstruct a System from PowerSystemTableData data.\n\nArguments\n\ntime_series_resolution::Union{DateTime, Nothing}=nothing: only store time_series that match this resolution.\ntime_series_in_memory::Bool=false: Store time series data in memory instead of HDF5 file\ntime_series_directory=nothing: Store time series data in directory instead of tmpfs\nrunchecks::Bool=true: Validate struct fields.\n\nThrows DataFormatError if time_series with multiple resolutions are detected.\n\nA time_series has a different resolution than others.\nA time_series has a different horizon than others.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{PowerModelsData}","page":"Public API Reference","title":"PowerSystems.System","text":"System(pm_data::PowerModelsData; kwargs...) -> Any\n\n\nConstructs a System from PowerModelsData.\n\nArguments\n\npm_data::Union{PowerModelsData, Union{String, IO}}: PowerModels data object or supported\n\nload flow case (*.m, *.raw)\n\nKeyword arguments\n\next::Dict: Contains user-defined parameters. Should only contain standard types.\nrunchecks::Bool: Run available checks on input fields and when add_component! is called. Throws InvalidValue if an error is found.\ntime_series_in_memory::Bool=false: Store time series data in memory instead of HDF5.\nconfig_path::String: specify path to validation config file\npm_data_corrections::Bool=true : Run the PowerModels data corrections (aka :validate in PowerModels)\nimport_all:Bool=false : Import all fields from PTI files\n\nExamples\n\nsys = System(\n pm_data, config_path = \"ACTIVSg25k_validation.json\",\n bus_name_formatter = x->string(x[\"name\"]*\"-\"*string(x[\"index\"])),\n load_name_formatter = x->strip(join(x[\"source_id\"], \"_\"))\n)\n\n\n\n\n\n","category":"method"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"base.jl\"]\nPublic = true\nPrivate = false\nFilter = t -> t ∉ [System]","category":"page"},{"location":"api/public/#InfrastructureSystems.get_name-Tuple{System}","page":"Public API Reference","title":"InfrastructureSystems.get_name","text":"get_name(sys::System) -> Union{Nothing, String}\n\n\nGet the name of the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_multiple","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_multiple","text":"get_time_series_multiple(sys::System; ...) -> Channel{Any}\nget_time_series_multiple(\n sys::System,\n filter_func;\n type,\n name\n) -> Channel{Any}\n\n\nReturn an iterator of time series in order of initial time.\n\nNote that passing a filter function can be much slower than the other filtering parameters because it reads time series data from media.\n\nCall collect on the result to get an array.\n\nArguments\n\ndata::SystemData: system\nfilter_func = nothing: Only return time series for which this returns true.\ntype = nothing: Only return time series with this type.\nname = nothing: Only return time series matching this value.\n\nExamples\n\nfor time_series in get_time_series_multiple(sys)\n @show time_series\nend\n\nts = collect(get_time_series_multiple(sys; type = SingleTimeSeries))\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{Component, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(\n component::Component,\n name::AbstractString\n) -> AbstractString\n\n\nSet the name of a component.\n\nThrows an exception if the component is attached to a system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{System, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(\n sys::System,\n name::AbstractString\n) -> AbstractString\n\n\nSet the name of the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{System, Component, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(\n sys::System,\n component::Component,\n name::AbstractString\n)\n\n\nSet the name for a component that is attached to the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.to_json-Tuple{System, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.to_json","text":"to_json(\n sys::System,\n filename::AbstractString;\n user_data,\n pretty,\n force,\n runchecks\n)\n\n\nSerializes a system to a JSON string.\n\nArguments\n\nsys::System: system\nfilename::AbstractString: filename to write\n\nKeyword arguments\n\nuser_data::Union{Nothing, Dict} = nothing: optional metadata to record\npretty::Bool = false: whether to pretty-print the JSON\nforce::Bool = false: whether to overwrite existing files\ncheck::Bool = false: whether to run system validation checks\n\nRefer to check_component for exceptions thrown if check = true.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_component!-Tuple{System, DynamicInjection, StaticInjection}","page":"Public API Reference","title":"PowerSystems.add_component!","text":"add_component!(\n sys::System,\n dyn_injector::DynamicInjection,\n static_injector::StaticInjection;\n kwargs...\n)\n\n\nAdd a dynamic injector to the system.\n\nThrows ArgumentError if the name does not match the staticinjector name. Throws ArgumentError if the staticinjector is not attached to the system.\n\nAll rules for the generic add_component! method also apply.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_component!-Union{Tuple{T}, Tuple{System, T}} where T<:Component","page":"Public API Reference","title":"PowerSystems.add_component!","text":"add_component!(\n sys::System,\n component::Component;\n skip_validation,\n kwargs...\n)\n\n\nAdd a component to the system.\n\nThrows ArgumentError if the component's name is already stored for its concrete type. Throws ArgumentError if any Component-specific rule is violated. Throws InvalidValue if any of the component's field values are outside of defined valid range.\n\nExamples\n\nsys = System(100.0)\n\n# Add a single component.\nadd_component!(sys, bus)\n\n# Add many at once.\nbuses = [bus1, bus2, bus3]\ngenerators = [gen1, gen2, gen3]\nforeach(x -> add_component!(sys, x), Iterators.flatten((buses, generators)))\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_components!-Tuple{System, Any}","page":"Public API Reference","title":"PowerSystems.add_components!","text":"add_components!(sys::System, components)\n\n\nAdd many components to the system at once.\n\nThrows ArgumentError if the component's name is already stored for its concrete type. Throws ArgumentError if any Component-specific rule is violated. Throws InvalidValue if any of the component's field values are outside of defined valid range.\n\nExamples\n\nsys = System(100.0)\n\nbuses = [bus1, bus2, bus3]\ngenerators = [gen1, gen2, gen3]\nforeach(x -> add_component!(sys, x), Iterators.flatten((buses, generators)))\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_service!-Tuple{Device, Service, System}","page":"Public API Reference","title":"PowerSystems.add_service!","text":"add_service!(device::Device, service::Service, sys::System)\n\n\nSimilar to add_service! but for Service and Device already stored in the system. Performs validation checks on the device and the system\n\nArguments\n\ndevice::Device: Device\nservice::Service: Service\nsys::System: system\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_service!-Tuple{System, Service, Any}","page":"Public API Reference","title":"PowerSystems.add_service!","text":"add_service!(\n sys::System,\n service::Service,\n contributing_devices;\n kwargs...\n)\n\n\nSimilar to add_component! but for services.\n\nArguments\n\nsys::System: system\nservice::Service: service to add\ncontributing_devices: Must be an iterable of type Device\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_service!-Tuple{System, Service, Device}","page":"Public API Reference","title":"PowerSystems.add_service!","text":"add_service!(\n sys::System,\n service::Service,\n contributing_device::Device;\n kwargs...\n)\n\n\nSimilar to add_component! but for services.\n\nArguments\n\nsys::System: system\nservice::Service: service to add\ncontributing_device::Device: Valid Device\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_service!-Tuple{System, StaticReserveGroup, Vector{<:Service}}","page":"Public API Reference","title":"PowerSystems.add_service!","text":"add_service!(\n sys::System,\n service::StaticReserveGroup,\n contributing_services::Vector{<:Service};\n skip_validation,\n kwargs...\n)\n\n\nSimilar to add_component! but for StaticReserveGroup.\n\nArguments\n\nsys::System: system\nservice::StaticReserveGroup: service to add\ncontributing_services: contributing services to the group\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_service!-Tuple{System, StaticReserveGroup}","page":"Public API Reference","title":"PowerSystems.add_service!","text":"add_service!(\n sys::System,\n service::StaticReserveGroup;\n skip_validation,\n kwargs...\n)\n\n\nSimilar to add_component! but for StaticReserveGroup.\n\nArguments\n\nsys::System: system\nservice::StaticReserveGroup: service to add\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_time_series!-Tuple{System, AbstractString}","page":"Public API Reference","title":"PowerSystems.add_time_series!","text":"add_time_series!(\n sys::System,\n metadata_file::AbstractString;\n resolution\n)\n\n\nAdd time series data from a metadata file or metadata descriptors.\n\nArguments\n\nsys::System: system\nmetadata_file::AbstractString: metadata file for timeseries that includes an array of IS.TimeSeriesFileMetadata instances or a vector.\nresolution::DateTime.Period=nothing: skip time series that don't match this resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_time_series!-Tuple{System, Any, TimeSeriesData}","page":"Public API Reference","title":"PowerSystems.add_time_series!","text":"add_time_series!(\n sys::System,\n components,\n time_series::TimeSeriesData\n)\n\n\nAdd the same time series data to multiple components.\n\nThis is significantly more efficent than calling add_time_series! for each component individually with the same data because in this case, only one time series array is stored.\n\nThrows ArgumentError if a component is not stored in the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_time_series!-Tuple{System, Component, TimeSeriesData}","page":"Public API Reference","title":"PowerSystems.add_time_series!","text":"add_time_series!(\n sys::System,\n component::Component,\n time_series::TimeSeriesData\n)\n\n\nAdd time series data to a component.\n\nThrows ArgumentError if the component is not stored in the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_time_series!-Tuple{System, Vector{InfrastructureSystems.TimeSeriesFileMetadata}}","page":"Public API Reference","title":"PowerSystems.add_time_series!","text":"add_time_series!(\n sys::System,\n file_metadata::Vector{InfrastructureSystems.TimeSeriesFileMetadata};\n resolution\n)\n\n\nAdd time series data from a metadata file or metadata descriptors.\n\nArguments\n\nsys::System: system\ntimeseries_metadata::Vector{IS.TimeSeriesFileMetadata}: metadata for timeseries\nresolution::DateTime.Period=nothing: skip time series that don't match this resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check-Tuple{System}","page":"Public API Reference","title":"PowerSystems.check","text":"check(sys::System)\n\n\nCheck system consistency and validity.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check_component-Tuple{System, Component}","page":"Public API Reference","title":"PowerSystems.check_component","text":"check_component(sys::System, component::Component)\n\n\nCheck the values of a component.\n\nThrows InvalidValue if any of the component's field values are outside of defined valid range or if the custom validate method for the type fails its check.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check_components-Tuple{System, Any}","page":"Public API Reference","title":"PowerSystems.check_components","text":"check_components(sys::System, components)\n\n\nCheck the values of each component in an iterable of components. See check_component for exceptions thrown.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check_components-Tuple{System}","page":"Public API Reference","title":"PowerSystems.check_components","text":"check_components(sys::System; check_masked_components)\n\n\nCheck the values of all components. See check_component for exceptions thrown.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check_components-Union{Tuple{T}, Tuple{System, Type{T}}} where T<:Component","page":"Public API Reference","title":"PowerSystems.check_components","text":"check_components(\n sys::System,\n ::Type{T<:Component};\n check_masked_components\n)\n\n\nCheck the values of components of a given abstract or concrete type. See check_component for exceptions thrown.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check_time_series_consistency-Union{Tuple{T}, Tuple{System, Type{T}}} where T<:TimeSeriesData","page":"Public API Reference","title":"PowerSystems.check_time_series_consistency","text":"check_time_series_consistency(\n sys::System,\n _::Type{T<:TimeSeriesData}\n) -> Union{Nothing, Tuple{Any, Int64}}\n\n\nChecks time series in the system for inconsistencies.\n\nFor SingleTimeSeries, returns a Tuple of initial_timestamp and length.\n\nThis is a no-op for subtypes of Forecast because those are already guaranteed to be consistent.\n\nThrows InfrastructureSystems.InvalidValue if any time series is inconsistent.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.clear_components!-Tuple{System}","page":"Public API Reference","title":"PowerSystems.clear_components!","text":"clear_components!(sys::System)\n\n\nRemove all components from the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.clear_ext!-Tuple{System}","page":"Public API Reference","title":"PowerSystems.clear_ext!","text":"clear_ext!(sys::System)\n\n\nClear any value stored in ext.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.clear_time_series!-Tuple{System}","page":"Public API Reference","title":"PowerSystems.clear_time_series!","text":"clear_time_series!(sys::System)\n\n\nRemove all time series data from the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.convert_component!-Tuple{System, Line, Type{MonitoredLine}}","page":"Public API Reference","title":"PowerSystems.convert_component!","text":"convert_component!(\n sys::System,\n line::Line,\n linetype::Type{MonitoredLine};\n kwargs...\n)\n\n\nConverts a Line component to a MonitoredLine component and replaces the original in the system\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.convert_component!-Tuple{System, MonitoredLine, Type{Line}}","page":"Public API Reference","title":"PowerSystems.convert_component!","text":"convert_component!(\n sys::System,\n line::MonitoredLine,\n linetype::Type{Line};\n kwargs...\n)\n\n\nConverts a MonitoredLine component to a Line component and replaces the original in the system\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.convert_component!-Tuple{System, PowerLoad, Type{StandardLoad}}","page":"Public API Reference","title":"PowerSystems.convert_component!","text":"convert_component!(\n sys::System,\n old_load::PowerLoad,\n new_type::Type{StandardLoad};\n kwargs...\n)\n\n\nConverts a PowerLoad component to a StandardLoad component and replaces the original in the system. Does not set any fields in StandardLoad that lack a PowerLoad equivalent\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_aggregation_topology_mapping-Union{Tuple{T}, Tuple{Type{T}, System}} where T<:AggregationTopology","page":"Public API Reference","title":"PowerSystems.get_aggregation_topology_mapping","text":"get_aggregation_topology_mapping(\n _::Type{T<:AggregationTopology},\n sys::System\n) -> Dict{String, Vector{ACBus}}\n\n\nReturn a mapping of AggregationTopology name to vector of buses within it.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_base_power-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_base_power","text":"get_base_power(sys::System) -> Float64\n\n\nReturn the system's base power.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_bus-Tuple{System, AbstractString}","page":"Public API Reference","title":"PowerSystems.get_bus","text":"get_bus(\n sys::System,\n name::AbstractString\n) -> Union{Nothing, ACBus}\n\n\nReturn bus with name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_bus-Tuple{System, Int64}","page":"Public API Reference","title":"PowerSystems.get_bus","text":"get_bus(sys::System, bus_number::Int64) -> Any\n\n\nReturn bus with bus_number.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_bus_numbers-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_bus_numbers","text":"get_bus_numbers(sys::System) -> Vector{Int64}\n\n\nReturn a sorted vector of bus numbers in the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_buses-Tuple{System, AggregationTopology}","page":"Public API Reference","title":"PowerSystems.get_buses","text":"get_buses(\n sys::System,\n aggregator::AggregationTopology\n) -> Vector{ACBus}\n\n\nReturn a vector of buses contained within the AggregationTopology.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_buses-Tuple{System, Set{Int64}}","page":"Public API Reference","title":"PowerSystems.get_buses","text":"get_buses(\n sys::System,\n bus_numbers::Set{Int64}\n) -> Vector{ACBus}\n\n\nReturn all buses values with bus_numbers.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_component-Union{Tuple{T}, Tuple{Type{T}, System, AbstractString}} where T<:Component","page":"Public API Reference","title":"PowerSystems.get_component","text":"get_component(\n _::Type{T<:Component},\n sys::System,\n name::AbstractString\n) -> Any\n\n\nGet the component of type T with name. Returns nothing if no component matches. If T is an abstract type then the names of components across all subtypes of T must be unique.\n\nSee get_components_by_name for abstract types with non-unique names across subtypes.\n\nThrows ArgumentError if T is not a concrete type and there is more than one component with requested name\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_components-Union{Tuple{T}, Tuple{Type{T}, System}} where T<:Component","page":"Public API Reference","title":"PowerSystems.get_components","text":"get_components(\n _::Type{T<:Component},\n sys::System\n) -> InfrastructureSystems.FlattenIteratorWrapper{T, I} where {T<:Component, I<:(Vector)}\n\n\nReturns an iterator of components. T can be concrete or abstract. Call collect on the result if an array is desired.\n\nExamples\n\niter = PowerSystems.get_components(ThermalStandard, sys)\niter = PowerSystems.get_components(Generator, sys)\niter = PowerSystems.get_components(x -> PowerSystems.get_available(x), Generator, sys)\nthermal_gens = get_components(ThermalStandard, sys) do gen\n get_available(gen)\nend\ngenerators = collect(PowerSystems.get_components(Generator, sys))\n\n\nSee also: iterate_components\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_components_by_name-Union{Tuple{T}, Tuple{Type{T}, System, AbstractString}} where T<:Component","page":"Public API Reference","title":"PowerSystems.get_components_by_name","text":"get_components_by_name(\n _::Type{T<:Component},\n sys::System,\n name::AbstractString\n) -> Vector{T} where T<:InfrastructureSystems.InfrastructureSystemsComponent\n\n\nGet the components of abstract type T with name. Note that PowerSystems enforces unique names on each concrete type but not across concrete types.\n\nSee get_component if the concrete type is known.\n\nThrows ArgumentError if T is not an abstract type.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_components_in_aggregation_topology-Union{Tuple{T}, Tuple{Type{T}, System, AggregationTopology}} where T<:StaticInjection","page":"Public API Reference","title":"PowerSystems.get_components_in_aggregation_topology","text":"get_components_in_aggregation_topology(\n _::Type{T<:StaticInjection},\n sys::System,\n aggregator::AggregationTopology\n) -> Vector{T} where T<:StaticInjection\n\n\nReturn a vector of components with buses in the AggregationTopology.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_compression_settings-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_compression_settings","text":"get_compression_settings(sys::System) -> CompressionSettings\n\n\nReturn the compression settings used for system data such as time series arrays.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_contributing_device_mapping-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_contributing_device_mapping","text":"get_contributing_device_mapping(\n sys::System\n) -> Dict{@NamedTuple{type::DataType, name::String}, ServiceContributingDevices}\n\n\nReturn an instance of ServiceContributingDevicesMapping.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_contributing_devices-Union{Tuple{T}, Tuple{System, T}} where T<:Service","page":"Public API Reference","title":"PowerSystems.get_contributing_devices","text":"get_contributing_devices(\n sys::System,\n service::Service\n) -> Vector\n\n\nReturn a vector of devices contributing to the service.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_description-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_description","text":"get_description(sys::System) -> Union{Nothing, String}\n\n\nGet the description of the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_existing_component_types-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_existing_component_types","text":"get_existing_component_types(\n sys::System\n) -> Vector{DataType}\n\n\nReturn all the component types in the system. It does not return masked components.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_existing_device_types-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_existing_device_types","text":"get_existing_device_types(sys::System) -> Vector{DataType}\n\n\nReturn all the device types in the system. It does not return component types or masked components.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_ext-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_ext","text":"get_ext(sys::System) -> Union{Nothing, Dict{String, Any}}\n\n\nReturn a user-modifiable dictionary to store extra information.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_horizon-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_horizon","text":"get_forecast_horizon(sys::System) -> Int64\n\n\nReturn the horizon for all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_initial_times-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_initial_times","text":"get_forecast_initial_times(sys::System) -> Any\n\n\nReturn the initial times for all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_initial_timestamp-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_initial_timestamp","text":"get_forecast_initial_timestamp(\n sys::System\n) -> Dates.DateTime\n\n\nReturn the initial_timestamp for all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_interval-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_interval","text":"get_forecast_interval(sys::System) -> Dates.Period\n\n\nReturn the interval for all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_total_period-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_total_period","text":"get_forecast_total_period(sys::System) -> Any\n\n\nReturn the total period covered by all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_window_count-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_window_count","text":"get_forecast_window_count(sys::System) -> Int64\n\n\nReturn the window count for all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_frequency-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_frequency","text":"get_frequency(sys::System) -> Float64\n\n\nReturn the system's frequency.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_runchecks-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_runchecks","text":"get_runchecks(sys::System) -> Bool\n\n\nReturn true if checks are enabled on the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_time_series_counts-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_time_series_counts","text":"get_time_series_counts(\n sys::System\n) -> Tuple{Int64, Any, Any}\n\n\nReturn a tuple of counts of components with time series and total time series and forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_time_series_resolution-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_time_series_resolution","text":"get_time_series_resolution(sys::System) -> Dates.Period\n\n\nReturn the resolution for all time series.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.iterate_components-Tuple{System}","page":"Public API Reference","title":"PowerSystems.iterate_components","text":"iterate_components(sys::System) -> Channel{Any}\n\n\nIterates over all components.\n\nExamples\n\nfor component in iterate_components(sys)\n @show component\nend\n\nSee also: get_components\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_component!-Union{Tuple{T}, Tuple{System, T}} where T<:Component","page":"Public API Reference","title":"PowerSystems.remove_component!","text":"remove_component!(sys::System, component::Component)\n\n\nRemove a component from the system by its value.\n\nThrows ArgumentError if the component is not stored.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_component!-Union{Tuple{T}, Tuple{Type{T}, System, AbstractString}} where T<:Component","page":"Public API Reference","title":"PowerSystems.remove_component!","text":"remove_component!(\n _::Type{T<:Component},\n sys::System,\n name::AbstractString\n)\n\n\nRemove a component from the system by its name.\n\nThrows ArgumentError if the component is not stored.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_time_series!-Union{Tuple{T}, Tuple{System, Type{T}, Component, String}} where T<:TimeSeriesData","page":"Public API Reference","title":"PowerSystems.remove_time_series!","text":"remove_time_series!(\n sys::System,\n _::Type{T<:TimeSeriesData},\n component::Component,\n name::String\n)\n\n\nRemove the time series data for a component and time series type.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_time_series!-Union{Tuple{T}, Tuple{System, Type{T}}} where T<:TimeSeriesData","page":"Public API Reference","title":"PowerSystems.remove_time_series!","text":"remove_time_series!(sys::System, _::Type{T<:TimeSeriesData})\n\n\nRemove all the time series data for a time series type.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.sanitize_component!-Tuple{Component, System}","page":"Public API Reference","title":"PowerSystems.sanitize_component!","text":"sanitize_component!(component::Component, sys::System)\n\n\nSanitize component values.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_contributing_services!-Tuple{System, StaticReserveGroup, Vector{<:Service}}","page":"Public API Reference","title":"PowerSystems.set_contributing_services!","text":"set_contributing_services!(\n sys::System,\n service::StaticReserveGroup,\n val::Vector{<:Service}\n)\n\n\nSet StaticReserveGroup contributing_services with check\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_description!-Tuple{System, AbstractString}","page":"Public API Reference","title":"PowerSystems.set_description!","text":"set_description!(\n sys::System,\n description::AbstractString\n) -> AbstractString\n\n\nSet the description of the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_runchecks!-Tuple{System, Bool}","page":"Public API Reference","title":"PowerSystems.set_runchecks!","text":"set_runchecks!(sys::System, value::Bool)\n\n\nEnable or disable system checks. Applies to component addition as well as overall system consistency.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_units_base_system!-Tuple{System, String}","page":"Public API Reference","title":"PowerSystems.set_units_base_system!","text":"set_units_base_system!(system::System, settings::String)\n\n\nSets the units base for the getter functions on the devices. It modifies the behavior of all getter functions\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.transform_single_time_series!-Tuple{System, Int64, Dates.Period}","page":"Public API Reference","title":"PowerSystems.transform_single_time_series!","text":"transform_single_time_series!(\n sys::System,\n horizon::Int64,\n interval::Dates.Period\n)\n\n\nTransform all instances of SingleTimeSeries to DeterministicSingleTimeSeries.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.validate_component-Tuple{Component}","page":"Public API Reference","title":"PowerSystems.validate_component","text":"validate_component(component::Component) -> Bool\n\n\nValidate the component fields using only those fields. Refer to validate_component_with_system to use other System data for the validation.\n\nReturn true if the instance is valid.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.validate_component_with_system-Tuple{Component, System}","page":"Public API Reference","title":"PowerSystems.validate_component_with_system","text":"validate_component_with_system(\n component::Component,\n sys::System\n) -> Bool\n\n\nValidate a component against System data. Return true if the instance is valid.\n\nRefer to validate_component if the validation logic only requires data contained within the instance.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#Additional-Component-Methods","page":"Public API Reference","title":"Additional Component Methods","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"supplemental_accessors.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"api/public/#PowerSystems.get_max_active_power-Tuple{T} where T<:Device","page":"Public API Reference","title":"PowerSystems.get_max_active_power","text":"get_max_active_power(d::Device) -> Any\n\n\nReturn the max active power for a device from getactivepower_limits.max\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_max_reactive_power-Tuple{RenewableDispatch}","page":"Public API Reference","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(d::RenewableDispatch) -> Any\n\n\nReturn the max reactive power for the Renewable Generation calculated as the rating * powerfactor if reactivepower_limits is nothing\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_max_reactive_power-Tuple{T} where T<:Device","page":"Public API Reference","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(d::Device) -> Any\n\n\nReturn the max reactive power for a device from getreactivepower_limits.max\n\n\n\n\n\n","category":"method"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [InfrastructureSystems]\nPages = [\"component.jl\", \"components.jl\"]\nFilter = t -> t ∈ [InfrastructureSystems.get_time_series,\n InfrastructureSystems.get_time_series_array,\n InfrastructureSystems.get_time_series_timestamps,\n InfrastructureSystems.get_time_series_values,\n ]","category":"page"},{"location":"api/public/#InfrastructureSystems.get_time_series-Union{Tuple{T}, Tuple{Type{T}, InfrastructureSystems.InfrastructureSystemsComponent, AbstractString}} where T<:TimeSeriesData","page":"Public API Reference","title":"InfrastructureSystems.get_time_series","text":"get_time_series(\n ::Type{T<:TimeSeriesData},\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n name::AbstractString;\n start_time,\n len,\n count\n) -> Any\n\n\nReturn a time series corresponding to the given parameters.\n\nArguments\n\n::Type{T}: Concrete subtype of TimeSeriesData to return\ncomponent::InfrastructureSystemsComponent: Component containing the time series\nname::AbstractString: name of time series\nstart_time::Union{Nothing, Dates.DateTime} = nothing: If nothing, use the initial_timestamp of the time series. If T is a subtype of Forecast then start_time must be the first timstamp of a window.\nlen::Union{Nothing, Int} = nothing: Length in the time dimension. If nothing, use the entire length.\ncount::Union{Nothing, Int} = nothing: Only applicable to subtypes of Forecast. Number of forecast windows starting at start_time to return. Defaults to all available.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_array","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_array","text":"get_time_series_array(\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n time_series::StaticTimeSeries;\n ...\n) -> Any\nget_time_series_array(\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n time_series::StaticTimeSeries,\n start_time::Union{Nothing, Dates.DateTime};\n len,\n ignore_scaling_factors\n) -> Any\n\n\nReturn a TimeSeries.TimeArray from a cached StaticTimeSeries instance.\n\nIf the data are scaling factors then the stored scalingfactormultiplier will be called on the component and applied to the data unless ignorescalingfactors is true.\n\nSee also StaticTimeSeriesCache.\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.get_time_series_array-Tuple{InfrastructureSystems.InfrastructureSystemsComponent, Forecast, Dates.DateTime}","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_array","text":"get_time_series_array(\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n forecast::Forecast,\n start_time::Dates.DateTime;\n len,\n ignore_scaling_factors\n) -> Any\n\n\nReturn a TimeSeries.TimeArray for one forecast window from a cached Forecast instance.\n\nIf the data are scaling factors then the stored scalingfactormultiplier will be called on the component and applied to the data unless ignorescalingfactors is true.\n\nSee also ForecastCache.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_array-Union{Tuple{T}, Tuple{Type{T}, InfrastructureSystems.InfrastructureSystemsComponent, AbstractString}} where T<:TimeSeriesData","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_array","text":"get_time_series_array(\n ::Type{T<:TimeSeriesData},\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n name::AbstractString;\n start_time,\n len,\n ignore_scaling_factors\n) -> Any\n\n\nReturn a TimeSeries.TimeArray from storage for the given time series parameters.\n\nIf the data are scaling factors then the stored scalingfactormultiplier will be called on the component and applied to the data unless ignorescalingfactors is true.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_timestamps","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_timestamps","text":"get_time_series_timestamps(\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n time_series::StaticTimeSeries;\n ...\n) -> Vector{D} where D<:Dates.TimeType\nget_time_series_timestamps(\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n time_series::StaticTimeSeries,\n start_time::Union{Nothing, Dates.DateTime};\n len\n) -> Vector{D} where D<:Dates.TimeType\n\n\nReturn a vector of timestamps from a cached StaticTimeSeries instance.\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.get_time_series_timestamps-2","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_timestamps","text":"get_time_series_timestamps(\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n forecast::Forecast;\n ...\n)\nget_time_series_timestamps(\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n forecast::Forecast,\n start_time::Union{Nothing, Dates.DateTime};\n len\n) -> Vector{D} where D<:Dates.TimeType\n\n\nReturn a vector of timestamps from a cached Forecast instance.\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.get_time_series_timestamps-Union{Tuple{T}, Tuple{Type{T}, InfrastructureSystems.InfrastructureSystemsComponent, AbstractString}} where T<:TimeSeriesData","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_timestamps","text":"get_time_series_timestamps(\n ::Type{T<:TimeSeriesData},\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n name::AbstractString;\n start_time,\n len\n) -> Vector{D} where D<:Dates.TimeType\n\n\nReturn a vector of timestamps from storage for the given time series parameters.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_values","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_values","text":"get_time_series_values(\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n time_series::StaticTimeSeries;\n ...\n) -> Any\nget_time_series_values(\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n time_series::StaticTimeSeries,\n start_time::Union{Nothing, Dates.DateTime};\n len,\n ignore_scaling_factors\n) -> Any\n\n\nReturn an Array of values from a cached StaticTimeSeries instance for the requested time series parameters.\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.get_time_series_values-Tuple{InfrastructureSystems.InfrastructureSystemsComponent, Forecast, Dates.DateTime}","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_values","text":"get_time_series_values(\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n forecast::Forecast,\n start_time::Dates.DateTime;\n len,\n ignore_scaling_factors\n) -> Any\n\n\nReturn an Array of values for one forecast window from a cached Forecast instance.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_values-Union{Tuple{T}, Tuple{Type{T}, InfrastructureSystems.InfrastructureSystemsComponent, AbstractString}} where T<:TimeSeriesData","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_values","text":"get_time_series_values(\n ::Type{T<:TimeSeriesData},\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n name::AbstractString;\n start_time,\n len,\n ignore_scaling_factors\n) -> Any\n\n\nReturn an Array of values from storage for the requested time series parameters.\n\nIf the data size is small and this will be called many times, consider using the version that accepts a cached TimeSeriesData instance.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#net_mat","page":"Public API Reference","title":"Network Matrices","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"utils/network_calculations/ybus_calculations.jl\",\n \"utils/network_calculations/ptdf_calculations.jl\",\n \"utils/network_calculations/lodf_calculations.jl\",\n \"utils/network_calculations/common.jl\"]\nPrivate = false\nPublic = true","category":"page"},{"location":"api/public/#pf","page":"Public API Reference","title":"Power Flow","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"power_flow.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"api/public/#Parsing","page":"Public API Reference","title":"Parsing","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"parsers/power_system_table_data.jl\",\n \"parsers/power_models_data.jl\",\n \"parsers/TAMU_data.jl\",\n \"parsers/psse_dynamic_data.jl\"]\nPublic = true\nPrivate = false\nFilter = t -> t ∉ [System]","category":"page"},{"location":"api/public/#PowerSystems.PowerSystemTableData-Tuple{AbstractString, Float64, AbstractString}","page":"Public API Reference","title":"PowerSystems.PowerSystemTableData","text":"PowerSystemTableData(\n directory::AbstractString,\n base_power::Float64,\n user_descriptor_file::AbstractString;\n descriptor_file,\n generator_mapping_file,\n timeseries_metadata_file\n) -> PowerSystemTableData\n\n\nReads in all the data stored in csv files The general format for data is folder: gen.csv branch.csv bus.csv .. load.csv\n\nArguments\n\ndirectory::AbstractString: directory containing CSV files\nbase_power::Float64: base power for System\nuser_descriptor_file::AbstractString: customized input descriptor file\ndescriptor_file=POWER_SYSTEM_DESCRIPTOR_FILE: PowerSystems descriptor file\ngenerator_mapping_file=GENERATOR_MAPPING_FILE: generator mapping configuration file\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.PowerModelsData","page":"Public API Reference","title":"PowerSystems.PowerModelsData","text":"Container for data parsed by PowerModels\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.PowerModelsData-Tuple{Union{IO, String}}","page":"Public API Reference","title":"PowerSystems.PowerModelsData","text":"PowerModelsData(\n file::Union{IO, String};\n kwargs...\n) -> PowerModelsData\n\n\nConstructs PowerModelsData from a raw file. Currently Supports MATPOWER and PSSE data files parsed by PowerModels.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.TamuSystem-Tuple{AbstractString}","page":"Public API Reference","title":"PowerSystems.TamuSystem","text":"TamuSystem(tamu_folder::AbstractString; kwargs...) -> Any\n\n\nCreates a system from a PSS/e .RAW (v33) load flow case, and an associated .csv with MW load time series data. The format is established by the Texas A&M University Test Case Archive\n\nThe general format for data is folder: [casename].raw [casename]loadtimeseriesMW.csv\n\nArguments\n\ndirectory::AbstractString: directory containing RAW and CSV files\n\nExamples\n\nsys = TamuSystem(\n \"./ACTIVSg25k\",\n config_path = \"ACTIVSg25k_validation.json\",\n bus_name_formatter = x->string(x[\"name\"]*\"-\"*string(x[\"index\"])),\n load_name_formatter = x->strip(join(x[\"source_id\"], \"_\"))\n)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_dyn_injectors!-Tuple{System, AbstractString}","page":"Public API Reference","title":"PowerSystems.add_dyn_injectors!","text":"add_dyn_injectors!(sys::System, dyr_file::AbstractString)\n\n\nAdd to a system already created the dynamic components. The system should already be parsed from a .raw file.\n\nExamples:\n\ndyr_file = \"Example.dyr\"\nadd_dyn_injectors!(sys, dyr_file)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#logging","page":"Public API Reference","title":"Logging","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"utils/logging.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"api/public/#PowerSystems.configure_logging-Tuple{}","page":"Public API Reference","title":"PowerSystems.configure_logging","text":"configure_logging(\n;\n console_level,\n file_level,\n filename\n) -> MultiLogger\n\n\nCreates console and file loggers.\n\nNote: Log messages may not be written to the file until flush() or close() is called on the returned logger.\n\nArguments\n\nconsole_level = Logging.Error: level for console messages\nfile_level = Logging.Info: level for file messages\nfilename::Union{Nothing, AbstractString} = \"power-systems.log\": log file; pass nothing to disable file logging\n\nExample\n\nlogger = configure_logging(console_level = Logging.Info)\n@info \"log message\"\nclose(logger)\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#Reserves","page":"Reserves","title":"Reserves","text":"","category":"section"},{"location":"model_library/reserves/#Static-Reserve","page":"Reserves","title":"Static Reserve","text":"","category":"section"},{"location":"model_library/reserves/","page":"Reserves","title":"Reserves","text":"Modules = [PowerSystems]\nPages = [\"generated/StaticReserve.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/reserves/#PowerSystems.StaticReserve","page":"Reserves","title":"PowerSystems.StaticReserve","text":"mutable struct StaticReserve{T <: ReserveDirection} <: Reserve{T}\n name::String\n available::Bool\n time_frame::Float64\n requirement::Float64\n sustained_time::Float64\n max_output_fraction::Float64\n max_participation_factor::Float64\n deployed_fraction::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nData Structure for a proportional reserve product for system simulations.\n\nArguments\n\nname::String\navailable::Bool\ntime_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing), action if invalid: error\nrequirement::Float64: the static value of required reserves in system p.u., validation range: (0, nothing), action if invalid: error\nsustained_time::Float64: the time in secounds reserve contribution must sustained at a specified level, validation range: (0, nothing), action if invalid: error\nmax_output_fraction::Float64: the maximum fraction of the device's output that can be assigned to the service, validation range: (0, 1), action if invalid: error\nmax_participation_factor::Float64: the maximum limit of reserve contribution per device, validation range: (0, 1), action if invalid: error\ndeployed_fraction::Float64: Fraction of ancillary services participation deployed from the assignment, validation range: (0, 1), action if invalid: error\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/reserves/#InfrastructureSystems.get_name-Tuple{StaticReserve}","page":"Reserves","title":"InfrastructureSystems.get_name","text":"get_name(value::StaticReserve) -> String\n\n\nGet StaticReserve name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_available-Tuple{StaticReserve}","page":"Reserves","title":"PowerSystems.get_available","text":"get_available(value::StaticReserve) -> Bool\n\n\nGet StaticReserve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_deployed_fraction-Tuple{StaticReserve}","page":"Reserves","title":"PowerSystems.get_deployed_fraction","text":"get_deployed_fraction(value::StaticReserve) -> Float64\n\n\nGet StaticReserve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_ext-Tuple{StaticReserve}","page":"Reserves","title":"PowerSystems.get_ext","text":"get_ext(value::StaticReserve) -> Dict{String, Any}\n\n\nGet StaticReserve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_max_output_fraction-Tuple{StaticReserve}","page":"Reserves","title":"PowerSystems.get_max_output_fraction","text":"get_max_output_fraction(value::StaticReserve) -> Float64\n\n\nGet StaticReserve max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_max_participation_factor-Tuple{StaticReserve}","page":"Reserves","title":"PowerSystems.get_max_participation_factor","text":"get_max_participation_factor(\n value::StaticReserve\n) -> Float64\n\n\nGet StaticReserve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_requirement-Tuple{StaticReserve}","page":"Reserves","title":"PowerSystems.get_requirement","text":"get_requirement(value::StaticReserve) -> Any\n\n\nGet StaticReserve requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_sustained_time-Tuple{StaticReserve}","page":"Reserves","title":"PowerSystems.get_sustained_time","text":"get_sustained_time(value::StaticReserve) -> Float64\n\n\nGet StaticReserve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_time_frame-Tuple{StaticReserve}","page":"Reserves","title":"PowerSystems.get_time_frame","text":"get_time_frame(value::StaticReserve) -> Float64\n\n\nGet StaticReserve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_available!-Tuple{StaticReserve, Any}","page":"Reserves","title":"PowerSystems.set_available!","text":"set_available!(value::StaticReserve, val) -> Any\n\n\nSet StaticReserve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_deployed_fraction!-Tuple{StaticReserve, Any}","page":"Reserves","title":"PowerSystems.set_deployed_fraction!","text":"set_deployed_fraction!(value::StaticReserve, val) -> Any\n\n\nSet StaticReserve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_ext!-Tuple{StaticReserve, Any}","page":"Reserves","title":"PowerSystems.set_ext!","text":"set_ext!(value::StaticReserve, val) -> Any\n\n\nSet StaticReserve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_max_output_fraction!-Tuple{StaticReserve, Any}","page":"Reserves","title":"PowerSystems.set_max_output_fraction!","text":"set_max_output_fraction!(value::StaticReserve, val) -> Any\n\n\nSet StaticReserve max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_max_participation_factor!-Tuple{StaticReserve, Any}","page":"Reserves","title":"PowerSystems.set_max_participation_factor!","text":"set_max_participation_factor!(\n value::StaticReserve,\n val\n) -> Any\n\n\nSet StaticReserve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_requirement!-Tuple{StaticReserve, Any}","page":"Reserves","title":"PowerSystems.set_requirement!","text":"set_requirement!(value::StaticReserve, val) -> Any\n\n\nSet StaticReserve requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_sustained_time!-Tuple{StaticReserve, Any}","page":"Reserves","title":"PowerSystems.set_sustained_time!","text":"set_sustained_time!(value::StaticReserve, val) -> Any\n\n\nSet StaticReserve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_time_frame!-Tuple{StaticReserve, Any}","page":"Reserves","title":"PowerSystems.set_time_frame!","text":"set_time_frame!(value::StaticReserve, val) -> Any\n\n\nSet StaticReserve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#Static-Reserve-Group","page":"Reserves","title":"Static Reserve Group","text":"","category":"section"},{"location":"model_library/reserves/","page":"Reserves","title":"Reserves","text":"Modules = [PowerSystems]\nPages = [\"generated/StaticReserveGroup.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/reserves/#PowerSystems.StaticReserveGroup","page":"Reserves","title":"PowerSystems.StaticReserveGroup","text":"mutable struct StaticReserveGroup{T <: ReserveDirection} <: Service\n name::String\n available::Bool\n requirement::Float64\n ext::Dict{String, Any}\n contributing_services::Vector{Service}\n internal::InfrastructureSystemsInternal\nend\n\nData Structure for a group reserve product for system simulations.\n\nArguments\n\nname::String\navailable::Bool\nrequirement::Float64: the static value of required reserves in system p.u., validation range: (0, nothing), action if invalid: error\next::Dict{String, Any}\ncontributing_services::Vector{Service}: Services that contribute for this requirement constraint\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/reserves/#InfrastructureSystems.get_name-Tuple{StaticReserveGroup}","page":"Reserves","title":"InfrastructureSystems.get_name","text":"get_name(value::StaticReserveGroup) -> String\n\n\nGet StaticReserveGroup name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_available-Tuple{StaticReserveGroup}","page":"Reserves","title":"PowerSystems.get_available","text":"get_available(value::StaticReserveGroup) -> Bool\n\n\nGet StaticReserveGroup available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_contributing_services-Tuple{StaticReserveGroup}","page":"Reserves","title":"PowerSystems.get_contributing_services","text":"get_contributing_services(\n value::StaticReserveGroup\n) -> Vector{Service}\n\n\nGet StaticReserveGroup contributing_services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_ext-Tuple{StaticReserveGroup}","page":"Reserves","title":"PowerSystems.get_ext","text":"get_ext(value::StaticReserveGroup) -> Dict{String, Any}\n\n\nGet StaticReserveGroup ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_requirement-Tuple{StaticReserveGroup}","page":"Reserves","title":"PowerSystems.get_requirement","text":"get_requirement(value::StaticReserveGroup) -> Any\n\n\nGet StaticReserveGroup requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_available!-Tuple{StaticReserveGroup, Any}","page":"Reserves","title":"PowerSystems.set_available!","text":"set_available!(value::StaticReserveGroup, val) -> Any\n\n\nSet StaticReserveGroup available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_ext!-Tuple{StaticReserveGroup, Any}","page":"Reserves","title":"PowerSystems.set_ext!","text":"set_ext!(value::StaticReserveGroup, val) -> Any\n\n\nSet StaticReserveGroup ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_requirement!-Tuple{StaticReserveGroup, Any}","page":"Reserves","title":"PowerSystems.set_requirement!","text":"set_requirement!(value::StaticReserveGroup, val) -> Any\n\n\nSet StaticReserveGroup requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#Variable-Reserve","page":"Reserves","title":"Variable Reserve","text":"","category":"section"},{"location":"model_library/reserves/","page":"Reserves","title":"Reserves","text":"Modules = [PowerSystems]\nPages = [\"generated/VariableReserve.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/reserves/#PowerSystems.VariableReserve","page":"Reserves","title":"PowerSystems.VariableReserve","text":"mutable struct VariableReserve{T <: ReserveDirection} <: Reserve{T}\n name::String\n available::Bool\n time_frame::Float64\n requirement::Float64\n sustained_time::Float64\n max_output_fraction::Float64\n max_participation_factor::Float64\n deployed_fraction::Float64\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData Structure for the procurement products for system simulations.\n\nArguments\n\nname::String\navailable::Bool\ntime_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing), action if invalid: error\nrequirement::Float64: the required quantity of the product should be scaled by a TimeSeriesData\nsustained_time::Float64: the time in secounds reserve contribution must sustained at a specified level, validation range: (0, nothing), action if invalid: error\nmax_output_fraction::Float64: the maximum fraction of the device's output that can be assigned to the service, validation range: (0, 1), action if invalid: error\nmax_participation_factor::Float64: the maximum limit of reserve contribution per device, validation range: (0, 1), action if invalid: error\ndeployed_fraction::Float64: Fraction of ancillary services participation deployed from the assignment, validation range: (0, 1), action if invalid: error\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/reserves/#InfrastructureSystems.get_name-Tuple{VariableReserve}","page":"Reserves","title":"InfrastructureSystems.get_name","text":"get_name(value::VariableReserve) -> String\n\n\nGet VariableReserve name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#InfrastructureSystems.get_time_series_container-Tuple{VariableReserve}","page":"Reserves","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::VariableReserve\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet VariableReserve time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_available-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_available","text":"get_available(value::VariableReserve) -> Bool\n\n\nGet VariableReserve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_deployed_fraction-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_deployed_fraction","text":"get_deployed_fraction(value::VariableReserve) -> Float64\n\n\nGet VariableReserve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_ext-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_ext","text":"get_ext(value::VariableReserve) -> Dict{String, Any}\n\n\nGet VariableReserve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_max_output_fraction-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_max_output_fraction","text":"get_max_output_fraction(value::VariableReserve) -> Float64\n\n\nGet VariableReserve max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_max_participation_factor-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_max_participation_factor","text":"get_max_participation_factor(\n value::VariableReserve\n) -> Float64\n\n\nGet VariableReserve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_requirement-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_requirement","text":"get_requirement(value::VariableReserve) -> Float64\n\n\nGet VariableReserve requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_sustained_time-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_sustained_time","text":"get_sustained_time(value::VariableReserve) -> Float64\n\n\nGet VariableReserve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_time_frame-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_time_frame","text":"get_time_frame(value::VariableReserve) -> Float64\n\n\nGet VariableReserve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_available!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_available!","text":"set_available!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_deployed_fraction!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_deployed_fraction!","text":"set_deployed_fraction!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_ext!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_ext!","text":"set_ext!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_max_output_fraction!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_max_output_fraction!","text":"set_max_output_fraction!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_max_participation_factor!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_max_participation_factor!","text":"set_max_participation_factor!(\n value::VariableReserve,\n val\n) -> Any\n\n\nSet VariableReserve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_requirement!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_requirement!","text":"set_requirement!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_sustained_time!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_sustained_time!","text":"set_sustained_time!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_time_frame!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_time_frame!","text":"set_time_frame!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_time_series_container!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::VariableReserve,\n val\n) -> Any\n\n\nSet VariableReserve time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#Reserve-Demand-Curve","page":"Reserves","title":"Reserve Demand Curve","text":"","category":"section"},{"location":"model_library/reserves/","page":"Reserves","title":"Reserves","text":"Modules = [PowerSystems]\nPages = [\"generated/ReserveDemandCurve.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/reserves/#PowerSystems.ReserveDemandCurve","page":"Reserves","title":"PowerSystems.ReserveDemandCurve","text":"mutable struct ReserveDemandCurve{T <: ReserveDirection} <: Reserve{T}\n variable::Union{Nothing, IS.TimeSeriesKey}\n name::String\n available::Bool\n time_frame::Float64\n sustained_time::Float64\n max_participation_factor::Float64\n deployed_fraction::Float64\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData Structure for a operating reserve with demand curve product for system simulations.\n\nArguments\n\nvariable::Union{Nothing, IS.TimeSeriesKey}: Variable Cost TimeSeriesKey\nname::String\navailable::Bool\ntime_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing), action if invalid: error\nsustained_time::Float64: the time in secounds reserve contribution must sustained at a specified level, validation range: (0, nothing), action if invalid: error\nmax_participation_factor::Float64: the maximum limit of reserve contribution per device, validation range: (0, 1), action if invalid: error\ndeployed_fraction::Float64: Fraction of ancillary services participation deployed from the assignment, validation range: (0, 1), action if invalid: error\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/reserves/#InfrastructureSystems.get_name-Tuple{ReserveDemandCurve}","page":"Reserves","title":"InfrastructureSystems.get_name","text":"get_name(value::ReserveDemandCurve) -> String\n\n\nGet ReserveDemandCurve name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#InfrastructureSystems.get_time_series_container-Tuple{ReserveDemandCurve}","page":"Reserves","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::ReserveDemandCurve\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet ReserveDemandCurve time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_available-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_available","text":"get_available(value::ReserveDemandCurve) -> Bool\n\n\nGet ReserveDemandCurve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_deployed_fraction-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_deployed_fraction","text":"get_deployed_fraction(value::ReserveDemandCurve) -> Float64\n\n\nGet ReserveDemandCurve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_ext-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_ext","text":"get_ext(value::ReserveDemandCurve) -> Dict{String, Any}\n\n\nGet ReserveDemandCurve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_max_participation_factor-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_max_participation_factor","text":"get_max_participation_factor(\n value::ReserveDemandCurve\n) -> Float64\n\n\nGet ReserveDemandCurve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_sustained_time-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_sustained_time","text":"get_sustained_time(value::ReserveDemandCurve) -> Float64\n\n\nGet ReserveDemandCurve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_time_frame-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_time_frame","text":"get_time_frame(value::ReserveDemandCurve) -> Float64\n\n\nGet ReserveDemandCurve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_variable-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_variable","text":"get_variable(\n value::ReserveDemandCurve\n) -> Union{Nothing, InfrastructureSystems.TimeSeriesKey}\n\n\nGet ReserveDemandCurve variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_available!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_available!","text":"set_available!(value::ReserveDemandCurve, val) -> Any\n\n\nSet ReserveDemandCurve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_deployed_fraction!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_deployed_fraction!","text":"set_deployed_fraction!(\n value::ReserveDemandCurve,\n val\n) -> Any\n\n\nSet ReserveDemandCurve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_ext!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_ext!","text":"set_ext!(value::ReserveDemandCurve, val) -> Any\n\n\nSet ReserveDemandCurve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_max_participation_factor!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_max_participation_factor!","text":"set_max_participation_factor!(\n value::ReserveDemandCurve,\n val\n) -> Any\n\n\nSet ReserveDemandCurve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_sustained_time!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_sustained_time!","text":"set_sustained_time!(value::ReserveDemandCurve, val) -> Any\n\n\nSet ReserveDemandCurve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_time_frame!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_time_frame!","text":"set_time_frame!(value::ReserveDemandCurve, val) -> Any\n\n\nSet ReserveDemandCurve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_time_series_container!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::ReserveDemandCurve,\n val\n) -> Any\n\n\nSet ReserveDemandCurve time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_variable!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_variable!","text":"set_variable!(value::ReserveDemandCurve, val) -> Any\n\n\nSet ReserveDemandCurve variable.\n\n\n\n\n\n","category":"method"},{"location":"tutorials/modifying_data/","page":"-","title":"-","text":"using PowerSystems\nusing PowerSystemCaseBuilder\n\nc_sys5_pjm_da = build_system(PSITestSystems, \"c_sys5_pjm\")\ntransform_single_time_series!(c_sys5_pjm_da, 24, Hour(24))\nc_sys5_pjm_rt = build_system(PSITestSystems, \"c_sys5_pjm_rt\")\ntransform_single_time_series!(c_sys5_pjm_rt, 24, Hour(1))\n\nfor sys in [c_sys5_pjm_da, c_sys5_pjm_rt]\n th = get_component(ThermalStandard, sys, \"Park City\")\n set_active_power_limits!(th, (min = 0.1, max = 1.7))\n set_status!(th, false)\n set_active_power!(th, 0.0)\n c = get_operation_cost(th)\n c.start_up = 1500\n c.shut_down = 75\n set_time_at_status!(th, 1)\n\n th = get_component(ThermalStandard, sys, \"Alta\")\n set_time_limits!(th, (up = 5, down = 1))\n set_active_power_limits!(th, (min = 0.05, max = 0.4))\n set_active_power!(th, 0.05)\n c = get_operation_cost(th)\n c.start_up = 400\n c.shut_down = 200\n set_time_at_status!(th, 2)\n\n th = get_component(ThermalStandard, sys, \"Brighton\")\n set_active_power_limits!(th, (min = 2.0, max = 6.0))\n c = get_operation_cost(th)\n set_active_power!(th, 4.88041)\n c.start_up = 5000\n c.shut_down = 3000\n\n th = get_component(ThermalStandard, sys, \"Sundance\")\n set_active_power_limits!(th, (min = 1.0, max = 2.0))\n set_time_limits!(th, (up = 5, down = 1))\n set_active_power!(th, 2.0)\n c = get_operation_cost(th)\n c.start_up = 4000\n c.shut_down = 2000\n set_time_at_status!(th, 1)\n\n th = get_component(ThermalStandard, sys, \"Solitude\")\n set_active_power_limits!(th, (min = 1.0, max = 5.2))\n set_ramp_limits!(th, (up = 0.0052, down = 0.0052))\n set_active_power!(th, 2.0)\n c = get_operation_cost(th)\n c.start_up = 3000\n c.shut_down = 1500\nend\n\nto_json(c_sys5_pjm_da, \"c_sys5_pjm_da.json\")\nto_json(c_sys5_pjm_rt, \"c_sys5_pjm_rt.json\")","category":"page"},{"location":"model_library/generated_DCSource/#DCSource","page":"DCSource","title":"DCSource","text":"","category":"section"},{"location":"model_library/generated_DCSource/#FixedDCSource","page":"DCSource","title":"FixedDCSource","text":"","category":"section"},{"location":"model_library/generated_DCSource/","page":"DCSource","title":"DCSource","text":"Modules = [PowerSystems]\nPages = [\"/FixedDCSource.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_DCSource/#PowerSystems.FixedDCSource","page":"DCSource","title":"PowerSystems.FixedDCSource","text":"mutable struct FixedDCSource <: DCSource\n voltage::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a Fixed DC Source that returns a fixed DC voltage\n\nArguments\n\nvoltage::Float64: rated VA, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}\nn_states::Int: FixedDCSource has no states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_DCSource/#PowerSystems.get_ext-Tuple{FixedDCSource}","page":"DCSource","title":"PowerSystems.get_ext","text":"get_ext(value::FixedDCSource) -> Dict{String, Any}\n\n\nGet FixedDCSource ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_n_states-Tuple{FixedDCSource}","page":"DCSource","title":"PowerSystems.get_n_states","text":"get_n_states(value::FixedDCSource) -> Int64\n\n\nGet FixedDCSource n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_states-Tuple{FixedDCSource}","page":"DCSource","title":"PowerSystems.get_states","text":"get_states(value::FixedDCSource) -> Vector{Symbol}\n\n\nGet FixedDCSource states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_voltage-Tuple{FixedDCSource}","page":"DCSource","title":"PowerSystems.get_voltage","text":"get_voltage(value::FixedDCSource) -> Float64\n\n\nGet FixedDCSource voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_ext!-Tuple{FixedDCSource, Any}","page":"DCSource","title":"PowerSystems.set_ext!","text":"set_ext!(value::FixedDCSource, val) -> Any\n\n\nSet FixedDCSource ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_voltage!-Tuple{FixedDCSource, Any}","page":"DCSource","title":"PowerSystems.set_voltage!","text":"set_voltage!(value::FixedDCSource, val) -> Any\n\n\nSet FixedDCSource voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#ZeroOrderBESS","page":"DCSource","title":"ZeroOrderBESS","text":"","category":"section"},{"location":"model_library/generated_DCSource/","page":"DCSource","title":"DCSource","text":"Modules = [PowerSystems]\nPages = [\"/ZeroOrderBESS.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_DCSource/#PowerSystems.ZeroOrderBESS","page":"DCSource","title":"PowerSystems.ZeroOrderBESS","text":"mutable struct ZeroOrderBESS <: DCSource\n rated_voltage::Float64\n rated_current::Float64\n battery_voltage::Float64\n battery_resistance::Float64\n dc_dc_inductor::Float64\n dc_link_capacitance::Float64\n fs::Float64\n kpv::Float64\n kiv::Float64\n kpi::Float64\n kii::Float64\n Vdc_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters for the DC-side with a Battery Energy Storage System from paper at https://arxiv.org/abs/2007.11776\n\nArguments\n\nrated_voltage::Float64: rated voltage, validation range: (0, nothing)\nrated_current::Float64: rated current, validation range: (0, nothing)\nbattery_voltage::Float64: battery voltage, validation range: (0, nothing)\nbattery_resistance::Float64: battery_resistance, validation range: (0, nothing)\ndc_dc_inductor::Float64: DC/DC inductance, validation range: (0, nothing)\ndc_link_capacitance::Float64: DC-link capacitor, validation range: (0, nothing)\nfs::Float64: DC/DC converter switching frequency, validation range: (0, nothing)\nkpv::Float64: voltage controller proportional gain, validation range: (0, nothing)\nkiv::Float64: voltage controller integral gain, validation range: (0, nothing)\nkpi::Float64: current controller proportional gain, validation range: (0, nothing)\nkii::Float64: current controller integral gain, validation range: (0, nothing)\nVdc_ref::Float64: Reference DC-Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the ZeroOrderBESS model are:\n\nv_dc: DC-link votlage,\ni_b: Battery current,\n ν: integrator state of the voltage controller,\n ζ: integrator state of the PI current controller\n\nn_states::Int: ZeroOrderBESS has 4 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_DCSource/#PowerSystems.get_Vdc_ref-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_Vdc_ref","text":"get_Vdc_ref(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS Vdc_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_battery_resistance-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_battery_resistance","text":"get_battery_resistance(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS battery_resistance.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_battery_voltage-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_battery_voltage","text":"get_battery_voltage(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS battery_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_dc_dc_inductor-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_dc_dc_inductor","text":"get_dc_dc_inductor(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS dc_dc_inductor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_dc_link_capacitance-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_dc_link_capacitance","text":"get_dc_link_capacitance(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS dc_link_capacitance.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_ext-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_ext","text":"get_ext(value::ZeroOrderBESS) -> Dict{String, Any}\n\n\nGet ZeroOrderBESS ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_fs-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_fs","text":"get_fs(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS fs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_kii-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_kii","text":"get_kii(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS kii.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_kiv-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_kiv","text":"get_kiv(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS kiv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_kpi-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_kpi","text":"get_kpi(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS kpi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_kpv-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_kpv","text":"get_kpv(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS kpv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_n_states-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_n_states","text":"get_n_states(value::ZeroOrderBESS) -> Int64\n\n\nGet ZeroOrderBESS n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_rated_current-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_rated_current","text":"get_rated_current(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS rated_current.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_rated_voltage-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_rated_voltage","text":"get_rated_voltage(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS rated_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_states-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_states","text":"get_states(value::ZeroOrderBESS) -> Vector{Symbol}\n\n\nGet ZeroOrderBESS states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_Vdc_ref!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_Vdc_ref!","text":"set_Vdc_ref!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS Vdc_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_battery_resistance!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_battery_resistance!","text":"set_battery_resistance!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS battery_resistance.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_battery_voltage!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_battery_voltage!","text":"set_battery_voltage!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS battery_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_dc_dc_inductor!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_dc_dc_inductor!","text":"set_dc_dc_inductor!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS dc_dc_inductor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_dc_link_capacitance!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_dc_link_capacitance!","text":"set_dc_link_capacitance!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS dc_link_capacitance.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_ext!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_ext!","text":"set_ext!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_fs!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_fs!","text":"set_fs!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS fs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_kii!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_kii!","text":"set_kii!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS kii.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_kiv!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_kiv!","text":"set_kiv!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS kiv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_kpi!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_kpi!","text":"set_kpi!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS kpi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_kpv!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_kpv!","text":"set_kpv!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS kpv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_rated_current!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_rated_current!","text":"set_rated_current!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS rated_current.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_rated_voltage!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_rated_voltage!","text":"set_rated_voltage!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS rated_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#Shaft","page":"Shaft","title":"Shaft","text":"","category":"section"},{"location":"model_library/generated_Shaft/#FiveMassShaft","page":"Shaft","title":"FiveMassShaft","text":"","category":"section"},{"location":"model_library/generated_Shaft/","page":"Shaft","title":"Shaft","text":"Modules = [PowerSystems]\nPages = [\"/FiveMassShaft.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Shaft/#PowerSystems.FiveMassShaft","page":"Shaft","title":"PowerSystems.FiveMassShaft","text":"mutable struct FiveMassShaft <: Shaft\n H::Float64\n H_hp::Float64\n H_ip::Float64\n H_lp::Float64\n H_ex::Float64\n D::Float64\n D_hp::Float64\n D_ip::Float64\n D_lp::Float64\n D_ex::Float64\n D_12::Float64\n D_23::Float64\n D_34::Float64\n D_45::Float64\n K_hp::Float64\n K_ip::Float64\n K_lp::Float64\n K_ex::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 5 mass-spring shaft model. It contains a High-Pressure (HP) steam turbine, Intermediate-Pressure (IP) steam turbine, Low-Pressure (LP) steam turbine, the Rotor and an Exciter (EX) mover.\n\nArguments\n\nH::Float64: Rotor inertia constant in MWs/MVA, validation range: (0, nothing)\nH_hp::Float64: High pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)\nH_ip::Float64: Intermediate pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)\nH_lp::Float64: Low pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)\nH_ex::Float64: Exciter inertia constant in MWs/MVA, validation range: (0, nothing)\nD::Float64: Rotor natural damping in pu, validation range: (0, nothing)\nD_hp::Float64: High pressure turbine natural damping in pu, validation range: (0, nothing)\nD_ip::Float64: Intermediate pressure turbine natural damping in pu, validation range: (0, nothing)\nD_lp::Float64: Low pressure turbine natural damping in pu, validation range: (0, nothing)\nD_ex::Float64: Exciter natural damping in pu, validation range: (0, nothing)\nD_12::Float64: High-Intermediate pressure turbine damping, validation range: (0, nothing)\nD_23::Float64: Intermediate-Low pressure turbine damping, validation range: (0, nothing)\nD_34::Float64: Low pressure turbine-Rotor damping, validation range: (0, nothing)\nD_45::Float64: Rotor-Exciter damping, validation range: (0, nothing)\nK_hp::Float64: High pressure turbine angle coefficient, validation range: (0, nothing)\nK_ip::Float64: Intermediate pressure turbine angle coefficient, validation range: (0, nothing)\nK_lp::Float64: Low pressure turbine angle coefficient, validation range: (0, nothing)\nK_ex::Float64: Exciter angle coefficient, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nδ: rotor angle,\nω: rotor speed,\nδ_hp: rotor angle of high pressure turbine,\nω_hp: rotor speed of high pressure turbine,\nδ_ip: rotor angle of intermediate pressure turbine,\nω_ip: rotor speed of intermediate pressure turbine,\nδ_lp: rotor angle of low pressure turbine,\nω_lp: rotor speed of low pressure turbine,\nδ_ex: rotor angle of exciter,\nω_lp: rotor speed of exciter\n\nn_states::Int: FiveMassShaft has 10 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D","text":"get_D(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_12-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_12","text":"get_D_12(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_12.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_23-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_23","text":"get_D_23(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_23.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_34-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_34","text":"get_D_34(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_34.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_45-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_45","text":"get_D_45(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_45.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_ex-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_ex","text":"get_D_ex(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_hp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_hp","text":"get_D_hp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_ip-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_ip","text":"get_D_ip(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_lp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_lp","text":"get_D_lp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_H","text":"get_H(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft H.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H_ex-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_H_ex","text":"get_H_ex(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft H_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H_hp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_H_hp","text":"get_H_hp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft H_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H_ip-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_H_ip","text":"get_H_ip(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft H_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H_lp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_H_lp","text":"get_H_lp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft H_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_K_ex-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_K_ex","text":"get_K_ex(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft K_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_K_hp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_K_hp","text":"get_K_hp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft K_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_K_ip-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_K_ip","text":"get_K_ip(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft K_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_K_lp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_K_lp","text":"get_K_lp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft K_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_ext-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_ext","text":"get_ext(value::FiveMassShaft) -> Dict{String, Any}\n\n\nGet FiveMassShaft ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_n_states-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_n_states","text":"get_n_states(value::FiveMassShaft) -> Int64\n\n\nGet FiveMassShaft n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_states-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_states","text":"get_states(value::FiveMassShaft) -> Vector{Symbol}\n\n\nGet FiveMassShaft states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D!","text":"set_D!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_12!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_12!","text":"set_D_12!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_12.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_23!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_23!","text":"set_D_23!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_23.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_34!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_34!","text":"set_D_34!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_34.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_45!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_45!","text":"set_D_45!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_45.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_ex!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_ex!","text":"set_D_ex!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_hp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_hp!","text":"set_D_hp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_ip!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_ip!","text":"set_D_ip!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_lp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_lp!","text":"set_D_lp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_H!","text":"set_H!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft H.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H_ex!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_H_ex!","text":"set_H_ex!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft H_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H_hp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_H_hp!","text":"set_H_hp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft H_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H_ip!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_H_ip!","text":"set_H_ip!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft H_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H_lp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_H_lp!","text":"set_H_lp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft H_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_K_ex!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_K_ex!","text":"set_K_ex!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft K_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_K_hp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_K_hp!","text":"set_K_hp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft K_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_K_ip!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_K_ip!","text":"set_K_ip!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft K_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_K_lp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_K_lp!","text":"set_K_lp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft K_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_ext!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_ext!","text":"set_ext!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#SingleMass","page":"Shaft","title":"SingleMass","text":"","category":"section"},{"location":"model_library/generated_Shaft/","page":"Shaft","title":"Shaft","text":"Modules = [PowerSystems]\nPages = [\"/SingleMass.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Shaft/#PowerSystems.SingleMass","page":"Shaft","title":"PowerSystems.SingleMass","text":"mutable struct SingleMass <: Shaft\n H::Float64\n D::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of single mass shaft model. Typically represents the rotor mass.\n\nArguments\n\nH::Float64: Rotor inertia constant in MWs/MVA, validation range: (0, nothing)\nD::Float64: Rotor natural damping in pu, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nδ: rotor angle,\nω: rotor speed\n\nn_states::Int: SingleMass has 1 state\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D-Tuple{SingleMass}","page":"Shaft","title":"PowerSystems.get_D","text":"get_D(value::SingleMass) -> Float64\n\n\nGet SingleMass D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H-Tuple{SingleMass}","page":"Shaft","title":"PowerSystems.get_H","text":"get_H(value::SingleMass) -> Float64\n\n\nGet SingleMass H.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_ext-Tuple{SingleMass}","page":"Shaft","title":"PowerSystems.get_ext","text":"get_ext(value::SingleMass) -> Dict{String, Any}\n\n\nGet SingleMass ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_n_states-Tuple{SingleMass}","page":"Shaft","title":"PowerSystems.get_n_states","text":"get_n_states(value::SingleMass) -> Int64\n\n\nGet SingleMass n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_states-Tuple{SingleMass}","page":"Shaft","title":"PowerSystems.get_states","text":"get_states(value::SingleMass) -> Vector{Symbol}\n\n\nGet SingleMass states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D!-Tuple{SingleMass, Any}","page":"Shaft","title":"PowerSystems.set_D!","text":"set_D!(value::SingleMass, val) -> Any\n\n\nSet SingleMass D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H!-Tuple{SingleMass, Any}","page":"Shaft","title":"PowerSystems.set_H!","text":"set_H!(value::SingleMass, val) -> Any\n\n\nSet SingleMass H.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_ext!-Tuple{SingleMass, Any}","page":"Shaft","title":"PowerSystems.set_ext!","text":"set_ext!(value::SingleMass, val) -> Any\n\n\nSet SingleMass ext.\n\n\n\n\n\n","category":"method"},{"location":"modeler_guide/system/#system_doc","page":"System","title":"System","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The System is the main container of components and the time series data references. PowerSystems.jl uses a hybrid approach to data storage, where the component data and time series references are stored in volatile memory while the actual time series data is stored in an HDF5 file. This design loads into memory the portions of the data that are relevant at time of the query, and so avoids overwhelming the memory resources.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"","category":"page"},{"location":"modeler_guide/system/#Accessing-components-stored-in-the-system","page":"System","title":"Accessing components stored in the system","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"PowerSystems.jl implements a wide variety of methods to search for components to aid in the development of models. The code block shows an example of retrieving components through the type hierarchy with the get_components function and exploiting the type hierarchy for modeling purposes.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The default implementation of the function get_components takes the desired device type (concrete or abstract) and the system and it also accepts filter functions for a more refined search. The container is optimized for iteration over abstract or concrete component types as described by the Type Structure. Given the potential size of the return, PowerSystems.jl returns Julia iterators in order to avoid unnecessary memory allocations.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"using PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\")\nsystem = System(joinpath(file_dir, \"RTS_GMLC.m\"));\nthermal_gens = get_components(ThermalStandard, system)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"It is also possible to execute get_components with abstract types from the abstract tree. For instance, it is possible to retrieve all renewable generators","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"thermal_gens = get_components(RenewableGen, system)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The most common filtering requirement is by component name and for this case the method get_component returns a single component taking the device type, system and name as arguments.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"my_thermal_gen = get_component(ThermalStandard, system, \"323_CC_1\")","category":"page"},{"location":"modeler_guide/system/#dot_access","page":"System","title":"Accessing data stored in a component","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Using the \"dot\" access to get a parameter value from a component is actively discouraged, use \"getter\" functions instead","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Using code autogeneration, PowerSystems.jl implements accessor (or \"getter\") functions to enable the retrieval of parameters defined in the component struct fields. Julia syntax enables access to this data using the \"dot\" access (e.g. component.field), however this is actively discouraged for two reasons:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"We make no guarantees on the stability of component structure definitions. We will maintain version stability on the accessor methods.\nPer-unit conversions are made in the return of data from the accessor functions. (see the per-unit section for more details)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"For example, the my_thermal_gen.active_power_limits parameter of a thermal generator should be accessed as follows:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"get_active_power_limits(my_thermal_gen)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"You can also view data from all instances of a concrete type in one table with the function show_components. It provides a few options:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View the standard fields by accepting the defaults.\nPass a dictionary where the keys are column names and the values are functions that accept a component as a single argument.\nPass a vector of symbols that are field names of the type.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"show_components(system, ThermalStandard)\nshow_components(system, ThermalStandard, Dict(\"has_time_series\" => x -> has_time_series(x)))\nshow_components(system, ThermalStandard, [:active_power, :reactive_power])","category":"page"},{"location":"modeler_guide/system/#per_unit","page":"System","title":"Per-unit conventions and data conversions","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"It is often useful to express power systems data in relative terms using per-unit conventions. PowerSystems.jl supports the automatic conversion of data between three different unit systems:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Natural Units: The naturally defined units of each parameter (typically MW).\nSystem Base: Parameter values are divided by the system base_power.\nDevice Base: Parameter values are divided by the device base_mva.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"To see the unit system setting of a System:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"get_units_base(system)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"To change the unit system setting of a System:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"set_units_base_system!(system, \"DEVICE_BASE\")","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The units of the parameter values stored in each struct are defined in src/descriptors/power_system_structs.json. Conversion between unit systems does not change the stored parameter values. Instead, unit system conversions are made when accessing parameters using the accessor functions (see above), thus making it imperative to utilize the accessor functions instead of the \"dot\" accessor methods to ensure the return of the correct values.","category":"page"},{"location":"modeler_guide/system/#JSON-Serialization","page":"System","title":"JSON Serialization","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"PowerSystems.jl provides functionality to serialize an entire system to a JSON file and then deserialize it back to a system. The main benefit is that deserializing is significantly faster than reconstructing the system from raw data files.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The function that serializes the system to_json requires the system and a file name","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"to_json(system, \"system.json\")","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The serialization process stores 3 files","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"System data file (*.json file)\nValidation data file (*.json file)\nTime Series data file (*.h5 file)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"To deserialize:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"system2 = System(\"system.json\")","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"PowerSystems generates UUIDs for the System and all components in order to have a way to uniquely identify objects. During deserialization it restores the same UUIDs. If you will modify the System or components after deserialization then it is recommended that you set this flag to generate new UUIDs.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"system2 = System(\"system.json\", assign_new_uuids = true)","category":"page"},{"location":"modeler_guide/system/#Reducing-REPL-printing","page":"System","title":"Reducing REPL printing","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"By default PowerSystems.jl outputs to the REPL all Logging values, this can be overwhelming in some cases. Use configure_logging to create a logger with your preferences (console and/or file, levels, etc.). For more detail refer to Logging.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Example: Set log output to only error messages","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"using PowerSystems\nusing Logging\nconfigure_logging(console_level = Logging.Error)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Note: log messages are not automatically flushed to files. Call flush(logger) to make this happen.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Refer to this page for more logging configuration options. Note that it describes how to enable debug logging for some log messages but not others.","category":"page"},{"location":"modeler_guide/system/#Viewing-PowerSystems-Data-in-JSON-Format","page":"System","title":"Viewing PowerSystems Data in JSON Format","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"PowerSystems data can be serialized and deserialized in JSON. This section shows how to explore the data outside of Julia using.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"system = System(\"system.json\")","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"It can be useful to view and filter the PowerSystems data in this format. There are many tools available to browse JSON data.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Here is an example GUI tool that is available online in a browser.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The command line utility jq offers even more features. The rest of this document provides example commands.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View the entire file pretty-printed","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq . system.json","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View the PowerSystems component types","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq '.data.components | .[] | .__metadata__ | .type' system.json | sort | uniq","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View specific components","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\")' system.json","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Get the count of a component type","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"# There is almost certainly a better way.\njq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\")' system.json | grep -c ThermalStandard","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View specific component by name","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\" and .name == \"107_CC_1\")' system.json","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Filter on a field value","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\" and .active_power > 2.3)' system.json","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View the time series metadata for a component.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq '.data.components | .[] | select(.__metadata__.type == \"RenewableDispatch\") | .time_series_container' system.json","category":"page"},{"location":"modeler_guide/enumerated_types/#Enumerated-Types","page":"Enumerated Types","title":"Enumerated Types","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"To specify fields representing an option from a pre-defined list, some of the fields of Component structs are specified with IS.scoped_enums (e.g. set_fuel!(gen, ThermalFuels.COAL)). Below are the enumerated types contained in PowerSystems.","category":"page"},{"location":"modeler_guide/enumerated_types/#ThermalFuels","page":"Enumerated Types","title":"ThermalFuels","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"Each ThermalGen generator struct contains a field for fuel::ThermalFuels where ThermalFuels are intended to reflect the options denoted by the Aggregated Fuel Codes from the EIA Annual Energy Review. Specifically, ThermalFuels is an enumerated type with the following options:","category":"page"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"EnumName EIA Fuel Code Description\nCOAL COL Anthracite Coal and Bituminous Coal\nWASTE_COAL WOC Waste/Other Coal (includes anthracite culm, gob, fine coal, lignite waste, waste coal)\nDISTILLATE_FUEL_OIL DFO Distillate Fuel Oil (Diesel, No. 1, No. 2, and No. 4)\nWASTE_OIL WOO Waste Oil Kerosene and JetFuel Butane, Propane\nPETROLEUM_COKE PC Petroleum Coke\nRESIDUAL_FUEL_OIL RFO Residual Fuel Oil (No. 5, No. 6 Fuel Oils, and Bunker Oil)\nNATURAL_GAS NG Natural Gas\nOTHER_GAS OOG Other Gas and blast furnace gas\nNUCLEAR NUC Nuclear Fission (Uranium, Plutonium, Thorium)\nAG_BIPRODUCT ORW Agricultural Crop Byproducts/Straw/Energy Crops\nMUNICIPAL_WASTE MLG Municipal Solid Waste – Biogenic component\nWOOD_WASTE WWW Wood Waste Liquids excluding Black Liquor (BLQ) (Includes red liquor, sludge wood, spent sulfite liquor, and other wood-based liquids)\nGEOTHERMAL GEO Geothermal\nOTHER OTH Other","category":"page"},{"location":"modeler_guide/enumerated_types/#PrimeMovers","page":"Enumerated Types","title":"PrimeMovers","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"Each generator struct contains a field for prime_mover::PrimeMovers where PrimeMovers are intended to reflect the options denoted by EIA form 923. Specifically, PrimeMovers is an enumerated type with the following options:","category":"page"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"EnumName Description\nBA Energy Storage, Battery\nBT Turbines Used in a Binary Cycle (including those used for geothermal applications)\nCA Combined-Cycle – Steam Part\nCC Combined-Cycle - Aggregated Plant *augmentation of EIA\nCE Energy Storage, Compressed Air\nCP Energy Storage, Concentrated Solar Power\nCS Combined-Cycle Single-Shaft Combustion turbine and steam turbine share a single generator\nCT Combined-Cycle Combustion Turbine Part\nES Energy Storage, Other\nFC Fuel Cell\nFW Energy Storage, Flywheel\nGT Combustion (Gas) Turbine (including jet engine design)\nHA Hydrokinetic, Axial Flow Turbine\nHB Hydrokinetic, Wave Buoy\nHK Hydrokinetic, Other\nHY Hydraulic Turbine (including turbines associated with delivery of water by pipeline)\nIC Internal Combustion (diesel, piston, reciprocating) Engine\nPS Energy Storage, Reversible Hydraulic Turbine (Pumped Storage)\nOT Other\nST Steam Turbine (including nuclear, geothermal and solar steam; does not include combined-cycle turbine)\nPV Photovoltaic *renaming from EIA PV to PVe to avoid conflict with ACBusType.PV\nWT Wind Turbine, Onshore\nWS Wind Turbine, Offshore","category":"page"},{"location":"modeler_guide/enumerated_types/#ACBusTypes","page":"Enumerated Types","title":"ACBusTypes","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"ACBusTypes is used to denote which quantities are specified for load flow calculations and to otherwise categorize buses for modeling activities.","category":"page"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"EnumName Description\nISOLATED Disconnected from network\nPQ Active and reactive power defined (load bus)\nPV Active power and voltage magnitude defined (generator bus)\nREF Reference bus (θ = 0)\nSLACK Slack bus","category":"page"},{"location":"modeler_guide/enumerated_types/#AngleUnits","page":"Enumerated Types","title":"AngleUnits","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"EnumName\nDEGREES\nRADIANS","category":"page"},{"location":"modeler_guide/enumerated_types/#StateTypes","page":"Enumerated Types","title":"StateTypes","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"EnumName\nDifferential\nAlgebraic\nHybrid","category":"page"},{"location":"model_library/outer_control/#OuterControl","page":"OuterControl","title":"OuterControl","text":"","category":"section"},{"location":"model_library/outer_control/","page":"OuterControl","title":"OuterControl","text":"The outer control is composed by the ReactivePowerControl and the ActivePowerControl types.","category":"page"},{"location":"model_library/outer_control/","page":"OuterControl","title":"OuterControl","text":"Modules = [PowerSystems]\nPages = [\"/OuterControl.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/outer_control/#PowerSystems.OuterControl","page":"OuterControl","title":"PowerSystems.OuterControl","text":"mutable struct OuterControl{\n A <: ActivePowerControl,\n R <: ReactivePowerControl\n} <: DynamicInverterComponent\n active_power_control::A\n reactive_power_control::R\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Outer-Loop controller using a active power controller and a reactive power droop controller.\n\nArguments\n\nA <: ActivePowerControl: Active power controller (typically droop or virtual inertia).\nR <: ReactivePowerControl: Reactive power controller (typically droop).\next::Dict{String, Any}\nstates::Vector{Symbol}: Vector of states (will depend on the components).\nn_states::Int: Number of states (will depend on the components).\n\n\n\n\n\n","category":"type"},{"location":"model_library/outer_control/#Virtual-Inertia","page":"OuterControl","title":"Virtual Inertia","text":"","category":"section"},{"location":"model_library/outer_control/","page":"OuterControl","title":"OuterControl","text":"Modules = [PowerSystems]\nPages = [\"generated/VirtualInertia.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/outer_control/#PowerSystems.VirtualInertia","page":"OuterControl","title":"PowerSystems.VirtualInertia","text":"mutable struct VirtualInertia <: ActivePowerControl\n Ta::Float64\n kd::Float64\n kω::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Virtual Inertia with SRF using VSM for active power controller\n\nArguments\n\nTa::Float64: VSM inertia constant, validation range: (0, nothing)\nkd::Float64: VSM damping constant, validation range: (0, nothing)\nkω::Float64: frequency droop gain, validation range: (0, nothing)\nP_ref::Float64: Reference Power Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the VirtualInertia model are:\n\nθ_oc: Phase angle displacement of the virtual synchronous generator model\nω_oc: Speed of the rotating reference frame of the virtual synchronous generator model\n\nn_states::Int: VirtualInertia has two states\n\n\n\n\n\n","category":"type"},{"location":"model_library/outer_control/#PowerSystems.get_P_ref-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::VirtualInertia) -> Float64\n\n\nGet VirtualInertia P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_Ta-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_Ta","text":"get_Ta(value::VirtualInertia) -> Float64\n\n\nGet VirtualInertia Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_ext-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_ext","text":"get_ext(value::VirtualInertia) -> Dict{String, Any}\n\n\nGet VirtualInertia ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_kd-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_kd","text":"get_kd(value::VirtualInertia) -> Float64\n\n\nGet VirtualInertia kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_kω-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_kω","text":"get_kω(value::VirtualInertia) -> Float64\n\n\nGet VirtualInertia kω.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_n_states-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_n_states","text":"get_n_states(value::VirtualInertia) -> Int64\n\n\nGet VirtualInertia n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_states-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_states","text":"get_states(value::VirtualInertia) -> Vector{Symbol}\n\n\nGet VirtualInertia states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_P_ref!-Tuple{VirtualInertia, Any}","page":"OuterControl","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::VirtualInertia, val) -> Any\n\n\nSet VirtualInertia P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_Ta!-Tuple{VirtualInertia, Any}","page":"OuterControl","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::VirtualInertia, val) -> Any\n\n\nSet VirtualInertia Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_ext!-Tuple{VirtualInertia, Any}","page":"OuterControl","title":"PowerSystems.set_ext!","text":"set_ext!(value::VirtualInertia, val) -> Any\n\n\nSet VirtualInertia ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_kd!-Tuple{VirtualInertia, Any}","page":"OuterControl","title":"PowerSystems.set_kd!","text":"set_kd!(value::VirtualInertia, val) -> Any\n\n\nSet VirtualInertia kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_kω!-Tuple{VirtualInertia, Any}","page":"OuterControl","title":"PowerSystems.set_kω!","text":"set_kω!(value::VirtualInertia, val) -> Any\n\n\nSet VirtualInertia kω.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#Reactive-Power-Droop","page":"OuterControl","title":"Reactive Power Droop","text":"","category":"section"},{"location":"model_library/outer_control/","page":"OuterControl","title":"OuterControl","text":"Modules = [PowerSystems]\nPages = [\"generated/ReactivePowerDroop.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/outer_control/#PowerSystems.ReactivePowerDroop","page":"OuterControl","title":"PowerSystems.ReactivePowerDroop","text":"mutable struct ReactivePowerDroop <: ReactivePowerControl\n kq::Float64\n ωf::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Reactive Power droop controller\n\nArguments\n\nkq::Float64: frequency droop gain, validation range: (0, nothing)\nωf::Float64: filter frequency cutoff, validation range: (0, nothing)\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the ReactivePowerDroop model are:\n\nq_oc: Filtered reactive output power\n\nn_states::Int: ReactivePowerDroop has 1 state\n\n\n\n\n\n","category":"type"},{"location":"model_library/outer_control/#PowerSystems.get_V_ref-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ReactivePowerDroop) -> Float64\n\n\nGet ReactivePowerDroop V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_ext-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_ext","text":"get_ext(value::ReactivePowerDroop) -> Dict{String, Any}\n\n\nGet ReactivePowerDroop ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_kq-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_kq","text":"get_kq(value::ReactivePowerDroop) -> Float64\n\n\nGet ReactivePowerDroop kq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_n_states-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_n_states","text":"get_n_states(value::ReactivePowerDroop) -> Int64\n\n\nGet ReactivePowerDroop n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_states-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_states","text":"get_states(value::ReactivePowerDroop) -> Vector{Symbol}\n\n\nGet ReactivePowerDroop states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_ωf-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_ωf","text":"get_ωf(value::ReactivePowerDroop) -> Float64\n\n\nGet ReactivePowerDroop ωf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_V_ref!-Tuple{ReactivePowerDroop, Any}","page":"OuterControl","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ReactivePowerDroop, val) -> Any\n\n\nSet ReactivePowerDroop V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_ext!-Tuple{ReactivePowerDroop, Any}","page":"OuterControl","title":"PowerSystems.set_ext!","text":"set_ext!(value::ReactivePowerDroop, val) -> Any\n\n\nSet ReactivePowerDroop ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_kq!-Tuple{ReactivePowerDroop, Any}","page":"OuterControl","title":"PowerSystems.set_kq!","text":"set_kq!(value::ReactivePowerDroop, val) -> Any\n\n\nSet ReactivePowerDroop kq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_ωf!-Tuple{ReactivePowerDroop, Any}","page":"OuterControl","title":"PowerSystems.set_ωf!","text":"set_ωf!(value::ReactivePowerDroop, val) -> Any\n\n\nSet ReactivePowerDroop ωf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#InnerControl","page":"InnerControl","title":"InnerControl","text":"","category":"section"},{"location":"model_library/generated_InnerControl/#CurrentModeControl","page":"InnerControl","title":"CurrentModeControl","text":"","category":"section"},{"location":"model_library/generated_InnerControl/","page":"InnerControl","title":"InnerControl","text":"Modules = [PowerSystems]\nPages = [\"/CurrentModeControl.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InnerControl/#PowerSystems.CurrentModeControl","page":"InnerControl","title":"PowerSystems.CurrentModeControl","text":"mutable struct CurrentModeControl <: InnerControl\n kpc::Float64\n kic::Float64\n kffv::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of an inner loop PI current control using based on Purba, Dhople, Jafarpour, Bullo and Johnson. \"Reduced-order Structure-preserving Model for Parallel-connected Three-phase Grid-tied Inverters.\" 2017 IEEE 18th Workshop on Control and Modeling for Power Electronics (COMPEL): 1-7.\n\nArguments\n\nkpc::Float64: Current controller proportional gain, validation range: (0, nothing)\nkic::Float64: Current controller integral gain, validation range: (0, nothing)\nkffv::Float64: Gain to enable feed-forward gain of voltage., validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the CurrentModeControl model are:\n\nγd_ic: d-axis integrator state of the PI current controller,\nγq_ic: q-axis integrator state of the PI current controller\n\nn_states::Int: CurrentControl has 2 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_ext-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_ext","text":"get_ext(value::CurrentModeControl) -> Dict{String, Any}\n\n\nGet CurrentModeControl ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kffv-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_kffv","text":"get_kffv(value::CurrentModeControl) -> Float64\n\n\nGet CurrentModeControl kffv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kic-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_kic","text":"get_kic(value::CurrentModeControl) -> Float64\n\n\nGet CurrentModeControl kic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kpc-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_kpc","text":"get_kpc(value::CurrentModeControl) -> Float64\n\n\nGet CurrentModeControl kpc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_n_states-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_n_states","text":"get_n_states(value::CurrentModeControl) -> Int64\n\n\nGet CurrentModeControl n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_states-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_states","text":"get_states(value::CurrentModeControl) -> Vector{Symbol}\n\n\nGet CurrentModeControl states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_ext!-Tuple{CurrentModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_ext!","text":"set_ext!(value::CurrentModeControl, val) -> Any\n\n\nSet CurrentModeControl ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kffv!-Tuple{CurrentModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kffv!","text":"set_kffv!(value::CurrentModeControl, val) -> Any\n\n\nSet CurrentModeControl kffv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kic!-Tuple{CurrentModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kic!","text":"set_kic!(value::CurrentModeControl, val) -> Any\n\n\nSet CurrentModeControl kic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kpc!-Tuple{CurrentModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kpc!","text":"set_kpc!(value::CurrentModeControl, val) -> Any\n\n\nSet CurrentModeControl kpc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#RECurrentControlB","page":"InnerControl","title":"RECurrentControlB","text":"","category":"section"},{"location":"model_library/generated_InnerControl/","page":"InnerControl","title":"InnerControl","text":"Modules = [PowerSystems]\nPages = [\"/RECurrentControlB.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InnerControl/#PowerSystems.RECurrentControlB","page":"InnerControl","title":"PowerSystems.RECurrentControlB","text":"mutable struct RECurrentControlB <: InnerControl\n Q_Flag::Int\n PQ_Flag::Int\n Vdip_lim::MinMax\n T_rv::Float64\n dbd_pnts::Tuple{Float64, Float64}\n K_qv::Float64\n Iqinj_lim::MinMax\n V_ref0::Float64\n K_vp::Float64\n K_vi::Float64\n T_iq::Float64\n I_max::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of the Inner Control part of the REECB model in PSS/E\n\nArguments\n\nQ_Flag::Int: Q Flag used for I_qinj, validation range: (0, 1)\nPQ_Flag::Int: PQ Flag used for the Current Limit Logic, validation range: (0, 1)\nVdip_lim::MinMax: Limits for Voltage Dip Logic (Vdip, Vup)\nT_rv::Float64: Voltage Filter Time Constant, validation range: (0, nothing)\ndbd_pnts::Tuple{Float64, Float64}: Voltage error deadband thresholds (dbd1, dbd2)\nK_qv::Float64: Reactive current injection gain during over and undervoltage conditions, validation range: (0, nothing)\nIqinj_lim::MinMax: Limits for Iqinj (I_qh1, I_ql1)\nV_ref0::Float64: User defined reference. If 0, PSID initializes to initial terminal voltage, validation range: (0, nothing)\nK_vp::Float64: Voltage regulator proportional gain (used when QFlag = 1), validation range: (0, nothing)\nK_vi::Float64: Voltage regulator integral gain (used when QFlag = 1), validation range: (0, nothing)\nT_iq::Float64: Time constant for low-pass filter for state q_V when QFlag = 0, validation range: (0, nothing)\nI_max::Float64: Maximum limit on total converter current, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the RECurrentControlB depends on the Flags\nn_states::Int: The states of the RECurrentControlB depends on the Flags\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_I_max-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_I_max","text":"get_I_max(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_Iqinj_lim-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_Iqinj_lim","text":"get_Iqinj_lim(\n value::RECurrentControlB\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RECurrentControlB Iqinj_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_K_qv-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_K_qv","text":"get_K_qv(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB K_qv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_K_vi-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_K_vi","text":"get_K_vi(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB K_vi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_K_vp-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_K_vp","text":"get_K_vp(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB K_vp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_PQ_Flag-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_PQ_Flag","text":"get_PQ_Flag(value::RECurrentControlB) -> Int64\n\n\nGet RECurrentControlB PQ_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_Q_Flag-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_Q_Flag","text":"get_Q_Flag(value::RECurrentControlB) -> Int64\n\n\nGet RECurrentControlB Q_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_T_iq-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_T_iq","text":"get_T_iq(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB T_iq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_T_rv-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_T_rv","text":"get_T_rv(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB T_rv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_V_ref0-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_V_ref0","text":"get_V_ref0(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB V_ref0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_Vdip_lim-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_Vdip_lim","text":"get_Vdip_lim(\n value::RECurrentControlB\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RECurrentControlB Vdip_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_dbd_pnts-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_dbd_pnts","text":"get_dbd_pnts(\n value::RECurrentControlB\n) -> Tuple{Float64, Float64}\n\n\nGet RECurrentControlB dbd_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_ext-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_ext","text":"get_ext(value::RECurrentControlB) -> Dict{String, Any}\n\n\nGet RECurrentControlB ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_n_states-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_n_states","text":"get_n_states(value::RECurrentControlB) -> Int64\n\n\nGet RECurrentControlB n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_states-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_states","text":"get_states(value::RECurrentControlB) -> Vector{Symbol}\n\n\nGet RECurrentControlB states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_I_max!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_I_max!","text":"set_I_max!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_Iqinj_lim!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_Iqinj_lim!","text":"set_Iqinj_lim!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB Iqinj_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_K_qv!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_K_qv!","text":"set_K_qv!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB K_qv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_K_vi!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_K_vi!","text":"set_K_vi!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB K_vi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_K_vp!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_K_vp!","text":"set_K_vp!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB K_vp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_PQ_Flag!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_PQ_Flag!","text":"set_PQ_Flag!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB PQ_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_Q_Flag!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_Q_Flag!","text":"set_Q_Flag!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB Q_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_T_iq!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_T_iq!","text":"set_T_iq!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB T_iq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_T_rv!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_T_rv!","text":"set_T_rv!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB T_rv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_V_ref0!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_V_ref0!","text":"set_V_ref0!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB V_ref0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_Vdip_lim!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_Vdip_lim!","text":"set_Vdip_lim!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB Vdip_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_dbd_pnts!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_dbd_pnts!","text":"set_dbd_pnts!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB dbd_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_ext!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_ext!","text":"set_ext!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#VoltageModeControl","page":"InnerControl","title":"VoltageModeControl","text":"","category":"section"},{"location":"model_library/generated_InnerControl/","page":"InnerControl","title":"InnerControl","text":"Modules = [PowerSystems]\nPages = [\"/VoltageModeControl.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InnerControl/#PowerSystems.VoltageModeControl","page":"InnerControl","title":"PowerSystems.VoltageModeControl","text":"mutable struct VoltageModeControl <: InnerControl\n kpv::Float64\n kiv::Float64\n kffv::Float64\n rv::Float64\n lv::Float64\n kpc::Float64\n kic::Float64\n kffi::Float64\n ωad::Float64\n kad::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of an inner loop current control PID using virtual impedance based on D'Arco, Suul and Fosso. \"A Virtual Synchronous Machine implementation for distributed control of power converters in SmartGrids.\" Electric Power Systems Research 122 (2015) 180–197.\n\nArguments\n\nkpv::Float64: voltage controller proportional gain, validation range: (0, nothing)\nkiv::Float64: voltage controller integral gain, validation range: (0, nothing)\nkffv::Float64: Binary variable to enable feed-forward gain of voltage., validation range: (0, nothing)\nrv::Float64: virtual resistance, validation range: (0, nothing)\nlv::Float64: virtual inductance, validation range: (0, nothing)\nkpc::Float64: current controller proportional gain, validation range: (0, nothing)\nkic::Float64: current controller integral gain, validation range: (0, nothing)\nkffi::Float64: Binary variable to enable feed-forward gain of current, validation range: (0, nothing)\nωad::Float64: active damping filter cutoff frequency (rad/sec), validation range: (0, nothing)\nkad::Float64: active damping gain, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the VoltageModeControl model are:\n\nξd_ic: d-axis integrator state of the PI voltage controller,\nξq_ic: q-axis integrator state of the PI voltage controller,\nγd_ic: d-axis integrator state of the PI current controller,\nγq_ic: q-axis integrator state of the PI current controller,\nϕd_ic: d-axis low-pass filter of active damping,\nϕq_ic: q-axis low-pass filter of active damping\n\nn_states::Int: VoltageModeControl has 6 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_ext-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_ext","text":"get_ext(value::VoltageModeControl) -> Dict{String, Any}\n\n\nGet VoltageModeControl ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kad-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kad","text":"get_kad(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kffi-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kffi","text":"get_kffi(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kffi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kffv-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kffv","text":"get_kffv(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kffv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kic-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kic","text":"get_kic(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kiv-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kiv","text":"get_kiv(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kiv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kpc-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kpc","text":"get_kpc(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kpc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kpv-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kpv","text":"get_kpv(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kpv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_lv-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_lv","text":"get_lv(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl lv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_n_states-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_n_states","text":"get_n_states(value::VoltageModeControl) -> Int64\n\n\nGet VoltageModeControl n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_rv-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_rv","text":"get_rv(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl rv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_states-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_states","text":"get_states(value::VoltageModeControl) -> Vector{Symbol}\n\n\nGet VoltageModeControl states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_ωad-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_ωad","text":"get_ωad(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl ωad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_ext!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_ext!","text":"set_ext!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kad!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kad!","text":"set_kad!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kffi!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kffi!","text":"set_kffi!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kffi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kffv!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kffv!","text":"set_kffv!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kffv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kic!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kic!","text":"set_kic!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kiv!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kiv!","text":"set_kiv!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kiv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kpc!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kpc!","text":"set_kpc!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kpc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kpv!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kpv!","text":"set_kpv!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kpv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_lv!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_lv!","text":"set_lv!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl lv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_rv!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_rv!","text":"set_rv!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl rv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_ωad!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_ωad!","text":"set_ωad!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl ωad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#TransmissionInterface","page":"TransmissionInterface","title":"TransmissionInterface","text":"","category":"section"},{"location":"model_library/generated_TransmissionInterface/","page":"TransmissionInterface","title":"TransmissionInterface","text":"Modules = [PowerSystems]\nPages = [\"generated/TransmissionInterface.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.TransmissionInterface","page":"TransmissionInterface","title":"PowerSystems.TransmissionInterface","text":"mutable struct TransmissionInterface <: Service\n name::String\n available::Bool\n active_power_flow_limits::MinMax\n violation_penalty::Float64\n direction_mapping::Dict{String, Int}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nA collection of branches that make up an interface or corridor for the transfer of power.\n\nArguments\n\nname::String\navailable::Bool\nactive_power_flow_limits::MinMax\nviolation_penalty::Float64: Penalty for violating the flow limits in the interface\ndirection_mapping::Dict{String, Int}: Map to set of multiplier to the flow in the line for cases when the line has a reverse direction with respect to the interface\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TransmissionInterface/#InfrastructureSystems.get_name-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"InfrastructureSystems.get_name","text":"get_name(value::TransmissionInterface) -> String\n\n\nGet TransmissionInterface name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#InfrastructureSystems.get_time_series_container-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::TransmissionInterface\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet TransmissionInterface time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.get_active_power_flow_limits-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"PowerSystems.get_active_power_flow_limits","text":"get_active_power_flow_limits(\n value::TransmissionInterface\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TransmissionInterface active_power_flow_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.get_available-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"PowerSystems.get_available","text":"get_available(value::TransmissionInterface) -> Bool\n\n\nGet TransmissionInterface available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.get_direction_mapping-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"PowerSystems.get_direction_mapping","text":"get_direction_mapping(\n value::TransmissionInterface\n) -> Dict{String, Int64}\n\n\nGet TransmissionInterface direction_mapping.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.get_violation_penalty-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"PowerSystems.get_violation_penalty","text":"get_violation_penalty(\n value::TransmissionInterface\n) -> Float64\n\n\nGet TransmissionInterface violation_penalty.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.set_active_power_flow_limits!-Tuple{TransmissionInterface, Any}","page":"TransmissionInterface","title":"PowerSystems.set_active_power_flow_limits!","text":"set_active_power_flow_limits!(\n value::TransmissionInterface,\n val\n) -> Any\n\n\nSet TransmissionInterface active_power_flow_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.set_available!-Tuple{TransmissionInterface, Any}","page":"TransmissionInterface","title":"PowerSystems.set_available!","text":"set_available!(value::TransmissionInterface, val) -> Any\n\n\nSet TransmissionInterface available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.set_direction_mapping!-Tuple{TransmissionInterface, Any}","page":"TransmissionInterface","title":"PowerSystems.set_direction_mapping!","text":"set_direction_mapping!(\n value::TransmissionInterface,\n val\n) -> Any\n\n\nSet TransmissionInterface direction_mapping.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.set_time_series_container!-Tuple{TransmissionInterface, Any}","page":"TransmissionInterface","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::TransmissionInterface,\n val\n) -> Any\n\n\nSet TransmissionInterface time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.set_violation_penalty!-Tuple{TransmissionInterface, Any}","page":"TransmissionInterface","title":"PowerSystems.set_violation_penalty!","text":"set_violation_penalty!(\n value::TransmissionInterface,\n val\n) -> Any\n\n\nSet TransmissionInterface violation_penalty.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HybridSystem/#HybridSystem","page":"HybridSystem","title":"HybridSystem","text":"","category":"section"},{"location":"model_library/generated_HybridSystem/","page":"HybridSystem","title":"HybridSystem","text":"Modules = [PowerSystems]\nPages = [\"generated/HybridSystem.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"tutorials/parse_powerflow_cases/#Parsing-Files","page":"Parsing PowerFlow Data","title":"Parsing Files","text":"","category":"section"},{"location":"tutorials/parse_powerflow_cases/","page":"Parsing PowerFlow Data","title":"Parsing PowerFlow Data","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"tutorials/parse_powerflow_cases/#Introduction","page":"Parsing PowerFlow Data","title":"Introduction","text":"","category":"section"},{"location":"tutorials/parse_powerflow_cases/","page":"Parsing PowerFlow Data","title":"Parsing PowerFlow Data","text":"An example of how to parse MATPOWER and PSSe raw files and create a System using PowerSystems.jl","category":"page"},{"location":"tutorials/parse_powerflow_cases/#Create-a-System-from-a-Matpower-File","page":"Parsing PowerFlow Data","title":"Create a System from a Matpower File","text":"","category":"section"},{"location":"tutorials/parse_powerflow_cases/","page":"Parsing PowerFlow Data","title":"Parsing PowerFlow Data","text":"# Load directory\nusing PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\"); #hide\nsys = System(joinpath(file_dir, \"case5_re.m\"))","category":"page"},{"location":"tutorials/parse_powerflow_cases/#Create-a-System-a-PSS/e-File","page":"Parsing PowerFlow Data","title":"Create a System a PSS/e File","text":"","category":"section"},{"location":"tutorials/parse_powerflow_cases/","page":"Parsing PowerFlow Data","title":"Parsing PowerFlow Data","text":"file_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\"); #hide\nsys = System(joinpath(file_dir, \"RTS-GMLC.RAW\"))","category":"page"},{"location":"tutorials/parse_powerflow_cases/","page":"Parsing PowerFlow Data","title":"Parsing PowerFlow Data","text":"This data set does not contain any time series data. For this, check the next tutorial.","category":"page"},{"location":"api/internal/#Internal-API","page":"Internal API Reference","title":"Internal API","text":"","category":"section"},{"location":"api/internal/","page":"Internal API Reference","title":"Internal API Reference","text":"Modules = [PowerSystems]\nPublic = false","category":"page"},{"location":"api/internal/#PowerSystems._pti_dtypes","page":"Internal API Reference","title":"PowerSystems._pti_dtypes","text":"lookup array of data types for PTI file sections given by field_name, as enumerated by PSS/E Program Operation Manual.\n\n\n\n\n\n","category":"constant"},{"location":"api/internal/#PowerSystems._pti_sections","page":"Internal API Reference","title":"PowerSystems._pti_sections","text":"A list of data file sections in the order that they appear in a PTI v33 file\n\n\n\n\n\n","category":"constant"},{"location":"api/internal/#PowerSystems.pm_component_status","page":"Internal API Reference","title":"PowerSystems.pm_component_status","text":"maps component types to status parameters\n\n\n\n\n\n","category":"constant"},{"location":"api/internal/#PowerSystems.pm_component_status_inactive","page":"Internal API Reference","title":"PowerSystems.pm_component_status_inactive","text":"maps component types to inactive status values\n\n\n\n\n\n","category":"constant"},{"location":"api/internal/#PowerSystems.EX4VSA","page":"Internal API Reference","title":"PowerSystems.EX4VSA","text":"mutable struct EX4VSA <: AVR\n Iflim::Float64\n d::Float64\n f::Float64\n Spar::Float64\n K1::Float64\n K2::Float64\n Oel_lim::MinMax\n G::Float64\n Ta::Float64\n Tb::Float64\n Te::Float64\n E_lim::MinMax\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nIEEE Excitation System for Voltage Security Assesment\n\nArguments\n\nIflim::Float64: OEL Field current limit, validation range: (0, nothing), action if invalid: warn\nd::Float64: OEL parameter d, validation range: (0, nothing), action if invalid: warn\nf::Float64: OEL parameter f, validation range: (0, nothing), action if invalid: warn\nSpar::Float64: OEL parameter Spar, validation range: (0, nothing), action if invalid: warn\nK1::Float64: OEL delay time constant, validation range: (0, nothing), action if invalid: warn\nK2::Float64: OEL parameter K2, validation range: (0, nothing), action if invalid: warn\nOel_lim::MinMax: Oel integrator limits (Oelmin, Oelmax)\nG::Float64: AVR Exciter Gain, validation range: (0, nothing), action if invalid: warn\nTa::Float64: Numerator lead-lag (lag) time constant in s, validation range: (0, nothing), action if invalid: warn\nTb::Float64: Denominator lead-lag (lag) time constant in s, validation range: (0, nothing), action if invalid: warn\nTe::Float64: Exciter Time Constant in s, validation range: (0, nothing), action if invalid: warn\nE_lim::MinMax: Voltage regulator limits (regulator output) (Emin, Emax)\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVll: Lead-lag internal state,\nVex: Exciter Output, \noel: OEL integrator state\n\nn_states::Int: The EX4VSA has 3 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems.EXST1","page":"Internal API Reference","title":"PowerSystems.EXST1","text":"mutable struct EXST1 <: AVR\n Tr::Float64\n Vi_lim::MinMax\n Tc::Float64\n Tb::Float64\n Ka::Float64\n Ta::Float64\n Vr_lim::MinMax\n Kc::Float64\n Kf::Float64\n Tf::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nIEEE Type ST1 Excitation System (PTI version)\n\nArguments\n\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing), action if invalid: warn\nVi_lim::MinMax: Voltage input limits (Vimin, Vimax)\nTc::Float64: Numerator lead-lag (lead) time constant in s, validation range: (0, nothing), action if invalid: warn\nTb::Float64: Denominator lead-lag (lag) time constant in s, validation range: (0, nothing), action if invalid: warn\nKa::Float64: Amplifier Gain, validation range: (0, nothing), action if invalid: warn\nTa::Float64: Amplifier Time Constant in s, validation range: (0, nothing), action if invalid: warn\nVr_lim::MinMax: Voltage regulator limits (regulator output) (Vrmin, Vrmax)\nKc::Float64: Current field constant limiter multiplier, validation range: (0, nothing)\nKf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3), action if invalid: warn\nTf::Float64: Excitation control system stabilizer time constant, validation range: (eps(), nothing), action if invalid: error\nV_ref::Float64: Reference Voltage Set-point, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states are:\n\nVm: Sensed Terminal Voltage,\nVrll: Lead-Lag state,\nVr: Regulator Output, \nVfb: Feedback state\n\nn_states::Int: The EXST1 has 4 states\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems.ExponentialLoad","page":"Internal API Reference","title":"PowerSystems.ExponentialLoad","text":"mutable struct ExponentialLoad <: StaticLoad\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n active_power_coefficient::Float64\n reactive_power_coefficient::Float64\n base_power::Float64\n max_active_power::Float64\n max_reactive_power::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nData structure for a static exponential load.\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nactive_power::Float64\nreactive_power::Float64\nactive_power_coefficient::Float64: Coefficient relating voltage dependence for power P = P0 * V^α, validation range: (0, nothing), action if invalid: warn\nreactive_power_coefficient::Float64: Coefficient relating voltage dependence for power Q = Q0 * V^β, validation range: (0, nothing), action if invalid: warn\nbase_power::Float64: Base power of the unit in MVA, validation range: (0, nothing), action if invalid: warn\nmax_active_power::Float64\nmax_reactive_power::Float64\nservices::Vector{Service}: Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection device\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems.OperationalCost","page":"Internal API Reference","title":"PowerSystems.OperationalCost","text":"Super type for operational cost representation in the model\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems.PowerFlowDataNetwork","page":"Internal API Reference","title":"PowerSystems.PowerFlowDataNetwork","text":"Container for data parsed by PowerFlowData\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems.PowerFlowDataNetwork-Tuple{Union{IO, String}}","page":"Internal API Reference","title":"PowerSystems.PowerFlowDataNetwork","text":"PowerFlowDataNetwork(\n file::Union{IO, String};\n kwargs...\n) -> PowerSystems.PowerFlowDataNetwork\n\n\nConstructs PowerFlowDataNetwork from a raw file. Currently Supports PSSE data files v30, v32 and v33\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.SwitchedAdmittance","page":"Internal API Reference","title":"PowerSystems.SwitchedAdmittance","text":"mutable struct SwitchedAdmittance <: ElectricLoad\n name::String\n available::Bool\n bus::ACBus\n Y::Complex{Float64}\n number_of_steps::Int\n Y_increase::Complex{Float64}\n dynamic_injector::Union{Nothing, DynamicInjection}\n services::Vector{Service}\n ext::Dict{String, Any}\n time_series_container::InfrastructureSystems.TimeSeriesContainer\n internal::InfrastructureSystemsInternal\nend\n\nArguments\n\nname::String\navailable::Bool\nbus::ACBus\nY::Complex{Float64}: Initial impedance at N = 0\nnumber_of_steps::Int: Number of steps for adjustable shunt\nY_increase::Complex{Float64}: Admittance increment for each of step increase\ndynamic_injector::Union{Nothing, DynamicInjection}: corresponding dynamic injection model for admittance\nservices::Vector{Service}: Services that this device contributes to\next::Dict{String, Any}\ntime_series_container::InfrastructureSystems.TimeSeriesContainer: internal time_series storage\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems._FieldInfo","page":"Internal API Reference","title":"PowerSystems._FieldInfo","text":"Stores user-customized information for required dataframe columns.\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems._HeatRateColumns","page":"Internal API Reference","title":"PowerSystems._HeatRateColumns","text":"Add generators to the System from the raw data.\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#Base.convert-Tuple{Type{@NamedTuple{min::Float64, max::Float64}}, Tuple{Float64, Float64}}","page":"Internal API Reference","title":"Base.convert","text":"convert(\n _::Type{@NamedTuple{min::Float64, max::Float64}},\n input::Tuple{Float64, Float64}\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nConvert Tuple to Min Max Named Tuple\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#Base.convert-Tuple{Type{@NamedTuple{up::Float64, down::Float64}}, Tuple{Float64, Float64}}","page":"Internal API Reference","title":"Base.convert","text":"convert(\n _::Type{@NamedTuple{up::Float64, down::Float64}},\n input::Tuple{Float64, Float64}\n) -> @NamedTuple{up::Float64, down::Float64}\n\n\nConvert Tuple to Up Down Named Tuple\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ACBus}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ACBus\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ACBus internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AGC}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AGC\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AGC internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AVRFixed}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AVRFixed\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AVRFixed internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AVRSimple}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AVRSimple\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AVRSimple internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AVRTypeII}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AVRTypeII\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AVRTypeII internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AVRTypeI}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AVRTypeI\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AVRTypeI internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ActiveConstantPowerLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ActiveConstantPowerLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ActiveConstantPowerLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AggregateDistributedGenerationA}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AggregateDistributedGenerationA\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AggregateDistributedGenerationA internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AndersonFouadMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AndersonFouadMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AndersonFouadMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Arc}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Arc\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Arc internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Area}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Area\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Area internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{BaseMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::BaseMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet BaseMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{BatteryEMS}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::BatteryEMS\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet BatteryEMS internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{CSVGN1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::CSVGN1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet CSVGN1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{DCBus}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::DCBus\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet DCBus internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{DEGOV}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::DEGOV\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet DEGOV internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{DynamicBranch}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::DynamicBranch\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet DynamicBranch internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{DynamicExponentialLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::DynamicExponentialLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet DynamicExponentialLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESAC1A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESAC1A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESAC1A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESAC6A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESAC6A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESAC6A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESDC1A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESDC1A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESDC1A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESDC2A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESDC2A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESDC2A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESST1A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESST1A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESST1A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESST4B}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESST4B\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESST4B internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{EXAC1A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::EXAC1A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EXAC1A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{EXAC1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::EXAC1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EXAC1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{EXAC2}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::EXAC2\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EXAC2 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{EXPIC1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::EXPIC1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EXPIC1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{FiveMassShaft}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::FiveMassShaft\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet FiveMassShaft internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{FixedAdmittance}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::FixedAdmittance\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet FixedAdmittance internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{FixedDCSource}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::FixedDCSource\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet FixedDCSource internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{FullMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::FullMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet FullMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{GasTG}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::GasTG\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet GasTG internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{GeneralGovModel}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::GeneralGovModel\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet GeneralGovModel internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{GenericBattery}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::GenericBattery\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet GenericBattery internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{GenericDER}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::GenericDER\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet GenericDER internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{HybridSystem}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::HybridSystem\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet HybridSystem internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{HydroDispatch}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::HydroDispatch\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet HydroDispatch internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{HydroEnergyReservoir}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::HydroEnergyReservoir\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet HydroEnergyReservoir internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{HydroPumpedStorage}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::HydroPumpedStorage\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet HydroPumpedStorage internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{HydroTurbineGov}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::HydroTurbineGov\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet HydroTurbineGov internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{IEEEST}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::IEEEST\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet IEEEST internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{IEEET1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::IEEET1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet IEEET1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{IEEETurbineGov1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::IEEETurbineGov1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet IEEETurbineGov1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{InterconnectingConverter}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::InterconnectingConverter\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet InterconnectingConverter internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{InterruptiblePowerLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::InterruptiblePowerLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet InterruptiblePowerLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Line}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Line\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Line internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{LoadZone}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::LoadZone\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet LoadZone internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{MarconatoMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::MarconatoMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet MarconatoMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{MonitoredLine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::MonitoredLine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet MonitoredLine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{OneDOneQMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::OneDOneQMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet OneDOneQMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PSS2A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PSS2A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PSS2A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PSS2B}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PSS2B\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PSS2B internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PSS2C}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PSS2C\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PSS2C internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PSSFixed}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PSSFixed\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PSSFixed internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PSSSimple}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PSSSimple\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PSSSimple internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PeriodicVariableSource}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PeriodicVariableSource\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PeriodicVariableSource internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PhaseShiftingTransformer}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PhaseShiftingTransformer\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PhaseShiftingTransformer internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PowerLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PowerLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PowerLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PowerSystems.EX4VSA}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PowerSystems.EX4VSA\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EX4VSA internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PowerSystems.EXST1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PowerSystems.EXST1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EXST1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PowerSystems.ExponentialLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PowerSystems.ExponentialLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ExponentialLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PowerSystems.SwitchedAdmittance}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PowerSystems.SwitchedAdmittance\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SwitchedAdmittance internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{RenewableDispatch}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::RenewableDispatch\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet RenewableDispatch internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{RenewableFix}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::RenewableFix\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet RenewableFix internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ReserveDemandCurve}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ReserveDemandCurve\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ReserveDemandCurve internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{RoundRotorMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::RoundRotorMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet RoundRotorMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SCRX}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SCRX\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SCRX internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SEXS}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SEXS\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SEXS internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{STAB1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::STAB1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet STAB1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SalientPoleMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SalientPoleMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SalientPoleMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SauerPaiMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SauerPaiMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SauerPaiMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SimpleAFMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SimpleAFMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SimpleAFMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SimpleFullMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SimpleFullMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SimpleFullMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SimpleMarconatoMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SimpleMarconatoMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SimpleMarconatoMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SimplifiedSingleCageInductionMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SimplifiedSingleCageInductionMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SimplifiedSingleCageInductionMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SingleCageInductionMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SingleCageInductionMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SingleCageInductionMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SingleMass}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SingleMass\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SingleMass internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Source}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Source\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Source internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{StandardLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::StandardLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet StandardLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{StaticReserveGroup}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::StaticReserveGroup\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet StaticReserveGroup internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{StaticReserveNonSpinning}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::StaticReserveNonSpinning\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet StaticReserveNonSpinning internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{StaticReserve}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::StaticReserve\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet StaticReserve internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SteamTurbineGov1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SteamTurbineGov1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SteamTurbineGov1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{System}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n sys::System\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nReturn the internal of the system\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TGFixed}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TGFixed\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TGFixed internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TGTypeII}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TGTypeII\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TGTypeII internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TGTypeI}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TGTypeI\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TGTypeI internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TModelHVDCLine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TModelHVDCLine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TModelHVDCLine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TapTransformer}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TapTransformer\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TapTransformer internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ThermalMultiStart}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ThermalMultiStart\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ThermalMultiStart internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ThermalStandard}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ThermalStandard\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ThermalStandard internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Transfer}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Transfer\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Transfer internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Transformer2W}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Transformer2W\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Transformer2W internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TransmissionInterface}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TransmissionInterface\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TransmissionInterface internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TwoTerminalHVDCLine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TwoTerminalHVDCLine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TwoTerminalHVDCLine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TwoTerminalVSCDCLine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TwoTerminalVSCDCLine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TwoTerminalVSCDCLine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{VariableReserveNonSpinning}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::VariableReserveNonSpinning\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet VariableReserveNonSpinning internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{VariableReserve}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::VariableReserve\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet VariableReserve internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._add_dcline_costs!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._add_dcline_costs!","text":"_add_dcline_costs!(data::Dict{String, Any})\n\n\nadds dcline costs, if gen costs exist\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._add_line_delimiter-Tuple{AbstractString, Any, Any}","page":"Internal API Reference","title":"PowerSystems._add_line_delimiter","text":"_add_line_delimiter(\n mp_line::AbstractString,\n start_char,\n end_char\n) -> Any\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._apply_func!-Tuple{Dict{String}, String, Any}","page":"Internal API Reference","title":"PowerSystems._apply_func!","text":"_apply_func!(data::Dict{String}, key::String, func) -> Any\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._biggest_generator-Tuple{Any}","page":"Internal API Reference","title":"PowerSystems._biggest_generator","text":"_biggest_generator(gens) -> Any\n\n\nfind the largest active generator in the network\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._bold-Tuple{String}","page":"Internal API Reference","title":"PowerSystems._bold","text":"_bold(s::String) -> String\n\n\nMakes a string bold in the terminal\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._calc_branch_flow_ac-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._calc_branch_flow_ac","text":"_calc_branch_flow_ac(\n data::Dict{String}\n) -> Dict{String, Any}\n\n\nhelper function for calcbranchflow_ac\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._calc_branch_flow_dc-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._calc_branch_flow_dc","text":"_calc_branch_flow_dc(\n data::Dict{String}\n) -> Dict{String, Any}\n\n\nhelper function for calcbranchflow_dc\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._calc_comp_lines-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._calc_comp_lines","text":"_calc_comp_lines(component::Dict{String}) -> Vector{Any}\n\n\ncompute lines in m and b from from pwl cost models\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._calc_max_cost_index-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._calc_max_cost_index","text":"_calc_max_cost_index(data::Dict{String}) -> Any\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._calc_power_balance-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._calc_power_balance","text":"_calc_power_balance(data::Dict{String}) -> Dict{String, Any}\n\n\nhelper function for calcpowerbalance\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._cc_dfs-NTuple{4, Any}","page":"Internal API Reference","title":"PowerSystems._cc_dfs","text":"_cc_dfs(i, neighbors, component_lookup, touched)\n\n\nDFS on a graph\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._check_conductors-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._check_conductors","text":"_check_conductors(data::Dict{String})\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._check_keys-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems._check_keys","text":"_check_keys(data, keys)\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._compare_numbers-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems._compare_numbers","text":"_compare_numbers(v1, v2) -> Bool\n\n\ntests if two numbers are equal, up to floating point precision\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._convert_argument_types!-Tuple{AbstractString, Vector}","page":"Internal API Reference","title":"PowerSystems._convert_argument_types!","text":"_convert_argument_types!(\n str::AbstractString,\n struct_args::Vector\n) -> Any\n\n\nConvert specific parameters to types that are not Float64 for specific inverter components\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._correct_cost_function!-Tuple{Any, Any, Any}","page":"Internal API Reference","title":"PowerSystems._correct_cost_function!","text":"_correct_cost_function!(id, comp, type_name) -> Bool\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._correct_reference_buses!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._correct_reference_buses!","text":"_correct_reference_buses!(data::Dict{String})\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._create_starbus_from_transformer-Tuple{Dict, Dict, Int64}","page":"Internal API Reference","title":"PowerSystems._create_starbus_from_transformer","text":"_create_starbus_from_transformer(\n pm_data::Dict,\n transformer::Dict,\n starbus_id::Int64\n) -> Dict{String, Any}\n\n\ncreate_starbus(pm_data, transformer)\n\nCreates 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._deactivate_isolated_components!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._deactivate_isolated_components!","text":"_deactivate_isolated_components!(data::Dict{String}) -> Bool\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._extract_matlab_assignment-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems._extract_matlab_assignment","text":"_extract_matlab_assignment(\n string::AbstractString\n) -> Tuple{SubString, SubString}\n\n\nbreaks up matlab strings of the form 'name = value;'\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._find_max_bus_id-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems._find_max_bus_id","text":"_find_max_bus_id(pm_data::Dict) -> Int64\n\n\n_find_max_bus_id(pm_data)\n\nReturns the maximum bus id in pm_data\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._float2string-Tuple{AbstractFloat, Int64}","page":"Internal API Reference","title":"PowerSystems._float2string","text":"_float2string(\n v::AbstractFloat,\n float_precision::Int64\n) -> Union{String, WeakRefStrings.PosLenString}\n\n\nconverts a float value into a string of fixed precision\n\nsprintf would do the job but this work around is needed because sprintf cannot take format strings during runtime\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._get_bus_value-Tuple{Any, Any, Any}","page":"Internal API Reference","title":"PowerSystems._get_bus_value","text":"_get_bus_value(bus_i, field, pm_data) -> Any\n\n\n_get_bus_value(bus_i, field, pm_data)\n\nReturns the value of field of bus_i from the PowerModels data. Requires \"bus\" Dict to already be populated.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._get_contributing_devices-Union{Tuple{T}, Tuple{System, T}} where T<:Service","page":"Internal API Reference","title":"PowerSystems._get_contributing_devices","text":"_get_contributing_devices(\n sys::System,\n service::Service\n) -> ServiceContributingDevices\n\n\nReturns a ServiceContributingDevices object.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._get_line_elements-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems._get_line_elements","text":"_get_line_elements(\n line::AbstractString\n) -> Tuple{Vector{T} where T<:SubString, Union{String, SubString}}\n\n\n_get_line_elements(line)\n\nInternal 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._get_pm_branch_name-Tuple{Any, Any, Any}","page":"Internal API Reference","title":"PowerSystems._get_pm_branch_name","text":"_get_pm_branch_name(device_dict, bus_f, bus_t) -> String\n\n\nInternal branch name retreval from pm2ps_dict\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._get_pm_dict_name-Tuple{Any}","page":"Internal API Reference","title":"PowerSystems._get_pm_dict_name","text":"_get_pm_dict_name(device_dict) -> Any\n\n\nInternal component name retreval from pm2ps_dict\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._grey-Tuple{String}","page":"Internal API Reference","title":"PowerSystems._grey","text":"_grey(s::String) -> String\n\n\nMakes 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\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._import_remaining_comps!-Tuple{Dict, Dict}","page":"Internal API Reference","title":"PowerSystems._import_remaining_comps!","text":"_import_remaining_comps!(\n data_out::Dict,\n data_in::Dict;\n exclude\n)\n\n\nImports remaining top level component lists from data_in into data_out, excluding keys in exclude\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._import_remaining_keys!-Tuple{Dict, Dict}","page":"Internal API Reference","title":"PowerSystems._import_remaining_keys!","text":"_import_remaining_keys!(\n comp_dest::Dict,\n comp_src::Dict;\n exclude\n)\n\n\nImports remaining keys from a source component into detestation component, excluding keys in exclude\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._init_bus!-Tuple{Dict{String, Any}, Int64}","page":"Internal API Reference","title":"PowerSystems._init_bus!","text":"_init_bus!(bus::Dict{String, Any}, id::Int64)\n\n\n_init_bus!(bus, id)\n\nInitializes a bus of id id with default values given in the PSS(R)E specification.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._instantiate_param_vector_size-Tuple{AbstractString, Dict}","page":"Internal API Reference","title":"PowerSystems._instantiate_param_vector_size","text":"_instantiate_param_vector_size(\n str::AbstractString,\n param_map::Dict\n) -> Any\n\n\nConstruct appropiate vector size for components that collect parameters from more than 2 PSS/E components\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._make_mixed_units!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._make_mixed_units!","text":"_make_mixed_units!(data::Dict{String})\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._make_per_unit!-Tuple{Dict{String}, Real}","page":"Internal API Reference","title":"PowerSystems._make_per_unit!","text":"_make_per_unit!(data::Dict{String}, mva_base::Real)\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._make_shaft-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems._make_shaft","text":"_make_shaft(param_map, val) -> Any\n\n\nCreate a SingleMass shaft struct directly using the parameter mapping.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._matpower_to_powermodels!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._matpower_to_powermodels!","text":"_matpower_to_powermodels!(\n mp_data::Dict{String}\n) -> Dict{String}\n\n\nConverts a Matpower dict into a PowerModels dict\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._merge_bus_name_data!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._merge_bus_name_data!","text":"_merge_bus_name_data!(\n data::Dict{String, Any}\n) -> Union{Nothing, Dict{String, Any}}\n\n\nmerges bus name data into buses, if names exist\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._merge_cost_data!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._merge_cost_data!","text":"_merge_cost_data!(\n data::Dict{String, Any}\n) -> Union{Nothing, Dict{String, Any}}\n\n\nmerges generator cost functions into generator data, if costs exist\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._merge_generic_data!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._merge_generic_data!","text":"_merge_generic_data!(data::Dict{String, Any})\n\n\nmerges Matpower tables based on the table extension syntax\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._mp2pm_branch!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._mp2pm_branch!","text":"_mp2pm_branch!(data::Dict{String, Any})\n\n\nsets all branch transformer taps to 1.0, to simplify branch models\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._mp2pm_dcline!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._mp2pm_dcline!","text":"_mp2pm_dcline!(data::Dict{String, Any})\n\n\nadds pmin and pmax values at to and from buses\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._mp_cost_data-Tuple{Any}","page":"Internal API Reference","title":"PowerSystems._mp_cost_data","text":"_mp_cost_data(cost_row) -> Dict\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dyr_components-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems._parse_dyr_components","text":"_parse_dyr_components(\n dyr_file::AbstractString\n) -> Dict{Int64, Any}\n\n\nParse a .dyr file directly from its name by constructing its dictionary of dictionaries.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dyr_components-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems._parse_dyr_components","text":"_parse_dyr_components(data::Dict) -> Dict{Int64, Any}\n\n\nParse 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).\n\nFor Generators, each dictionary indexed by id contains a vector with 5 of its components:\n\nMachine\nShaft\nAVR\nTurbineGov\nPSS\n\nFor Inverters, each dictionary indexed by id contains a vector with 7 of its components:\n\nConverter\nActivePowerControl\nReactivePowerControl\nInnerControl\nDCSource\nFrequencyEstimator\nFilter\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dyr_file-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems._parse_dyr_file","text":"_parse_dyr_file(file::AbstractString) -> Dict{Int64, Dict}\n\n\nParse .dyr file into a dictionary indexed by bus number. Each bus number key has a dictionary indexed by component type and id.\n\nComments in .dyr files are not supported (beginning of lines with //).\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dyr_generator_components!-Tuple{Dict, Any, Any, Dict, Dict}","page":"Internal API Reference","title":"PowerSystems._parse_dyr_generator_components!","text":"_parse_dyr_generator_components!(\n bus_dict::Dict,\n componentID,\n componentValues,\n gen_map::Dict,\n param_map::Dict\n)\n\n\nParse 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dyr_inverter_components!-Tuple{Dict, Dict, Tuple{String, String}, Dict}","page":"Internal API Reference","title":"PowerSystems._parse_dyr_inverter_components!","text":"_parse_dyr_inverter_components!(\n bus_dict::Dict,\n inv_dict::Dict,\n componentID::Tuple{String, String},\n inv_map::Dict\n)\n\n\nParse 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_elements-Tuple{Array, Array, Dict, AbstractString}","page":"Internal API Reference","title":"PowerSystems._parse_elements","text":"_parse_elements(\n elements::Array,\n dtypes::Array,\n defaults::Dict,\n section::AbstractString\n) -> Dict{String, Any}\n\n\nThis 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_line_element!-Tuple{Dict, Array, AbstractString}","page":"Internal API Reference","title":"PowerSystems._parse_line_element!","text":"_parse_line_element!(\n data::Dict,\n elements::Array,\n section::AbstractString\n)\n\n\n_parse_line_element!(data, elements, section)\n\nInternal 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_matlab_cells-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems._parse_matlab_cells","text":"_parse_matlab_cells(lines, index) -> Dict\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_matlab_data-NTuple{4, Any}","page":"Internal API Reference","title":"PowerSystems._parse_matlab_data","text":"_parse_matlab_data(\n lines,\n index,\n start_char,\n end_char\n) -> Dict\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_matlab_matrix-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems._parse_matlab_matrix","text":"_parse_matlab_matrix(lines, index) -> Dict\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_matpower_string-Tuple{String}","page":"Internal API Reference","title":"PowerSystems._parse_matpower_string","text":"_parse_matpower_string(\n data_string::String\n) -> Dict{String, Any}\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_pti_data-Tuple{IO}","page":"Internal API Reference","title":"PowerSystems._parse_pti_data","text":"_parse_pti_data(data_io::IO) -> Dict{String, Array{Dict}}\n\n\n_parse_pti_data(data_string, sections)\n\nInternal 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().\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._populate_args-Tuple{Vector, Any}","page":"Internal API Reference","title":"PowerSystems._populate_args","text":"_populate_args(param_map::Vector, val) -> Vector{Any}\n\n\nPopulate arguments in a vector for each dynamic component (except Shafts). Returns a vector with the parameter values of the argument of each component.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._populate_defaults!-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems._populate_defaults!","text":"_populate_defaults!(data::Dict)\n\n\n_populate_defaults!(pti_data)\n\nInternal function. Populates empty fields with PSS(R)E PTI v33 default values\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._propagate_topology_status!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._propagate_topology_status!","text":"_propagate_topology_status!(data::Dict{String}) -> Bool\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_branch!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_branch!","text":"_psse2pm_branch!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_branch!(pm_data, pti_data)\n\nParses 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_bus!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_bus!","text":"_psse2pm_bus!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_bus!(pm_data, pti_data)\n\nParses PSS(R)E-style Bus data into a PowerModels-style Dict. \"source_id\" is given by [\"I\", \"NAME\"] in PSS(R)E Bus specification.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_dcline!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_dcline!","text":"_psse2pm_dcline!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_dcline!(pm_data, pti_data)\n\nParses 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_generator!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_generator!","text":"_psse2pm_generator!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_generator!(pm_data, pti_data)\n\nParses PSS(R)E-style Generator data in a PowerModels-style Dict. \"source_id\" is given by [\"I\", \"ID\"] in PSS(R)E Generator specification.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_load!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_load!","text":"_psse2pm_load!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_load!(pm_data, pti_data)\n\nParses 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_shunt!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_shunt!","text":"_psse2pm_shunt!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_shunt!(pm_data, pti_data)\n\nParses 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_transformer!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_transformer!","text":"_psse2pm_transformer!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_transformer!(pm_data, pti_data)\n\nParses 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._pti_to_powermodels!-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems._pti_to_powermodels!","text":"_pti_to_powermodels!(\n pti_data::Dict;\n import_all,\n validate,\n correct_branch_rating\n) -> Dict{String, Any}\n\n\n_pti_to_powermodels!(pti_data)\n\nConverts 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).\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._read_data_row-Tuple{PowerSystemTableData, Any, Any}","page":"Internal API Reference","title":"PowerSystems._read_data_row","text":"_read_data_row(\n data::PowerSystemTableData,\n row,\n field_infos;\n na_to_nothing\n) -> NamedTuple\n\n\nReads values from dataframe row and performs necessary conversions.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._remove_aggregration_topology!-Tuple{ACBus, LoadZone}","page":"Internal API Reference","title":"PowerSystems._remove_aggregration_topology!","text":"_remove_aggregration_topology!(bus::ACBus, _::LoadZone)\n\n\nRemove the aggregation topology in a ACBus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._remove_pwl_cost_duplicates!","page":"Internal API Reference","title":"PowerSystems._remove_pwl_cost_duplicates!","text":"_remove_pwl_cost_duplicates!(id, comp, type_name) -> Bool\n_remove_pwl_cost_duplicates!(\n id,\n comp,\n type_name,\n tolerance\n) -> Bool\n\n\nchecks that each point in the a pwl function is unqiue, simplifies the function if duplicates appear\n\n\n\n\n\n","category":"function"},{"location":"api/internal/#PowerSystems._remove_service!-Tuple{Device, Service}","page":"Internal API Reference","title":"PowerSystems._remove_service!","text":"_remove_service!(device::Device, service::Service) -> Bool\n\n\nRemove service from device if it is attached.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._rescale_cost_model!-Tuple{Dict{String}, Real}","page":"Internal API Reference","title":"PowerSystems._rescale_cost_model!","text":"_rescale_cost_model!(comp::Dict{String}, scale::Real)\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._resolve_swithces!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._resolve_swithces!","text":"_resolve_swithces!(data::Dict{String})\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._select_largest_component!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._select_largest_component!","text":"_select_largest_component!(data::Dict{String}) -> Any\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._simplify_pwl_cost!","page":"Internal API Reference","title":"PowerSystems._simplify_pwl_cost!","text":"_simplify_pwl_cost!(id, comp, type_name) -> Bool\n_simplify_pwl_cost!(id, comp, type_name, tolerance) -> Bool\n\n\nchecks the slope of each segment in a pwl function, simplifies the function if the slope changes is below a tolerance\n\n\n\n\n\n","category":"function"},{"location":"api/internal/#PowerSystems._split_loads_shunts!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._split_loads_shunts!","text":"_split_loads_shunts!(data::Dict{String, Any})\n\n\n_split_loads_shunts!(data)\n\nSeperates 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._standardize_cost_terms!-Tuple{Dict{String}, Int64, String}","page":"Internal API Reference","title":"PowerSystems._standardize_cost_terms!","text":"_standardize_cost_terms!(\n components::Dict{String},\n comp_order::Int64,\n cost_comp_name::String\n) -> Set{Int64}\n\n\nensures all polynomial costs functions have at exactly comp_order terms\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._type_array-Union{Tuple{Vector{T}}, Tuple{T}} where T<:AbstractString","page":"Internal API Reference","title":"PowerSystems._type_array","text":"_type_array(\n string_array::Array{T<:AbstractString, 1}\n) -> Vector\n\n\nAttempts to determine the type of an array of strings extracted from a matlab file\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._type_value-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems._type_value","text":"_type_value(value_string::AbstractString) -> Any\n\n\nAttempts to determine the type of a string extracted from a matlab file\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._update_data!-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems._update_data!","text":"_update_data!(data::Dict{String}, new_data::Dict{String})\n\n\nrecursive call of updatedata\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._value2string-Tuple{Any, Int64}","page":"Internal API Reference","title":"PowerSystems._value2string","text":"_value2string(v, float_precision::Int64) -> Any\n\n\nconverts any value to a string, summarizes arrays and dicts\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.add_service_internal!-Tuple{Device, Service}","page":"Internal API Reference","title":"PowerSystems.add_service_internal!","text":"add_service_internal!(device::Device, service::Service)\n\n\nThis function add a service to the component without checking if the component and the service are attached to the same system\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.adequacy_check-Tuple{System}","page":"Internal API Reference","title":"PowerSystems.adequacy_check","text":"adequacy_check(sys::System)\n\n\nadequacy_check(sys::System)\n\nChecks the system for sum(generator ratings) >= sum(load ratings).\n\nArguments\n\nsys::System: system\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.arrays_to_dicts!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.arrays_to_dicts!","text":"arrays_to_dicts!(data::Dict{String})\n\n\nturns top level arrays into dicts\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.branch_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.branch_csv_parser!","text":"branch_csv_parser!(sys::System, data::PowerSystemTableData)\n\n\nAdd branches to the System from the raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.bus_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.bus_csv_parser!","text":"bus_csv_parser!(sys::System, data::PowerSystemTableData)\n\n\nAdd buses and areas to the System from the raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.bus_gen_lookup-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems.bus_gen_lookup","text":"bus_gen_lookup(\n gen_data::Dict{String},\n bus_data::Dict{String}\n) -> Dict\n\n\nbuilds a lookup list of what generators are connected to a given bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.bus_load_lookup-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems.bus_load_lookup","text":"bus_load_lookup(\n load_data::Dict{String},\n bus_data::Dict{String}\n) -> Dict\n\n\nbuilds a lookup list of what loads are connected to a given bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.bus_shunt_lookup-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems.bus_shunt_lookup","text":"bus_shunt_lookup(\n shunt_data::Dict{String},\n bus_data::Dict{String}\n) -> Dict\n\n\nbuilds a lookup list of what shunts are connected to a given bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.bus_storage_lookup-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems.bus_storage_lookup","text":"bus_storage_lookup(\n storage_data::Dict{String},\n bus_data::Dict{String}\n) -> Dict\n\n\nbuilds a lookup list of what storage is connected to a given bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_branch_flow_ac-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_branch_flow_ac","text":"calc_branch_flow_ac(data::Dict{String}) -> Dict{String, Any}\n\n\nassumes a vaild ac solution is included in the data and computes the branch flow values\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_branch_flow_dc-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_branch_flow_dc","text":"calc_branch_flow_dc(data::Dict{String}) -> Dict{String, Any}\n\n\nassumes a vaild dc solution is included in the data and computes the branch flow values\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_branch_t-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_branch_t","text":"calc_branch_t(branch::Dict{String}) -> Tuple{Any, Any}\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_branch_y-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_branch_y","text":"calc_branch_y(branch::Dict{String}) -> Tuple{Any, Any}\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_connected_components-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_connected_components","text":"calc_connected_components(\n pm_data::Dict{String};\n edges\n) -> Set{Set{Int64}}\n\n\ncomputes the connected components of the network graph returns a set of sets of bus ids, each set is a connected component\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_cost_pwl_lines-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems.calc_cost_pwl_lines","text":"calc_cost_pwl_lines(comp_dict::Dict) -> Dict{Any, Any}\n\n\ncompute lines in m and b from from pwl cost models data is a list of components.\n\nCan be run on data or ref data structures\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_dcline_cost-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_dcline_cost","text":"calc_dcline_cost(data::Dict{String}) -> Any\n\n\ncomputes the dcline cost from given network data\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_gen_cost-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_gen_cost","text":"calc_gen_cost(data::Dict{String}) -> Any\n\n\ncomputes the generator cost from given network data\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_max_cost_index-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.calc_max_cost_index","text":"calc_max_cost_index(data::Dict{String, Any}) -> Any\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_power_balance-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_power_balance","text":"calc_power_balance(data::Dict{String}) -> Dict{String, Any}\n\n\nassumes a vaild solution is included in the data and computes the power balance at each bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_theta_delta_bounds-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_theta_delta_bounds","text":"calc_theta_delta_bounds(\n data::Dict{String}\n) -> Tuple{Real, Real}\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calculate_saturation_coefficients-Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}","page":"Internal API Reference","title":"PowerSystems.calculate_saturation_coefficients","text":"calculate_saturation_coefficients(\n E::Tuple{Float64, Float64},\n Se::Tuple{Float64, Float64}\n) -> Tuple{Float64, Float64}\n\n\nObtain 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 \n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_ascending_order-Tuple{Array{Int64}, AbstractString}","page":"Internal API Reference","title":"PowerSystems.check_ascending_order","text":"check_ascending_order(\n array::Array{Int64},\n name::AbstractString\n)\n\n\nThrows DataFormatError if the array is not in ascending order.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_attached_buses-Tuple{System, Component}","page":"Internal API Reference","title":"PowerSystems.check_attached_buses","text":"check_attached_buses(sys::System, component::Component)\n\n\nThrows ArgumentError if any bus attached to the component is invalid.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_branch_loops-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_branch_loops","text":"check_branch_loops(data::Dict{String})\n\n\nchecks that all branches connect two distinct buses\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_component_addition-Tuple{System, Component}","page":"Internal API Reference","title":"PowerSystems.check_component_addition","text":"check_component_addition(\n sys::System,\n component::Component;\n kwargs...\n)\n\n\nThrows ArgumentError if a PowerSystems rule blocks addition to the system.\n\nThis method is tied with handlecomponentaddition!. If the methods are re-implemented for a subtype then whatever is added in handlecomponentaddition! must be checked here.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_component_removal-Tuple{System, Component}","page":"Internal API Reference","title":"PowerSystems.check_component_removal","text":"check_component_removal(sys::System, component::Component)\n\n\nThrows ArgumentError if a PowerSystems rule blocks removal from the system.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_component_removal-Union{Tuple{T}, Tuple{System, T}} where T<:Service","page":"Internal API Reference","title":"PowerSystems.check_component_removal","text":"check_component_removal(sys::System, service::Service)\n\n\nThrows ArgumentError if a PowerSystems rule blocks removal from the system.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_conductors-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_conductors","text":"check_conductors(data::Dict{String})\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_connectivity-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_connectivity","text":"check_connectivity(data::Dict{String})\n\n\nchecks that all buses are unique and other components link to valid buses\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_reference_bus-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_reference_bus","text":"check_reference_bus(data::Dict{String})\n\n\nchecks that contains at least one refrence bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_reference_buses-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.check_reference_buses","text":"check_reference_buses(data::Dict{String, Any})\n\n\nchecks that each connected components has a reference bus, if not, adds one\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_status-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_status","text":"check_status(data::Dict{String})\n\n\nchecks that active components are not connected to inactive buses, otherwise prints warnings\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_storage_parameters-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.check_storage_parameters","text":"check_storage_parameters(data::Dict{String, Any})\n\n\nchecks that each storage unit has a reasonable parameters\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_switch_parameters-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_switch_parameters","text":"check_switch_parameters(data::Dict{String})\n\n\nchecks that each switch has a reasonable parameters\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_type-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems.check_type","text":"check_type(typ, value) -> Any\n\n\nChecks if the given value is of a given type, if not tries to make it that type\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_voltage_setpoints-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_voltage_setpoints","text":"check_voltage_setpoints(data::Dict{String})\n\n\nthrows warnings if generator and dc line voltage setpoints are not consistent with the bus voltage setpoint\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.compare_dict-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems.compare_dict","text":"compare_dict(d1, d2) -> Bool\n\n\ntests if two dicts are equal, up to floating point precision\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_branch_directions!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_branch_directions!","text":"correct_branch_directions!(data::Dict{String}) -> Set{Int64}\n\n\nchecks that all parallel branches have the same orientation\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_bus_types!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_bus_types!","text":"correct_bus_types!(data::Dict{String}) -> Set{Int64}\n\n\nchecks bus types are consistent with generator connections, if not, fixes them\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_component_refrence_bus!-Tuple{Any, Any, Any}","page":"Internal API Reference","title":"PowerSystems.correct_component_refrence_bus!","text":"correct_component_refrence_bus!(\n component_bus_ids,\n bus_lookup,\n component_gens\n)\n\n\nchecks that a connected component has a reference bus, if not, tries to add one\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_cost_functions!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_cost_functions!","text":"correct_cost_functions!(\n data::Dict{String}\n) -> Tuple{Set{Int64}, Set{Int64}}\n\n\nthrows warnings if cost functions are malformed\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_current_limits!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_current_limits!","text":"correct_current_limits!(data::Dict{String}) -> Set{Int64}\n\n\nchecks that each branch has a reasonable current rating-a, if not computes one\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_dcline_limits!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.correct_dcline_limits!","text":"correct_dcline_limits!(\n data::Dict{String, Any}\n) -> Set{Int64}\n\n\nchecks that parameters for dc lines are reasonable\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_network_data!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_network_data!","text":"correct_network_data!(\n data::Dict{String};\n correct_branch_rating\n) -> Dict{String, Dict{Symbol, Set{Int64}}}\n\n\nRuns various data quality checks on a PowerModels data dictionary. Applies modifications in some cases. Reports modified component ids.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_thermal_limits!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_thermal_limits!","text":"correct_thermal_limits!(data::Dict{String}) -> Set{Int64}\n\n\nchecks that each branch has a reasonable thermal rating-a, if not computes one\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_transformer_parameters!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_transformer_parameters!","text":"correct_transformer_parameters!(\n data::Dict{String}\n) -> Set{Int64}\n\n\nchecks that each branch has a reasonable transformer parameters\n\nthis is important because setting tap == 0.0 leads to NaN computations, which are hard to debug\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_voltage_angle_differences!","page":"Internal API Reference","title":"PowerSystems.correct_voltage_angle_differences!","text":"correct_voltage_angle_differences!(\n data::Dict{String}\n) -> Set{Int64}\ncorrect_voltage_angle_differences!(\n data::Dict{String},\n default_pad\n) -> Set{Int64}\n\n\nchecks that voltage angle differences are within 90 deg., if not tightens\n\n\n\n\n\n","category":"function"},{"location":"api/internal/#PowerSystems.dc_branch_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.dc_branch_csv_parser!","text":"dc_branch_csv_parser!(\n sys::System,\n data::PowerSystemTableData\n)\n\n\nAdd DC branches to the System from raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.deactivate_isolated_components!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.deactivate_isolated_components!","text":"deactivate_isolated_components!(data::Dict{String}) -> Bool\n\n\nremoves buses with single branch connections and without any other attached components. Also removes connected components without suffuceint generation or loads.\n\nalso deactivates 0 valued loads and shunts.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.deserialize_uuid_handling-Tuple{Any, Any, Any}","page":"Internal API Reference","title":"PowerSystems.deserialize_uuid_handling","text":"deserialize_uuid_handling(\n field_type,\n val,\n component_cache\n) -> Any\n\n\nDeserialize the value, converting UUIDs to components where necessary.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_avr_saturation-Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}","page":"Internal API Reference","title":"PowerSystems.get_avr_saturation","text":"get_avr_saturation(\n E::Tuple{Float64, Float64},\n Se::Tuple{Float64, Float64}\n) -> Tuple{Float64, Float64}\n\n\nObtain coefficients for an AVR \n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_branch-Tuple{DynamicBranch}","page":"Internal API Reference","title":"PowerSystems.get_branch","text":"get_branch(value::DynamicBranch) -> ACBranch\n\n\nGet branch\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_dataframe-Tuple{PowerSystemTableData, PowerSystems.InputCategoryModule.InputCategory}","page":"Internal API Reference","title":"PowerSystems.get_dataframe","text":"get_dataframe(\n data::PowerSystemTableData,\n category::PowerSystems.InputCategoryModule.InputCategory\n) -> DataFrames.DataFrame\n\n\nReturn the dataframe for the category.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_enum_value-Tuple{Any, AbstractString}","page":"Internal API Reference","title":"PowerSystems.get_enum_value","text":"get_enum_value(enum, value::AbstractString) -> Any\n\n\nGet the enum value for the string. Case insensitive.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_exponential_saturation-Tuple{Tuple{Float64, Float64}}","page":"Internal API Reference","title":"PowerSystems.get_exponential_saturation","text":"get_exponential_saturation(\n Se::Tuple{Float64, Float64}\n) -> Tuple{Float64, Float64}\n\n\nObtain 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)\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_generator_mapping","page":"Internal API Reference","title":"PowerSystems.get_generator_mapping","text":"get_generator_mapping() -> Dict{NamedTuple, DataType}\nget_generator_mapping(\n filename\n) -> Dict{NamedTuple, DataType}\n\n\nReturn a dict where keys are a tuple of input parameters (fuel, unit_type) and values are generator types.\n\n\n\n\n\n","category":"function"},{"location":"api/internal/#PowerSystems.get_generator_type-Tuple{Any, Any, Dict{NamedTuple, DataType}}","page":"Internal API Reference","title":"PowerSystems.get_generator_type","text":"get_generator_type(\n fuel,\n unit_type,\n mappings::Dict{NamedTuple, DataType}\n) -> Union{Nothing, DataType}\n\n\nReturn the PowerSystems generator type for this fuel and unit_type.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_quadratic_saturation-Tuple{Tuple{Float64, Float64}}","page":"Internal API Reference","title":"PowerSystems.get_quadratic_saturation","text":"get_quadratic_saturation(\n Se::Tuple{Float64, Float64}\n) -> Tuple{Float64, Float64}\n\n\nObtain 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_series_susceptance-Tuple{ACBranch}","page":"Internal API Reference","title":"PowerSystems.get_series_susceptance","text":"get_series_susceptance(b::ACBranch) -> Float64\n\n\nCalculate the admittance of AC branches\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_series_susceptance-Tuple{Union{PhaseShiftingTransformer, TapTransformer}}","page":"Internal API Reference","title":"PowerSystems.get_series_susceptance","text":"get_series_susceptance(\n b::Union{PhaseShiftingTransformer, TapTransformer}\n) -> Float64\n\n\nReturns 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_user_field-Tuple{PowerSystemTableData, PowerSystems.InputCategoryModule.InputCategory, AbstractString}","page":"Internal API Reference","title":"PowerSystems.get_user_field","text":"get_user_field(\n data::PowerSystemTableData,\n category::PowerSystems.InputCategoryModule.InputCategory,\n field::AbstractString\n) -> Any\n\n\nReturn the custom name stored in the user descriptor file.\n\nThrows DataFormatError if a required value is not found in the file.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_user_fields-Tuple{PowerSystemTableData, PowerSystems.InputCategoryModule.InputCategory}","page":"Internal API Reference","title":"PowerSystems.get_user_fields","text":"get_user_fields(\n data::PowerSystemTableData,\n category::PowerSystems.InputCategoryModule.InputCategory\n) -> Any\n\n\nReturn a vector of user-defined fields for the category.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.handle_component_addition!-Tuple{System, Component}","page":"Internal API Reference","title":"PowerSystems.handle_component_addition!","text":"handle_component_addition!(\n sys::System,\n component::Component;\n kwargs...\n)\n\n\nRefer to docstring for checkcomponentaddition!\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.handle_component_removal!-Tuple{System, ACBus}","page":"Internal API Reference","title":"PowerSystems.handle_component_removal!","text":"handle_component_removal!(sys::System, bus::ACBus)\n\n\nThrows ArgumentError if the bus number is not stored in the system.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.has_component-Union{Tuple{T}, Tuple{Type{T}, System, AbstractString}} where T<:Component","page":"Internal API Reference","title":"PowerSystems.has_component","text":"has_component(\n _::Type{T<:Component},\n sys::System,\n name::AbstractString\n) -> Bool\n\n\nCheck to see if the component of type T with name exists.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.im_replicate-Tuple{Dict{String}, Int64, Set{String}}","page":"Internal API Reference","title":"PowerSystems.im_replicate","text":"im_replicate(\n sn_data::Dict{String},\n count::Int64,\n global_keys::Set{String}\n) -> Dict{String, Any}\n\n\nTransforms a single network into a multinetwork with several deepcopies of the original network\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.is_attached-Union{Tuple{T}, Tuple{T, System}} where T<:Component","page":"Internal API Reference","title":"PowerSystems.is_attached","text":"is_attached(component::Component, sys::System) -> Bool\n\n\nReturn true if the component is attached to the system.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.isafield-Tuple{Component, Symbol}","page":"Internal API Reference","title":"PowerSystems.isafield","text":"isafield(component::Component, field::Symbol) -> Any\n\n\nChecks if a PowerSystemDevice has a field or subfield name.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.ismultinetwork-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.ismultinetwork","text":"ismultinetwork(data::Dict{String}) -> Any\n\n\nchecks if a given network data is a multinetwork\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.iterate_rows-Tuple{PowerSystemTableData, Any}","page":"Internal API Reference","title":"PowerSystems.iterate_rows","text":"iterate_rows(\n data::PowerSystemTableData,\n category;\n na_to_nothing\n) -> Channel{Any}\n\n\nReturn a NamedTuple of parameters from the descriptor file for each row of a dataframe, making type conversions as necessary.\n\nRefer to the PowerSystems descriptor file for field names that will be created.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.load_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.load_csv_parser!","text":"load_csv_parser!(sys::System, data::PowerSystemTableData)\n\n\nload_csv_parser!(sys::System, data::PowerSystemTableData)\n\nAdd loads to the System from the raw load data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.loadzone_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.loadzone_csv_parser!","text":"loadzone_csv_parser!(\n sys::System,\n data::PowerSystemTableData\n)\n\n\nloadzone_csv_parser!(sys::System, data::PowerSystemTableData)\n\nAdd branches to the System from the raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.make_bus-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.make_bus","text":"make_bus(bus_dict::Dict{String, Any}) -> ACBus\n\n\nCreates a PowerSystems.ACBus from a PowerSystems bus dictionary\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.make_generator-Tuple{PowerSystemTableData, Vararg{Any, 4}}","page":"Internal API Reference","title":"PowerSystems.make_generator","text":"make_generator(\n data::PowerSystemTableData,\n gen,\n cost_colnames,\n bus,\n gen_storage\n) -> Any\n\n\nCreates a generator of any type.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.make_mixed_units!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.make_mixed_units!","text":"make_mixed_units!(data::Dict{String})\n\n\nTransforms network data into mixed-units (inverse of per-unit)\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.make_per_unit!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.make_per_unit!","text":"make_per_unit!(data::Dict{String})\n\n\nTransforms network data into per-unit\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.make_thermal_gen-Tuple{AbstractString, Dict, ACBus, Number}","page":"Internal API Reference","title":"PowerSystems.make_thermal_gen","text":"make_thermal_gen(\n gen_name::AbstractString,\n d::Dict,\n bus::ACBus,\n sys_mbase::Number\n) -> ThermalStandard\n\n\nThe 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\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.move_genfuel_and_gentype!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.move_genfuel_and_gentype!","text":"move_genfuel_and_gentype!(data::Dict{String, Any})\n\n\nMove gentype and genfuel fields to be subfields of gen\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.parse_matpower-Tuple{IO}","page":"Internal API Reference","title":"PowerSystems.parse_matpower","text":"parse_matpower(io::IO; validate) -> Dict{String, Any}\n\n\nParses the matpwer data from either a filename or an IO object\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.parse_psse-Tuple{IO}","page":"Internal API Reference","title":"PowerSystems.parse_psse","text":"parse_psse(io::IO; kwargs...) -> Dict{String, Any}\n\n\nfunction parse_psse(io::IO; kwargs...)::Dict\n\nParses directly from iostream\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.parse_psse-Tuple{String}","page":"Internal API Reference","title":"PowerSystems.parse_psse","text":"parse_psse(filename::String; kwargs...) -> Dict{String, Any}\n\n\nparse_psse(filename::String; kwargs...)::Dict\n\nParses directly from file\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.parse_pti-Tuple{IO}","page":"Internal API Reference","title":"PowerSystems.parse_pti","text":"parse_pti(io::IO) -> Dict{String, Array{Dict}}\n\n\nparse_pti(io::IO)\n\nReads PTI data in io::IO, returning a Dict of the data parsed into the proper types.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.parse_pti-Tuple{String}","page":"Internal API Reference","title":"PowerSystems.parse_pti","text":"parse_pti(filename::String) -> Dict{String, Array{Dict}}\n\n\nparse_pti(filename::String)\n\nOpen PTI raw file given by filename, returning a Dict of the data parsed into the proper types.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.propagate_topology_status!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.propagate_topology_status!","text":"propagate_topology_status!(\n data::Dict{String}\n) -> Union{Nothing, Bool}\n\n\nfinds active network buses and branches that are not necessary for the computation and sets their status to off.\n\nWorks on a PowerModels data dict, so that a it can be used without a GenericPowerModel object\n\nWarning: this implementation has quadratic complexity, in the worst case\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.read_gen!-Tuple{System, Dict, Dict{Int64, ACBus}}","page":"Internal API Reference","title":"PowerSystems.read_gen!","text":"read_gen!(\n sys::System,\n data::Dict,\n bus_number_to_bus::Dict{Int64, ACBus};\n kwargs...\n)\n\n\nTransfer generators to ps_dict according to their classification\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.replicate-Tuple{Dict{String}, Int64}","page":"Internal API Reference","title":"PowerSystems.replicate","text":"replicate(\n sn_data::Dict{String},\n count::Int64;\n global_keys\n) -> Dict{String, Any}\n\n\nTurns 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.resolve_swithces!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.resolve_swithces!","text":"resolve_swithces!(data::Dict{String})\n\n\ngiven a network data dict merges buses that are connected by closed switches converting the dataset into a pure bus-branch model.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.row_to_dict-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems.row_to_dict","text":"row_to_dict(row_data, columns) -> Dict{String, Any}\n\n\ntakes a row from a matrix and assigns the values names\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.row_to_typed_dict-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems.row_to_typed_dict","text":"row_to_typed_dict(row_data, columns) -> Dict{String, Any}\n\n\ntakes a row from a matrix and assigns the values names and types\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.select_largest_component-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.select_largest_component","text":"select_largest_component(data::Dict{String, Any}) -> Any\n\n\ndetermines the largest connected component of the network and turns everything else off\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.serialize_uuid_handling-Tuple{Any}","page":"Internal API Reference","title":"PowerSystems.serialize_uuid_handling","text":"serialize_uuid_handling(val) -> Any\n\n\nSerialize the value, encoding as UUIDs where necessary.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.services_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.services_csv_parser!","text":"services_csv_parser!(\n sys::System,\n data::PowerSystemTableData\n)\n\n\nAdd services to the System from the raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_branch!-Tuple{DynamicBranch, ACBranch}","page":"Internal API Reference","title":"PowerSystems.set_branch!","text":"set_branch!(value::DynamicBranch, val::ACBranch) -> ACBranch\n\n\nSet branch\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_electric_load!-Tuple{HybridSystem, ElectricLoad}","page":"Internal API Reference","title":"PowerSystems.set_electric_load!","text":"set_electric_load!(hybrid::HybridSystem, val::ElectricLoad)\n\n\nSet HybridSystem load\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_interconnection_impedance!-Tuple{HybridSystem, Any}","page":"Internal API Reference","title":"PowerSystems.set_interconnection_impedance!","text":"set_interconnection_impedance!(\n value::HybridSystem,\n val\n) -> Any\n\n\nset HybridSystem interconnection impedance\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_interconnection_rating!-Tuple{HybridSystem, Any}","page":"Internal API Reference","title":"PowerSystems.set_interconnection_rating!","text":"set_interconnection_rating!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem rating.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_renewable_unit!-Tuple{HybridSystem, RenewableGen}","page":"Internal API Reference","title":"PowerSystems.set_renewable_unit!","text":"set_renewable_unit!(hybrid::HybridSystem, val::RenewableGen)\n\n\nSet HybridSystem renewable unit\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_storage!-Tuple{HybridSystem, Storage}","page":"Internal API Reference","title":"PowerSystems.set_storage!","text":"set_storage!(hybrid::HybridSystem, val::Storage)\n\n\nSet HybridSystem storage unit\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_thermal_unit!-Tuple{HybridSystem, ThermalGen}","page":"Internal API Reference","title":"PowerSystems.set_thermal_unit!","text":"set_thermal_unit!(hybrid::HybridSystem, val::ThermalGen)\n\n\nSet HybridSystem thermal unit\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.simplify_cost_terms!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.simplify_cost_terms!","text":"simplify_cost_terms!(\n data::Dict{String}\n) -> Tuple{Set{Int64}, Set{Int64}}\n\n\ntrims zeros from higher order cost terms\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.simplify_network!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.simplify_network!","text":"simplify_network!(data::Dict{String}) -> Bool\n\n\nattempts to deactive components that are not needed in the network by repeated calls to propagate_topology_status! and deactivate_isolated_components!\n\nwarning: this implementation has quadratic complexity, in the worst case\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.split_line-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems.split_line","text":"split_line(mp_line::AbstractString) -> Vector{Any}\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.standardize_cost_terms!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.standardize_cost_terms!","text":"standardize_cost_terms!(data::Dict{String}; order)\n\n\nensures all polynomial costs functions have the same number of terms\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.throw_if_not_attached-Tuple{Component, System}","page":"Internal API Reference","title":"PowerSystems.throw_if_not_attached","text":"throw_if_not_attached(component::Component, sys::System)\n\n\nThrows ArgumentError if the component is not attached to the system.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.total_capacity_rating-Tuple{System}","page":"Internal API Reference","title":"PowerSystems.total_capacity_rating","text":"total_capacity_rating(sys::System) -> Any\n\n\ntotal_capacity_rating(sys::System)\n\nSum of system generator and storage ratings.\n\nArguments\n\nsys::System: system\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.total_load_rating-Tuple{System}","page":"Internal API Reference","title":"PowerSystems.total_load_rating","text":"total_load_rating(sys::System) -> Any\n\n\ntotal_load_rating(sys::System)\n\nChecks the system for sum(generator ratings) >= sum(load ratings).\n\nArguments\n\nsys::System: system\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.update_bus_ids!-Tuple{Dict{String}, Dict{Int64, Int64}}","page":"Internal API Reference","title":"PowerSystems.update_bus_ids!","text":"update_bus_ids!(\n data::Dict{String},\n bus_id_map::Dict{Int64, Int64};\n injective\n)\n\n\ngiven 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.update_data!-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems.update_data!","text":"update_data!(data::Dict{String}, new_data::Dict{String})\n\n\nrecursively applies new_data to data, overwriting information\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.verify_device_eligibility-Tuple{System, StaticInjection, Service}","page":"Internal API Reference","title":"PowerSystems.verify_device_eligibility","text":"verify_device_eligibility(\n sys::System,\n component::StaticInjection,\n service::Service\n)\n\n\nValidates if a device is eligible to contribute to a service.\n\nArguments\n\nsys::System: PowerSystem System\ncomponent::StaticInjection: Static injection device\nservice::Service,: Service for which the device is eligible to contribute\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#FrequencyEstimator","page":"FrequencyEstimator","title":"FrequencyEstimator","text":"","category":"section"},{"location":"model_library/generated_FrequencyEstimator/#FixedFrequency","page":"FrequencyEstimator","title":"FixedFrequency","text":"","category":"section"},{"location":"model_library/generated_FrequencyEstimator/","page":"FrequencyEstimator","title":"FrequencyEstimator","text":"Modules = [PowerSystems]\nPages = [\"/FixedFrequency.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.FixedFrequency","page":"FrequencyEstimator","title":"PowerSystems.FixedFrequency","text":"mutable struct FixedFrequency <: FrequencyEstimator\n frequency::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Fixed Frequency Estimator (i.e. no PLL).\n\nArguments\n\nfrequency::Float64: Reference used\next::Dict{String, Any}\nstates::Vector{Symbol}: FixedFrequency has no states\nn_states::Int: FixedFrequency has no states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ext-Tuple{FixedFrequency}","page":"FrequencyEstimator","title":"PowerSystems.get_ext","text":"get_ext(value::FixedFrequency) -> Dict{String, Any}\n\n\nGet FixedFrequency ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_frequency-Tuple{FixedFrequency}","page":"FrequencyEstimator","title":"PowerSystems.get_frequency","text":"get_frequency(value::FixedFrequency) -> Float64\n\n\nGet FixedFrequency frequency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_n_states-Tuple{FixedFrequency}","page":"FrequencyEstimator","title":"PowerSystems.get_n_states","text":"get_n_states(value::FixedFrequency) -> Int64\n\n\nGet FixedFrequency n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_states-Tuple{FixedFrequency}","page":"FrequencyEstimator","title":"PowerSystems.get_states","text":"get_states(value::FixedFrequency) -> Vector{Symbol}\n\n\nGet FixedFrequency states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ext!-Tuple{FixedFrequency, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ext!","text":"set_ext!(value::FixedFrequency, val) -> Any\n\n\nSet FixedFrequency ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_frequency!-Tuple{FixedFrequency, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_frequency!","text":"set_frequency!(value::FixedFrequency, val) -> Any\n\n\nSet FixedFrequency frequency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#KauraPLL","page":"FrequencyEstimator","title":"KauraPLL","text":"","category":"section"},{"location":"model_library/generated_FrequencyEstimator/","page":"FrequencyEstimator","title":"FrequencyEstimator","text":"Modules = [PowerSystems]\nPages = [\"/KauraPLL.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.KauraPLL","page":"FrequencyEstimator","title":"PowerSystems.KauraPLL","text":"mutable struct KauraPLL <: FrequencyEstimator\n ω_lp::Float64\n kp_pll::Float64\n ki_pll::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Phase-Locked Loop (PLL) based on Kaura, Vikram, and Vladimir Blasko. \"Operation of a phase locked loop system under distorted utility conditions.\" IEEE Transactions on Industry applications 33.1 (1997): 58-63.\n\nArguments\n\nω_lp::Float64: PLL low-pass filter frequency (rad/sec), validation range: (0, nothing)\nkp_pll::Float64: PLL proportional gain, validation range: (0, nothing)\nki_pll::Float64: PLL integral gain, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the KauraPLL model are:\n\nvd_pll: d-axis of the measured voltage in the PLL synchronous reference frame (SRF),\nvq_pll: q-axis of the measured voltage in the PLL SRF,\nε_pll: Integrator state of the PI controller,\nθ_pll: Phase angle displacement in the PLL SRF\n\nn_states::Int: KauraPLL has 4 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ext-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ext","text":"get_ext(value::KauraPLL) -> Dict{String, Any}\n\n\nGet KauraPLL ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ki_pll-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ki_pll","text":"get_ki_pll(value::KauraPLL) -> Float64\n\n\nGet KauraPLL ki_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_kp_pll-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_kp_pll","text":"get_kp_pll(value::KauraPLL) -> Float64\n\n\nGet KauraPLL kp_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_n_states-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_n_states","text":"get_n_states(value::KauraPLL) -> Int64\n\n\nGet KauraPLL n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_states-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_states","text":"get_states(value::KauraPLL) -> Vector{Symbol}\n\n\nGet KauraPLL states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ω_lp-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ω_lp","text":"get_ω_lp(value::KauraPLL) -> Float64\n\n\nGet KauraPLL ω_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ext!-Tuple{KauraPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ext!","text":"set_ext!(value::KauraPLL, val) -> Any\n\n\nSet KauraPLL ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ki_pll!-Tuple{KauraPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ki_pll!","text":"set_ki_pll!(value::KauraPLL, val) -> Any\n\n\nSet KauraPLL ki_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_kp_pll!-Tuple{KauraPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_kp_pll!","text":"set_kp_pll!(value::KauraPLL, val) -> Any\n\n\nSet KauraPLL kp_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ω_lp!-Tuple{KauraPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ω_lp!","text":"set_ω_lp!(value::KauraPLL, val) -> Any\n\n\nSet KauraPLL ω_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#ReducedOrderPLL","page":"FrequencyEstimator","title":"ReducedOrderPLL","text":"","category":"section"},{"location":"model_library/generated_FrequencyEstimator/","page":"FrequencyEstimator","title":"FrequencyEstimator","text":"Modules = [PowerSystems]\nPages = [\"/ReducedOrderPLL.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.ReducedOrderPLL","page":"FrequencyEstimator","title":"PowerSystems.ReducedOrderPLL","text":"mutable struct ReducedOrderPLL <: FrequencyEstimator\n ω_lp::Float64\n kp_pll::Float64\n ki_pll::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Phase-Locked Loop (PLL) based on Purba, Dhople, Jafarpour, Bullo and Johnson. \"Reduced-order Structure-preserving Model for Parallel-connected Three-phase Grid-tied Inverters.\" 2017 IEEE 18th Workshop on Control and Modeling for Power Electronics (COMPEL): 1-7.\n\nArguments\n\nω_lp::Float64: PLL low-pass filter frequency (rad/sec), validation range: (0, nothing)\nkp_pll::Float64: PLL proportional gain, validation range: (0, nothing)\nki_pll::Float64: PLL integral gain, validation range: (0, nothing)\next::Dict{String, Any}\nstates::Vector{Symbol}: The states of the ReducedOrderPLL model are:\n\nvq_pll: q-axis of the measured voltage in the PLL synchronous reference frame (SRF),\nε_pll: Integrator state of the PI controller,\nθ_pll: Phase angle displacement in the PLL SRF\n\nn_states::Int: ReducedOrderPLL has 3 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ext-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ext","text":"get_ext(value::ReducedOrderPLL) -> Dict{String, Any}\n\n\nGet ReducedOrderPLL ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ki_pll-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ki_pll","text":"get_ki_pll(value::ReducedOrderPLL) -> Float64\n\n\nGet ReducedOrderPLL ki_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_kp_pll-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_kp_pll","text":"get_kp_pll(value::ReducedOrderPLL) -> Float64\n\n\nGet ReducedOrderPLL kp_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_n_states-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_n_states","text":"get_n_states(value::ReducedOrderPLL) -> Int64\n\n\nGet ReducedOrderPLL n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_states-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_states","text":"get_states(value::ReducedOrderPLL) -> Vector{Symbol}\n\n\nGet ReducedOrderPLL states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ω_lp-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ω_lp","text":"get_ω_lp(value::ReducedOrderPLL) -> Float64\n\n\nGet ReducedOrderPLL ω_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ext!-Tuple{ReducedOrderPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ext!","text":"set_ext!(value::ReducedOrderPLL, val) -> Any\n\n\nSet ReducedOrderPLL ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ki_pll!-Tuple{ReducedOrderPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ki_pll!","text":"set_ki_pll!(value::ReducedOrderPLL, val) -> Any\n\n\nSet ReducedOrderPLL ki_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_kp_pll!-Tuple{ReducedOrderPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_kp_pll!","text":"set_kp_pll!(value::ReducedOrderPLL, val) -> Any\n\n\nSet ReducedOrderPLL kp_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ω_lp!-Tuple{ReducedOrderPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ω_lp!","text":"set_ω_lp!(value::ReducedOrderPLL, val) -> Any\n\n\nSet ReducedOrderPLL ω_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#ExponentialLoad","page":"ExponentialLoad","title":"ExponentialLoad","text":"","category":"section"},{"location":"model_library/generated_ExponentialLoad/","page":"ExponentialLoad","title":"ExponentialLoad","text":"Modules = [PowerSystems]\nPages = [\"generated/ExponentialLoad.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_ExponentialLoad/#InfrastructureSystems.get_name-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"InfrastructureSystems.get_name","text":"get_name(value::PowerSystems.ExponentialLoad) -> String\n\n\nGet ExponentialLoad name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#InfrastructureSystems.get_time_series_container-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"InfrastructureSystems.get_time_series_container","text":"get_time_series_container(\n value::PowerSystems.ExponentialLoad\n) -> InfrastructureSystems.TimeSeriesContainer\n\n\nGet ExponentialLoad time_series_container.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_active_power-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_active_power","text":"get_active_power(value::PowerSystems.ExponentialLoad) -> Any\n\n\nGet ExponentialLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_active_power_coefficient-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_active_power_coefficient","text":"get_active_power_coefficient(\n value::PowerSystems.ExponentialLoad\n) -> Float64\n\n\nGet ExponentialLoad active_power_coefficient.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_available-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_available","text":"get_available(value::PowerSystems.ExponentialLoad) -> Bool\n\n\nGet ExponentialLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_base_power-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_base_power","text":"get_base_power(\n value::PowerSystems.ExponentialLoad\n) -> Float64\n\n\nGet ExponentialLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_bus-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_bus","text":"get_bus(value::PowerSystems.ExponentialLoad) -> ACBus\n\n\nGet ExponentialLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_dynamic_injector-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::PowerSystems.ExponentialLoad\n) -> Union{Nothing, DynamicInjection}\n\n\nGet ExponentialLoad dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_ext-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_ext","text":"get_ext(\n value::PowerSystems.ExponentialLoad\n) -> Dict{String, Any}\n\n\nGet ExponentialLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_max_active_power-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_max_active_power","text":"get_max_active_power(\n value::PowerSystems.ExponentialLoad\n) -> Any\n\n\nGet ExponentialLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_max_reactive_power-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(\n value::PowerSystems.ExponentialLoad\n) -> Any\n\n\nGet ExponentialLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_reactive_power-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(\n value::PowerSystems.ExponentialLoad\n) -> Any\n\n\nGet ExponentialLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_reactive_power_coefficient-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_reactive_power_coefficient","text":"get_reactive_power_coefficient(\n value::PowerSystems.ExponentialLoad\n) -> Float64\n\n\nGet ExponentialLoad reactive_power_coefficient.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_services-Tuple{PowerSystems.ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_services","text":"get_services(\n value::PowerSystems.ExponentialLoad\n) -> Vector{Service}\n\n\nGet ExponentialLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_active_power!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_active_power!","text":"set_active_power!(\n value::PowerSystems.ExponentialLoad,\n val\n) -> Any\n\n\nSet ExponentialLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_active_power_coefficient!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_active_power_coefficient!","text":"set_active_power_coefficient!(\n value::PowerSystems.ExponentialLoad,\n val\n) -> Any\n\n\nSet ExponentialLoad active_power_coefficient.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_available!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_available!","text":"set_available!(\n value::PowerSystems.ExponentialLoad,\n val\n) -> Any\n\n\nSet ExponentialLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_base_power!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_base_power!","text":"set_base_power!(\n value::PowerSystems.ExponentialLoad,\n val\n) -> Any\n\n\nSet ExponentialLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_bus!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_bus!","text":"set_bus!(value::PowerSystems.ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_ext!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_ext!","text":"set_ext!(value::PowerSystems.ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_max_active_power!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_max_active_power!","text":"set_max_active_power!(\n value::PowerSystems.ExponentialLoad,\n val\n) -> Any\n\n\nSet ExponentialLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_max_reactive_power!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_max_reactive_power!","text":"set_max_reactive_power!(\n value::PowerSystems.ExponentialLoad,\n val\n) -> Any\n\n\nSet ExponentialLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_reactive_power!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(\n value::PowerSystems.ExponentialLoad,\n val\n) -> Any\n\n\nSet ExponentialLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_reactive_power_coefficient!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_reactive_power_coefficient!","text":"set_reactive_power_coefficient!(\n value::PowerSystems.ExponentialLoad,\n val\n) -> Any\n\n\nSet ExponentialLoad reactive_power_coefficient.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_services!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_services!","text":"set_services!(\n value::PowerSystems.ExponentialLoad,\n val\n) -> Any\n\n\nSet ExponentialLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_time_series_container!-Tuple{PowerSystems.ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_time_series_container!","text":"set_time_series_container!(\n value::PowerSystems.ExponentialLoad,\n val\n) -> Any\n\n\nSet ExponentialLoad time_series_container.\n\n\n\n\n\n","category":"method"}] +[{"location":"modeler_guide/glossary/#Glossary-and-Acronyms","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"A | D | E | F | H | I | O | P | R | S | V | Z","category":"page"},{"location":"modeler_guide/glossary/#A","page":"Glossary and Acronyms","title":"A","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"AC: Alternating current\nACE: Area control error\nAGC: Automatic generation control\nAVR: Automatic Voltage Regulator ","category":"page"},{"location":"modeler_guide/glossary/#D","page":"Glossary and Acronyms","title":"D","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"DC: Direct current\nDERA1:\nDynamic: Refers to data and simulations for power system transient simulations using differential equations. Common examples include signal stability analysis to verify the power system will maintain stability in the few seconds following an unexpected fault or generator trip. For contrast, see the definition for Static data.","category":"page"},{"location":"modeler_guide/glossary/#E","page":"Glossary and Acronyms","title":"E","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"EMF: Electromotive force\nESAC: IEEE Type AC Excitation System model \nESDC: IEEE Type DC Excitation System model \nEXAC: IEEE Type AC Excitation System (modified) model \nEXPIC: Proportional/Integral Excitation System from PSS/E\nEXST: IEEE Type ST (Static) Excitation System model\nEX4VSA: IEEE Excitation System for Voltage Security Assessment with Over-Excitation Limits.","category":"page"},{"location":"modeler_guide/glossary/#F","page":"Glossary and Acronyms","title":"F","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"Forecast: Predicted values of a time-varying quantity that commonly features a look-ahead and can have multiple data values representing each time period. This data is used in simulation with receding horizons or data generated from forecasting algorithms. See the article on Time Series Data. \nForecast window: Represents the forecasted value starting at a particular initial time. See the article on Time Series Data.","category":"page"},{"location":"modeler_guide/glossary/#H","page":"Glossary and Acronyms","title":"H","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"Horizon: Is the count of discrete values in a forecast, all horizons in PowerSystems.jl are represented with Int. For instance, many Day-ahead markets will have a forecast with a horizon 24. See the article on Time Series Data.\nHVDC: High-voltage DC","category":"page"},{"location":"modeler_guide/glossary/#I","page":"Glossary and Acronyms","title":"I","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"IEEET: IEEE Type I Excitation System.\nInjector or Injection: Injectors refer to models that represent how a generator or storage device injects power or current into the power system. Loads are negative injectors. In PowerSystems.jl, some components can accept data for both StaticInjection and DynamicInjection models for both static and dynamic modeling.\nInterval: The period of time between forecast initial times. In PowerSystems.jl all intervals are represented using Dates.Period types. For instance, in a Day-Ahead market simulation, the interval is usually Hour(24).\nInitial time: The first time-stamp in a forecast. See the article on Time Series Data.\nIPC: Interconnecting power converter","category":"page"},{"location":"modeler_guide/glossary/#O","page":"Glossary and Acronyms","title":"O","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"OEL:","category":"page"},{"location":"modeler_guide/glossary/#P","page":"Glossary and Acronyms","title":"P","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"PLL: Phase-locked loop\nPSS: Power System Stabilizer\nPSSE or PSS/E: Siemen's PSS®E Power Simulator\nPPA: Power purchase agreement\nPSID: \nPSLF:\npu or p.u.: Per-unit","category":"page"},{"location":"modeler_guide/glossary/#R","page":"Glossary and Acronyms","title":"R","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"REECB1:\nREPCA1:\nResolution: The period of time between each discrete value in a time series. All resolutions are represented using Dates.Period types. For instance, a Day-ahead market data set usually has a resolution of Hour(1), a Real-Time market data set usually has a resolution of Minute(5). ","category":"page"},{"location":"modeler_guide/glossary/#S","page":"Glossary and Acronyms","title":"S","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"SCRX: Bus Fed or Solid Fed Static Exciter\nSEXS: Simplified Excitation System model from PSS/E\nSIL: Surge impedance loading\nStates: Correspond to the set of inputs, outputs or variables, that evolve dynamically in PowerSimulationsDynamics.jl, commonly via a differential-algebraic system of equations. In PowerSystems.jl, a component associated to a DynamicInjector (for example an AVR) specifies the set of states that specific component requires to be modeled accurately.\nStatic: Typically refers to steady state data or models where the power system and each of its components are assumed to be operating at a steady state equilibrium point. This includes both power flow data for a single time point simulation as well as quasi-static time series data and models, where the power system is at an equilibrium point at each time step. Static data can be used as the input to single time point power flow models and production cost models with, for example, 5-minute, 15-minute, or 1-hour Resolution. For contrast, see the definition for Dynamic data.\nSTAB: Speed Sensitive Stabilizing PSS Model","category":"page"},{"location":"modeler_guide/glossary/#V","page":"Glossary and Acronyms","title":"V","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"VSCDCLine: Voltage-Source Converter Direct Current Line\nVSM:","category":"page"},{"location":"modeler_guide/glossary/#Z","page":"Glossary and Acronyms","title":"Z","text":"","category":"section"},{"location":"modeler_guide/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"ZIP load: A ZIP load model accounts for the voltage-dependency of a load and is primarily used for dynamics modeling. It includes three kinds of load: constant impedance (Z), constant current (I), and constant power (P), though many dynamics models just use the constant impedance model. StandardLoad and ExponentialLoad are both ZIP load models: StandardLoad breaks up the load into each of its three components, while ExponentialLoad expresses the load as an exponential equation. ","category":"page"},{"location":"model_library/generated_Filter/#Filter","page":"Filter","title":"Filter","text":"","category":"section"},{"location":"model_library/generated_Filter/#LCFilter","page":"Filter","title":"LCFilter","text":"","category":"section"},{"location":"model_library/generated_Filter/","page":"Filter","title":"Filter","text":"Modules = [PowerSystems]\nPages = [\"/LCFilter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Filter/#PowerSystems.LCFilter","page":"Filter","title":"PowerSystems.LCFilter","text":"mutable struct LCFilter <: Filter\n lf::Float64\n rf::Float64\n cf::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a LCL filter outside the converter\n\nArguments\n\nlf::Float64: filter inductance, validation range: (0, nothing)\nrf::Float64: filter resistance, validation range: (0, nothing)\ncf::Float64: filter capacitance, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the LCFilter model are:\n\nir_filter: Real current out of the filter,\nii_filter: Imaginary current out of the filter\n\nn_states::Int: (Do not modify.) LCFilter has two states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Filter/#PowerSystems.get_cf-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_cf","text":"get_cf(value::LCFilter) -> Float64\n\n\nGet LCFilter cf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_ext-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_ext","text":"get_ext(value::LCFilter) -> Dict{String, Any}\n\n\nGet LCFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_lf-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_lf","text":"get_lf(value::LCFilter) -> Float64\n\n\nGet LCFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_n_states-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_n_states","text":"get_n_states(value::LCFilter) -> Int64\n\n\nGet LCFilter n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_rf-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_rf","text":"get_rf(value::LCFilter) -> Float64\n\n\nGet LCFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_states-Tuple{LCFilter}","page":"Filter","title":"PowerSystems.get_states","text":"get_states(value::LCFilter) -> Vector{Symbol}\n\n\nGet LCFilter states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_cf!-Tuple{LCFilter, Any}","page":"Filter","title":"PowerSystems.set_cf!","text":"set_cf!(value::LCFilter, val) -> Any\n\n\nSet LCFilter cf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_ext!-Tuple{LCFilter, Any}","page":"Filter","title":"PowerSystems.set_ext!","text":"set_ext!(value::LCFilter, val) -> Any\n\n\nSet LCFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_lf!-Tuple{LCFilter, Any}","page":"Filter","title":"PowerSystems.set_lf!","text":"set_lf!(value::LCFilter, val) -> Any\n\n\nSet LCFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_rf!-Tuple{LCFilter, Any}","page":"Filter","title":"PowerSystems.set_rf!","text":"set_rf!(value::LCFilter, val) -> Any\n\n\nSet LCFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#LCLFilter","page":"Filter","title":"LCLFilter","text":"","category":"section"},{"location":"model_library/generated_Filter/","page":"Filter","title":"Filter","text":"Modules = [PowerSystems]\nPages = [\"/LCLFilter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Filter/#PowerSystems.LCLFilter","page":"Filter","title":"PowerSystems.LCLFilter","text":"mutable struct LCLFilter <: Filter\n lf::Float64\n rf::Float64\n cf::Float64\n lg::Float64\n rg::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a LCL filter outside the converter, the states are in the grid's reference frame\n\nArguments\n\nlf::Float64: Series inductance in p.u. of converter filter, validation range: (0, nothing)\nrf::Float64: Series resistance in p.u. of converter filter, validation range: (0, nothing)\ncf::Float64: Shunt capacitance in p.u. of converter filter, validation range: (0, nothing)\nlg::Float64: Series inductance in p.u. of converter filter to the grid, validation range: (0, nothing)\nrg::Float64: Series resistance in p.u. of converter filter to the grid, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the LCLFilter model are:\n\nir_cnv: Real current out of the converter,\nii_cnv: Imaginary current out of the converter,\nvr_filter: Real voltage at the filter's capacitor,\nvi_filter: Imaginary voltage at the filter's capacitor,\nir_filter: Real current out of the filter,\nii_filter: Imaginary current out of the filter\n\nn_states::Int: (Do not modify.) LCLFilter has 6 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Filter/#PowerSystems.get_cf-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_cf","text":"get_cf(value::LCLFilter) -> Float64\n\n\nGet LCLFilter cf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_ext-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_ext","text":"get_ext(value::LCLFilter) -> Dict{String, Any}\n\n\nGet LCLFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_lf-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_lf","text":"get_lf(value::LCLFilter) -> Float64\n\n\nGet LCLFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_lg-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_lg","text":"get_lg(value::LCLFilter) -> Float64\n\n\nGet LCLFilter lg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_n_states-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_n_states","text":"get_n_states(value::LCLFilter) -> Int64\n\n\nGet LCLFilter n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_rf-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_rf","text":"get_rf(value::LCLFilter) -> Float64\n\n\nGet LCLFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_rg-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_rg","text":"get_rg(value::LCLFilter) -> Float64\n\n\nGet LCLFilter rg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_states-Tuple{LCLFilter}","page":"Filter","title":"PowerSystems.get_states","text":"get_states(value::LCLFilter) -> Vector{Symbol}\n\n\nGet LCLFilter states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_cf!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_cf!","text":"set_cf!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter cf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_ext!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_ext!","text":"set_ext!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_lf!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_lf!","text":"set_lf!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_lg!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_lg!","text":"set_lg!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter lg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_rf!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_rf!","text":"set_rf!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_rg!-Tuple{LCLFilter, Any}","page":"Filter","title":"PowerSystems.set_rg!","text":"set_rg!(value::LCLFilter, val) -> Any\n\n\nSet LCLFilter rg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#RLFilter","page":"Filter","title":"RLFilter","text":"","category":"section"},{"location":"model_library/generated_Filter/","page":"Filter","title":"Filter","text":"Modules = [PowerSystems]\nPages = [\"/RLFilter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Filter/#PowerSystems.RLFilter","page":"Filter","title":"PowerSystems.RLFilter","text":"mutable struct RLFilter <: Filter\n rf::Float64\n lf::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of RL series filter in algebraic representation\n\nArguments\n\nrf::Float64: Series resistance in p.u. of converter filter to the grid, validation range: (0, nothing)\nlf::Float64: Series inductance in p.u. of converter filter to the grid, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) RLFilter has zero states\nn_states::Int: (Do not modify.) RLFilter has zero states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Filter/#PowerSystems.get_ext-Tuple{RLFilter}","page":"Filter","title":"PowerSystems.get_ext","text":"get_ext(value::RLFilter) -> Dict{String, Any}\n\n\nGet RLFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_lf-Tuple{RLFilter}","page":"Filter","title":"PowerSystems.get_lf","text":"get_lf(value::RLFilter) -> Float64\n\n\nGet RLFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_n_states-Tuple{RLFilter}","page":"Filter","title":"PowerSystems.get_n_states","text":"get_n_states(value::RLFilter) -> Int64\n\n\nGet RLFilter n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_rf-Tuple{RLFilter}","page":"Filter","title":"PowerSystems.get_rf","text":"get_rf(value::RLFilter) -> Float64\n\n\nGet RLFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.get_states-Tuple{RLFilter}","page":"Filter","title":"PowerSystems.get_states","text":"get_states(value::RLFilter) -> Vector{Symbol}\n\n\nGet RLFilter states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_ext!-Tuple{RLFilter, Any}","page":"Filter","title":"PowerSystems.set_ext!","text":"set_ext!(value::RLFilter, val) -> Any\n\n\nSet RLFilter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_lf!-Tuple{RLFilter, Any}","page":"Filter","title":"PowerSystems.set_lf!","text":"set_lf!(value::RLFilter, val) -> Any\n\n\nSet RLFilter lf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Filter/#PowerSystems.set_rf!-Tuple{RLFilter, Any}","page":"Filter","title":"PowerSystems.set_rf!","text":"set_rf!(value::RLFilter, val) -> Any\n\n\nSet RLFilter rf.\n\n\n\n\n\n","category":"method"},{"location":"code_base_developer_guide/troubleshooting/#Troubleshooting-code-development","page":"Troubleshooting","title":"Troubleshooting code development","text":"","category":"section"},{"location":"code_base_developer_guide/troubleshooting/#Issues-with-Serialization/De-Serialization","page":"Troubleshooting","title":"Issues with Serialization/De-Serialization","text":"","category":"section"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"If this doesn't work then you likely need to implement custom InfrastructureSystems.serialize and InfrastructureSystems.deserialize methods for your type. Here are some examples of potential problems and solutions:","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Problem: Your struct contains a field defined as an abstract type. The deserialization process doesn't know what concrete type to construct.","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Solution: Encode the concrete type into the serialized dictionary as a string.","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Example: serialize and deserialize methods for DynamicBranch in src/models/dynamic_branch.jl.","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Problem: Similar to above in that a field is defined as an abstract type but the struct is parameterized on the actual concrete type.","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Solution: Use the fact that the concrete type is encoded into the serialized type of the struct and extract it in a customized deserialze method.","category":"page"},{"location":"code_base_developer_guide/troubleshooting/","page":"Troubleshooting","title":"Troubleshooting","text":"Example: deserialize method for OuterControl in src/models/OuterControl.jl.","category":"page"},{"location":"model_library/generated_Machine/#Machine","page":"Machine","title":"Machine","text":"","category":"section"},{"location":"model_library/generated_Machine/#AndersonFouadMachine","page":"Machine","title":"AndersonFouadMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/AndersonFouadMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.AndersonFouadMachine","page":"Machine","title":"PowerSystems.AndersonFouadMachine","text":"mutable struct AndersonFouadMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xq_pp::Float64\n Td0_p::Float64\n Tq0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 6-states synchronous machine: Anderson-Fouad model\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nψq: q-axis stator flux,\nψd: d-axis stator flux,\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage,\neq_pp: q-axis subtransient voltage,\ned_pp: d-axis subtransient voltage\n\nn_states::Int: (Do not modify.) The states AndersonFouadMachine has 6 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_pp-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_Xq_pp","text":"get_Xq_pp(value::AndersonFouadMachine) -> Float64\n\n\nGet AndersonFouadMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::AndersonFouadMachine) -> Dict{String, Any}\n\n\nGet AndersonFouadMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::AndersonFouadMachine) -> Int64\n\n\nGet AndersonFouadMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{AndersonFouadMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::AndersonFouadMachine) -> Vector{Symbol}\n\n\nGet AndersonFouadMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_pp!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_pp!","text":"set_Xq_pp!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{AndersonFouadMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::AndersonFouadMachine, val) -> Any\n\n\nSet AndersonFouadMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#BaseMachine","page":"Machine","title":"BaseMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/BaseMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.BaseMachine","page":"Machine","title":"PowerSystems.BaseMachine","text":"mutable struct BaseMachine <: Machine\n R::Float64\n Xd_p::Float64\n eq_p::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a Classic Machine: GENCLS in PSSE and PSLF\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd_p::Float64: Reactance after EMF in machine per unit, validation range: (0, nothing)\neq_p::Float64: Fixed EMF behind the impedance, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) BaseMachine has no states\nn_states::Int: (Do not modify.) BaseMachine has no states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::BaseMachine) -> Float64\n\n\nGet BaseMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::BaseMachine) -> Float64\n\n\nGet BaseMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_eq_p-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_eq_p","text":"get_eq_p(value::BaseMachine) -> Float64\n\n\nGet BaseMachine eq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::BaseMachine) -> Dict{String, Any}\n\n\nGet BaseMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::BaseMachine) -> Int64\n\n\nGet BaseMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{BaseMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::BaseMachine) -> Vector{Symbol}\n\n\nGet BaseMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{BaseMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::BaseMachine, val) -> Any\n\n\nSet BaseMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{BaseMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::BaseMachine, val) -> Any\n\n\nSet BaseMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_eq_p!-Tuple{BaseMachine, Any}","page":"Machine","title":"PowerSystems.set_eq_p!","text":"set_eq_p!(value::BaseMachine, val) -> Any\n\n\nSet BaseMachine eq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{BaseMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::BaseMachine, val) -> Any\n\n\nSet BaseMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#FullMachine","page":"Machine","title":"FullMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/FullMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.FullMachine","page":"Machine","title":"PowerSystems.FullMachine","text":"mutable struct FullMachine <: Machine\n R::Float64\n R_f::Float64\n R_1d::Float64\n R_1q::Float64\n L_d::Float64\n L_q::Float64\n L_ad::Float64\n L_aq::Float64\n L_f1d::Float64\n L_ff::Float64\n L_1d::Float64\n L_1q::Float64\n ext::Dict{String, Any}\n inv_d_fluxlink::Array{Float64,2}\n inv_q_fluxlink::Array{Float64,2}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameter of a full order flux stator-rotor model without zero sequence flux in the stator. The derivative of stator fluxes (ψd and ψq) is NOT neglected. Only one q-axis damping circuit is considered. All parameters are in machine per unit. Refer to Chapter 3 of Power System Stability and Control by P. Kundur or Chapter 11 of Power System Dynamics: Stability and Control, by J. Machowski, J. Bialek and J. Bumby, for more details. Note that the models are somewhat different (but equivalent) due to the different Park Transformation used in both books\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nR_f::Float64: Field rotor winding resistance in per unit, validation range: (0, nothing)\nR_1d::Float64: Damping rotor winding resistance on d-axis in per unit. This value is denoted as RD in Machowski, validation range: (0, nothing)\nR_1q::Float64: Damping rotor winding resistance on q-axis in per unit. This value is denoted as RQ in Machowski, validation range: (0, nothing)\nL_d::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the d-axis of the rotor, in per unit. This value is denoted as Lad + Ll in Kundur (and Ld in Machowski), validation range: (0, nothing)\nL_q::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the q-axis of the rotor, in per unit. This value is denoted as Laq + Ll in Kundur, validation range: (0, nothing)\nL_ad::Float64: Mutual inductance between stator winding and rotor field (and damping) winding inductance on d-axis, in per unit, validation range: (0, nothing)\nL_aq::Float64: Mutual inductance between stator winding and rotor damping winding inductance on q-axis, in per unit, validation range: (0, nothing)\nL_f1d::Float64: Mutual inductance between rotor field winding and rotor damping winding inductance on d-axis, in per unit, validation range: (0, nothing)\nL_ff::Float64: Field rotor winding inductance, in per unit, validation range: (0, nothing)\nL_1d::Float64: Inductance of the d-axis rotor damping circuit, in per unit, validation range: (0, nothing)\nL_1q::Float64: Inductance of the q-axis rotor damping circuit, in per unit, validation range: (0, nothing)\next::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. See Adding additional fields\ninv_d_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.127, 3.130, 3.131 From Kundur\ninv_q_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.128, 3.132 From Kundur\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nψd: d-axis stator flux,\nψq: q-axis stator flux,\nψf: field rotor flux,\nψ1d: d-axis rotor damping flux,\nψ1q: q-axis rotor damping flux\n\nn_states::Int: (Do not modify.) FullMachine has 5 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_1d-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_1d","text":"get_L_1d(value::FullMachine) -> Float64\n\n\nGet FullMachine L_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_1q-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_1q","text":"get_L_1q(value::FullMachine) -> Float64\n\n\nGet FullMachine L_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_ad-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_ad","text":"get_L_ad(value::FullMachine) -> Float64\n\n\nGet FullMachine L_ad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_aq-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_aq","text":"get_L_aq(value::FullMachine) -> Float64\n\n\nGet FullMachine L_aq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_d-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_d","text":"get_L_d(value::FullMachine) -> Float64\n\n\nGet FullMachine L_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_f1d-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_f1d","text":"get_L_f1d(value::FullMachine) -> Float64\n\n\nGet FullMachine L_f1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_ff-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_ff","text":"get_L_ff(value::FullMachine) -> Float64\n\n\nGet FullMachine L_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_q-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_L_q","text":"get_L_q(value::FullMachine) -> Float64\n\n\nGet FullMachine L_q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::FullMachine) -> Float64\n\n\nGet FullMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_1d-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_R_1d","text":"get_R_1d(value::FullMachine) -> Float64\n\n\nGet FullMachine R_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_1q-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_R_1q","text":"get_R_1q(value::FullMachine) -> Float64\n\n\nGet FullMachine R_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_f-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_R_f","text":"get_R_f(value::FullMachine) -> Float64\n\n\nGet FullMachine R_f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::FullMachine) -> Dict{String, Any}\n\n\nGet FullMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_inv_d_fluxlink-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_inv_d_fluxlink","text":"get_inv_d_fluxlink(value::FullMachine) -> Matrix{Float64}\n\n\nGet FullMachine inv_d_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_inv_q_fluxlink-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_inv_q_fluxlink","text":"get_inv_q_fluxlink(value::FullMachine) -> Matrix{Float64}\n\n\nGet FullMachine inv_q_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::FullMachine) -> Int64\n\n\nGet FullMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{FullMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::FullMachine) -> Vector{Symbol}\n\n\nGet FullMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_1d!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_1d!","text":"set_L_1d!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_1q!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_1q!","text":"set_L_1q!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_ad!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_ad!","text":"set_L_ad!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_ad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_aq!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_aq!","text":"set_L_aq!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_aq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_d!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_d!","text":"set_L_d!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_f1d!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_f1d!","text":"set_L_f1d!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_f1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_ff!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_ff!","text":"set_L_ff!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_q!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_q!","text":"set_L_q!(value::FullMachine, val) -> Any\n\n\nSet FullMachine L_q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::FullMachine, val) -> Any\n\n\nSet FullMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_1d!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_1d!","text":"set_R_1d!(value::FullMachine, val) -> Any\n\n\nSet FullMachine R_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_1q!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_1q!","text":"set_R_1q!(value::FullMachine, val) -> Any\n\n\nSet FullMachine R_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_f!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_f!","text":"set_R_f!(value::FullMachine, val) -> Any\n\n\nSet FullMachine R_f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::FullMachine, val) -> Any\n\n\nSet FullMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_inv_d_fluxlink!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_inv_d_fluxlink!","text":"set_inv_d_fluxlink!(value::FullMachine, val) -> Any\n\n\nSet FullMachine inv_d_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_inv_q_fluxlink!-Tuple{FullMachine, Any}","page":"Machine","title":"PowerSystems.set_inv_q_fluxlink!","text":"set_inv_q_fluxlink!(value::FullMachine, val) -> Any\n\n\nSet FullMachine inv_q_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#MarconatoMachine","page":"Machine","title":"MarconatoMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/MarconatoMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.MarconatoMachine","page":"Machine","title":"PowerSystems.MarconatoMachine","text":"mutable struct MarconatoMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xq_pp::Float64\n Td0_p::Float64\n Tq0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n T_AA::Float64\n ext::Dict{String, Any}\n γd::Float64\n γq::Float64\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 6-states synchronous machine: Marconato model\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\nT_AA::Float64: Time constant of d-axis additional leakage, validation range: (0, nothing)\next::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. See Adding additional fields\nγd::Float64: (Do not modify.) Internal equation\nγq::Float64: (Do not modify.) Internal equation\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nψq: q-axis stator flux,\nψd: d-axis stator flux,\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage,\neq_pp: q-axis subtransient voltage,\ned_pp: d-axis subtransient voltage\n\nn_states::Int: (Do not modify.) MarconatoMachine has 6 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_T_AA-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_T_AA","text":"get_T_AA(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine T_AA.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_pp-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq_pp","text":"get_Xq_pp(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::MarconatoMachine) -> Dict{String, Any}\n\n\nGet MarconatoMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::MarconatoMachine) -> Int64\n\n\nGet MarconatoMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::MarconatoMachine) -> Vector{Symbol}\n\n\nGet MarconatoMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γd-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_γd","text":"get_γd(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine γd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γq-Tuple{MarconatoMachine}","page":"Machine","title":"PowerSystems.get_γq","text":"get_γq(value::MarconatoMachine) -> Float64\n\n\nGet MarconatoMachine γq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_T_AA!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_T_AA!","text":"set_T_AA!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine T_AA.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_pp!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_pp!","text":"set_Xq_pp!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γd!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_γd!","text":"set_γd!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine γd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γq!-Tuple{MarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_γq!","text":"set_γq!(value::MarconatoMachine, val) -> Any\n\n\nSet MarconatoMachine γq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#OneDOneQMachine","page":"Machine","title":"OneDOneQMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/OneDOneQMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.OneDOneQMachine","page":"Machine","title":"PowerSystems.OneDOneQMachine","text":"mutable struct OneDOneQMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Td0_p::Float64\n Tq0_p::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 4-states synchronous machine: Simplified Marconato model The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage\n\nn_states::Int: (Do not modify.) OneDOneQMachine has 2 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::OneDOneQMachine) -> Float64\n\n\nGet OneDOneQMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::OneDOneQMachine) -> Dict{String, Any}\n\n\nGet OneDOneQMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::OneDOneQMachine) -> Int64\n\n\nGet OneDOneQMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{OneDOneQMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::OneDOneQMachine) -> Vector{Symbol}\n\n\nGet OneDOneQMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{OneDOneQMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::OneDOneQMachine, val) -> Any\n\n\nSet OneDOneQMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#RoundRotorExponential","page":"Machine","title":"RoundRotorExponential","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/RoundRotorExponential.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.RoundRotorExponential","page":"Machine","title":"PowerSystems.RoundRotorExponential","text":"mutable struct RoundRotorExponential <: Machine\n base_machine::RoundRotorMachine\n saturation_coeffs::Tuple{Float64, Float64}\n\n4-states round-rotor synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROE model in PSSE and PSLF.\n\nArguments\n\nbase_machine::RoundRotorMachine: Round Rotor Machine model.\nsaturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for exponential model.\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#RoundRotorMachine","page":"Machine","title":"RoundRotorMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/RoundRotorMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.RoundRotorMachine","page":"Machine","title":"PowerSystems.RoundRotorMachine","text":"mutable struct RoundRotorMachine <: Machine\n R::Float64\n Td0_p::Float64\n Td0_pp::Float64\n Tq0_p::Float64\n Tq0_pp::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xl::Float64\n Se::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n γ_d1::Float64\n γ_q1::Float64\n γ_d2::Float64\n γ_q2::Float64\n γ_qd::Float64\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 4-states round-rotor synchronous machine with quadratic/exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROU or GENROE model in PSSE and PSLF\n\nArguments\n\nR::Float64: Armature resistance, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit. Note: Xdpp = Xqpp, validation range: (0, nothing)\nXl::Float64: Stator leakage reactance, validation range: (0, nothing)\nSe::Tuple{Float64, Float64}: Saturation factor at 1 and 1.2 pu flux: S(1.0) = B(|ψ_pp|-A)^2\next::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. See Adding additional fields\nγ_d1::Float64: (Do not modify.) γ_d1 parameter\nγ_q1::Float64: (Do not modify.) γ_q1 parameter\nγ_d2::Float64: (Do not modify.) γ_d2 parameter\nγ_q2::Float64: (Do not modify.) γ_q2 parameter\nγ_qd::Float64: (Do not modify.) γ_qd parameter\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\neq_p: q-axis generator voltage behind the transient reactance,\ned_p: d-axis generator voltage behind the transient reactance,\nψ_kd: flux linkage in the first equivalent damping circuit in the d-axis,\nψ_kq: flux linkage in the first equivalent damping circuit in the d-axis\n\nn_states::Int: (Do not modify.) RoundRotorMachine has 4 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Se-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Se","text":"get_Se(value::RoundRotorMachine) -> Tuple{Float64, Float64}\n\n\nGet RoundRotorMachine Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xl-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xl","text":"get_Xl(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::RoundRotorMachine) -> Dict{String, Any}\n\n\nGet RoundRotorMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::RoundRotorMachine) -> Int64\n\n\nGet RoundRotorMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::RoundRotorMachine) -> Vector{Symbol}\n\n\nGet RoundRotorMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d1-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_γ_d1","text":"get_γ_d1(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d2-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_γ_d2","text":"get_γ_d2(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_q1-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_γ_q1","text":"get_γ_q1(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_q2-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_γ_q2","text":"get_γ_q2(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine γ_q2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_qd-Tuple{RoundRotorMachine}","page":"Machine","title":"PowerSystems.get_γ_qd","text":"get_γ_qd(value::RoundRotorMachine) -> Float64\n\n\nGet RoundRotorMachine γ_qd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Se!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Se!","text":"set_Se!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xl!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xl!","text":"set_Xl!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d1!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d1!","text":"set_γ_d1!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d2!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d2!","text":"set_γ_d2!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_q1!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_q1!","text":"set_γ_q1!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_q2!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_q2!","text":"set_γ_q2!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine γ_q2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_qd!-Tuple{RoundRotorMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_qd!","text":"set_γ_qd!(value::RoundRotorMachine, val) -> Any\n\n\nSet RoundRotorMachine γ_qd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#RoundRotorQuadratic","page":"Machine","title":"RoundRotorQuadratic","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/RoundRotorQuadratic.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.RoundRotorQuadratic","page":"Machine","title":"PowerSystems.RoundRotorQuadratic","text":"mutable struct RoundRotorQuadratic <: Machine\n base_machine::RoundRotorMachine\n saturation_coeffs::Tuple{Float64, Float64}\n\n4-states round-rotor synchronous machine with quadratic saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROU model in PSSE and PSLF.\n\nArguments\n\nbase_machine::RoundRotorMachine: Round Rotor Machine model.\nsaturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for quadratic model.\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#SalientPoleExponential","page":"Machine","title":"SalientPoleExponential","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SalientPoleExponential.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SalientPoleExponential","page":"Machine","title":"PowerSystems.SalientPoleExponential","text":"mutable struct SalientPoleExponential <: Machine\n base_machine::SalientPoleMachine\n saturation_coeffs::Tuple{Float64, Float64}\n\n3-states salient-pole synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.1). GENSAE in PSSE and PSLF.\n\nArguments:\n\nbase_machine::SalientPoleMachine: Salient Pole Machine model.\nsaturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for exponential model.\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#SalientPoleMachine","page":"Machine","title":"SalientPoleMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SalientPoleMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SalientPoleMachine","page":"Machine","title":"PowerSystems.SalientPoleMachine","text":"mutable struct SalientPoleMachine <: Machine\n R::Float64\n Td0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xd_pp::Float64\n Xl::Float64\n Se::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n γ_d1::Float64\n γ_q1::Float64\n γ_d2::Float64\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 3-states salient-pole synchronous machine with quadratic/exponential saturation: IEEE Std 1110 §5.3.1 (Model 2.1). GENSAL or GENSAE model in PSSE and PSLF\n\nArguments\n\nR::Float64: Armature resistance, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit. Note: Xdpp = Xqpp, validation range: (0, nothing)\nXl::Float64: Stator leakage reactance, validation range: (0, nothing)\nSe::Tuple{Float64, Float64}: Saturation factor at 1 and 1.2 pu flux: Se(eqp) = B(eqp-A)^2\next::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. See Adding additional fields\nγ_d1::Float64: (Do not modify.) γ_d1 parameter\nγ_q1::Float64: (Do not modify.) γ_q1 parameter\nγ_d2::Float64: (Do not modify.) γ_d2 parameter\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\neq_p: q-axis generator voltage behind the transient reactance,\nψ_kd: flux linkage in the first equivalent damping circuit in the d-axis,\nψq_pp: phasonf of the subtransient flux linkage in the q-axis\n\nn_states::Int: (Do not modify.) SalientPoleMachine has 3 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Se-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Se","text":"get_Se(value::SalientPoleMachine) -> Tuple{Float64, Float64}\n\n\nGet SalientPoleMachine Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xl-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Xl","text":"get_Xl(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::SalientPoleMachine) -> Dict{String, Any}\n\n\nGet SalientPoleMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::SalientPoleMachine) -> Int64\n\n\nGet SalientPoleMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::SalientPoleMachine) -> Vector{Symbol}\n\n\nGet SalientPoleMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d1-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_γ_d1","text":"get_γ_d1(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d2-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_γ_d2","text":"get_γ_d2(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_q1-Tuple{SalientPoleMachine}","page":"Machine","title":"PowerSystems.get_γ_q1","text":"get_γ_q1(value::SalientPoleMachine) -> Float64\n\n\nGet SalientPoleMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Se!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Se!","text":"set_Se!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xl!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Xl!","text":"set_Xl!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d1!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d1!","text":"set_γ_d1!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d2!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d2!","text":"set_γ_d2!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_q1!-Tuple{SalientPoleMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_q1!","text":"set_γ_q1!(value::SalientPoleMachine, val) -> Any\n\n\nSet SalientPoleMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#SalientPoleQuadratic","page":"Machine","title":"SalientPoleQuadratic","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SalientPoleQuadratic.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SalientPoleQuadratic","page":"Machine","title":"PowerSystems.SalientPoleQuadratic","text":"mutable struct SalientPoleQuadratic <: Machine\n base_machine::SalientPoleMachine\n saturation_coeffs::Tuple{Float64, Float64}\n\n3-states salient-pole synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.1). GENSAL in PSSE and PSLF.\n\nArguments:\n\nbase_machine::SalientPoleMachine: Salient Pole Machine model.\nsaturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for quadratic model.\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#SauerPaiMachine","page":"Machine","title":"SauerPaiMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SauerPaiMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SauerPaiMachine","page":"Machine","title":"PowerSystems.SauerPaiMachine","text":"mutable struct SauerPaiMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xq_pp::Float64\n Xl::Float64\n Td0_p::Float64\n Tq0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n ext::Dict{String, Any}\n γ_d1::Float64\n γ_q1::Float64\n γ_d2::Float64\n γ_q2::Float64\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of synchronous machine: Sauer Pai model\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXl::Float64: Stator Leakage Reactance, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\next::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. See Adding additional fields\nγ_d1::Float64: (Do not modify.) Internal equation\nγ_q1::Float64: (Do not modify.) Internal equation\nγ_d2::Float64: (Do not modify.) Internal equation\nγ_q2::Float64: (Do not modify.) Internal equation\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nψq: q-axis stator flux,\nψd: d-axis stator flux,\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage\nψd_pp: subtransient flux linkage in the d-axis\nψq_pp: subtransient flux linkage in the q-axis\n\nn_states::Int: (Do not modify.) SauerPaiMachine has 6 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xl-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xl","text":"get_Xl(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_pp-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_Xq_pp","text":"get_Xq_pp(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::SauerPaiMachine) -> Dict{String, Any}\n\n\nGet SauerPaiMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::SauerPaiMachine) -> Int64\n\n\nGet SauerPaiMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::SauerPaiMachine) -> Vector{Symbol}\n\n\nGet SauerPaiMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d1-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_γ_d1","text":"get_γ_d1(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_d2-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_γ_d2","text":"get_γ_d2(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_q1-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_γ_q1","text":"get_γ_q1(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γ_q2-Tuple{SauerPaiMachine}","page":"Machine","title":"PowerSystems.get_γ_q2","text":"get_γ_q2(value::SauerPaiMachine) -> Float64\n\n\nGet SauerPaiMachine γ_q2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xl!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xl!","text":"set_Xl!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_pp!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_pp!","text":"set_Xq_pp!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d1!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d1!","text":"set_γ_d1!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine γ_d1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_d2!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_d2!","text":"set_γ_d2!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine γ_d2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_q1!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_q1!","text":"set_γ_q1!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine γ_q1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γ_q2!-Tuple{SauerPaiMachine, Any}","page":"Machine","title":"PowerSystems.set_γ_q2!","text":"set_γ_q2!(value::SauerPaiMachine, val) -> Any\n\n\nSet SauerPaiMachine γ_q2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#SimpleAFMachine","page":"Machine","title":"SimpleAFMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SimpleAFMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SimpleAFMachine","page":"Machine","title":"PowerSystems.SimpleAFMachine","text":"mutable struct SimpleAFMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xq_pp::Float64\n Td0_p::Float64\n Tq0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 4-states simplified Anderson-Fouad (SimpleAFMachine) model. The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected. If transmission dynamics is considered use the full order Anderson Fouad model\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage,\neq_pp: q-axis subtransient voltage,\ned_pp: d-axis subtransient voltage\n\nn_states::Int: (Do not modify.) SimpleAFMachine has 4 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_pp-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_Xq_pp","text":"get_Xq_pp(value::SimpleAFMachine) -> Float64\n\n\nGet SimpleAFMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::SimpleAFMachine) -> Dict{String, Any}\n\n\nGet SimpleAFMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::SimpleAFMachine) -> Int64\n\n\nGet SimpleAFMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{SimpleAFMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::SimpleAFMachine) -> Vector{Symbol}\n\n\nGet SimpleAFMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_pp!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_pp!","text":"set_Xq_pp!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{SimpleAFMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::SimpleAFMachine, val) -> Any\n\n\nSet SimpleAFMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#SimpleFullMachine","page":"Machine","title":"SimpleFullMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SimpleFullMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SimpleFullMachine","page":"Machine","title":"PowerSystems.SimpleFullMachine","text":"mutable struct SimpleFullMachine <: Machine\n R::Float64\n R_f::Float64\n R_1d::Float64\n R_1q::Float64\n L_d::Float64\n L_q::Float64\n L_ad::Float64\n L_aq::Float64\n L_f1d::Float64\n L_ff::Float64\n L_1d::Float64\n L_1q::Float64\n ext::Dict{String, Any}\n inv_d_fluxlink::Array{Float64,2}\n inv_q_fluxlink::Array{Float64,2}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameter of a full order flux stator-rotor model without zero sequence flux in the stator. The derivative of stator fluxes (ψd and ψq) is neglected. This is standard when transmission network dynamics is neglected. Only one q-axis damping circuit is considered. All per unit are in machine per unit. Refer to Chapter 3 of Power System Stability and Control by P. Kundur or Chapter 11 of Power System Dynamics: Stability and Control, by J. Machowski, J. Bialek and J. Bumby, for more details. Note that the models are somewhat different (but equivalent) due to the different Park Transformation used in both books\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nR_f::Float64: Field rotor winding resistance in per unit, validation range: (0, nothing)\nR_1d::Float64: Damping rotor winding resistance on d-axis in per unit. This value is denoted as RD in Machowski, validation range: (0, nothing)\nR_1q::Float64: Damping rotor winding resistance on q-axis in per unit. This value is denoted as RQ in Machowski, validation range: (0, nothing)\nL_d::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the d-axis of the rotor, in per unit. This value is denoted as Lad + Ll in Kundur (and Ld in Machowski), validation range: (0, nothing)\nL_q::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the q-axis of the rotor, in per unit. This value is denoted as Laq + Ll in Kundur, validation range: (0, nothing)\nL_ad::Float64: Mutual inductance between stator winding and rotor field (and damping) winding inductance on d-axis, in per unit, validation range: (0, nothing)\nL_aq::Float64: Mutual inductance between stator winding and rotor damping winding inductance on q-axis, in per unit, validation range: (0, nothing)\nL_f1d::Float64: Mutual inductance between rotor field winding and rotor damping winding inductance on d-axis, in per unit, validation range: (0, nothing)\nL_ff::Float64: Field rotor winding inductance, in per unit, validation range: (0, nothing)\nL_1d::Float64: Inductance of the d-axis rotor damping circuit, in per unit, validation range: (0, nothing)\nL_1q::Float64: Inductance of the q-axis rotor damping circuit, in per unit, validation range: (0, nothing)\next::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. See Adding additional fields\ninv_d_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.127, 3.130, 3.131 From Kundur\ninv_q_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.128, 3.132 From Kundur\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nψf: field rotor flux,\nψ1d: d-axis rotor damping flux,\nψ1q: q-axis rotor damping flux\n\nn_states::Int: (Do not modify.) SimpleFullMachine has 3 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_1d-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_1d","text":"get_L_1d(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_1q-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_1q","text":"get_L_1q(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_ad-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_ad","text":"get_L_ad(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_ad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_aq-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_aq","text":"get_L_aq(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_aq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_d-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_d","text":"get_L_d(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_f1d-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_f1d","text":"get_L_f1d(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_f1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_ff-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_ff","text":"get_L_ff(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_L_q-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_L_q","text":"get_L_q(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine L_q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_1d-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_R_1d","text":"get_R_1d(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine R_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_1q-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_R_1q","text":"get_R_1q(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine R_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_R_f-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_R_f","text":"get_R_f(value::SimpleFullMachine) -> Float64\n\n\nGet SimpleFullMachine R_f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::SimpleFullMachine) -> Dict{String, Any}\n\n\nGet SimpleFullMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_inv_d_fluxlink-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_inv_d_fluxlink","text":"get_inv_d_fluxlink(\n value::SimpleFullMachine\n) -> Matrix{Float64}\n\n\nGet SimpleFullMachine inv_d_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_inv_q_fluxlink-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_inv_q_fluxlink","text":"get_inv_q_fluxlink(\n value::SimpleFullMachine\n) -> Matrix{Float64}\n\n\nGet SimpleFullMachine inv_q_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::SimpleFullMachine) -> Int64\n\n\nGet SimpleFullMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{SimpleFullMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::SimpleFullMachine) -> Vector{Symbol}\n\n\nGet SimpleFullMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_1d!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_1d!","text":"set_L_1d!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_1q!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_1q!","text":"set_L_1q!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_ad!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_ad!","text":"set_L_ad!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_ad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_aq!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_aq!","text":"set_L_aq!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_aq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_d!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_d!","text":"set_L_d!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_f1d!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_f1d!","text":"set_L_f1d!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_f1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_ff!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_ff!","text":"set_L_ff!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_L_q!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_L_q!","text":"set_L_q!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine L_q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_1d!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_1d!","text":"set_R_1d!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine R_1d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_1q!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_1q!","text":"set_R_1q!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine R_1q.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R_f!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_R_f!","text":"set_R_f!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine R_f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_inv_d_fluxlink!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_inv_d_fluxlink!","text":"set_inv_d_fluxlink!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine inv_d_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_inv_q_fluxlink!-Tuple{SimpleFullMachine, Any}","page":"Machine","title":"PowerSystems.set_inv_q_fluxlink!","text":"set_inv_q_fluxlink!(value::SimpleFullMachine, val) -> Any\n\n\nSet SimpleFullMachine inv_q_fluxlink.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#SimpleMarconatoMachine","page":"Machine","title":"SimpleMarconatoMachine","text":"","category":"section"},{"location":"model_library/generated_Machine/","page":"Machine","title":"Machine","text":"Modules = [PowerSystems]\nPages = [\"/SimpleMarconatoMachine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Machine/#PowerSystems.SimpleMarconatoMachine","page":"Machine","title":"PowerSystems.SimpleMarconatoMachine","text":"mutable struct SimpleMarconatoMachine <: Machine\n R::Float64\n Xd::Float64\n Xq::Float64\n Xd_p::Float64\n Xq_p::Float64\n Xd_pp::Float64\n Xq_pp::Float64\n Td0_p::Float64\n Tq0_p::Float64\n Td0_pp::Float64\n Tq0_pp::Float64\n T_AA::Float64\n ext::Dict{String, Any}\n γd::Float64\n γq::Float64\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 4-states synchronous machine: Simplified Marconato model The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected\n\nArguments\n\nR::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)\nXd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nXd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)\nXq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)\nTd0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)\nTq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)\nTd0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)\nTq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)\nT_AA::Float64: Time constant of d-axis additional leakage, validation range: (0, nothing)\next::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. See Adding additional fields\nγd::Float64: (Do not modify.) Internal equation\nγq::Float64: (Do not modify.) Internal equation\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\neq_p: q-axis transient voltage,\ned_p: d-axis transient voltage,\neq_pp: q-axis subtransient voltage,\ned_pp: d-axis subtransient voltage\n\nn_states::Int: (Do not modify.) SimpleMarconatoMachine has 4 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Machine/#PowerSystems.get_R-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_R","text":"get_R(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_T_AA-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_T_AA","text":"get_T_AA(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine T_AA.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_p-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Td0_p","text":"get_Td0_p(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Td0_pp-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Td0_pp","text":"get_Td0_pp(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_p-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Tq0_p","text":"get_Tq0_p(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Tq0_pp-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Tq0_pp","text":"get_Tq0_pp(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd","text":"get_Xd(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_p-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd_p","text":"get_Xd_p(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xd_pp-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xd_pp","text":"get_Xd_pp(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq","text":"get_Xq(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_p-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq_p","text":"get_Xq_p(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_Xq_pp-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_Xq_pp","text":"get_Xq_pp(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_ext-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_ext","text":"get_ext(value::SimpleMarconatoMachine) -> Dict{String, Any}\n\n\nGet SimpleMarconatoMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_n_states-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_n_states","text":"get_n_states(value::SimpleMarconatoMachine) -> Int64\n\n\nGet SimpleMarconatoMachine n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_states-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_states","text":"get_states(value::SimpleMarconatoMachine) -> Vector{Symbol}\n\n\nGet SimpleMarconatoMachine states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γd-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_γd","text":"get_γd(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine γd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.get_γq-Tuple{SimpleMarconatoMachine}","page":"Machine","title":"PowerSystems.get_γq","text":"get_γq(value::SimpleMarconatoMachine) -> Float64\n\n\nGet SimpleMarconatoMachine γq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_R!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_R!","text":"set_R!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_T_AA!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_T_AA!","text":"set_T_AA!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine T_AA.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_p!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_p!","text":"set_Td0_p!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Td0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Td0_pp!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Td0_pp!","text":"set_Td0_pp!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Td0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_p!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_p!","text":"set_Tq0_p!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Tq0_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Tq0_pp!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Tq0_pp!","text":"set_Tq0_pp!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Tq0_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd!","text":"set_Xd!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_p!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_p!","text":"set_Xd_p!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xd_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xd_pp!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xd_pp!","text":"set_Xd_pp!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xd_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq!","text":"set_Xq!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_p!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_p!","text":"set_Xq_p!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xq_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_Xq_pp!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_Xq_pp!","text":"set_Xq_pp!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine Xq_pp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_ext!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_ext!","text":"set_ext!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γd!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_γd!","text":"set_γd!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine γd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Machine/#PowerSystems.set_γq!-Tuple{SimpleMarconatoMachine, Any}","page":"Machine","title":"PowerSystems.set_γq!","text":"set_γq!(value::SimpleMarconatoMachine, val) -> Any\n\n\nSet SimpleMarconatoMachine γq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#ConstantReserveNonSpinning","page":"ConstantReserveNonSpinning","title":"ConstantReserveNonSpinning","text":"","category":"section"},{"location":"model_library/generated_ConstantReserveNonSpinning/","page":"ConstantReserveNonSpinning","title":"ConstantReserveNonSpinning","text":"Modules = [PowerSystems]\nPages = [\"generated/ConstantReserveNonSpinning.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.ConstantReserveNonSpinning","page":"ConstantReserveNonSpinning","title":"PowerSystems.ConstantReserveNonSpinning","text":"mutable struct ConstantReserveNonSpinning <: ReserveNonSpinning\n name::String\n available::Bool\n time_frame::Float64\n requirement::Float64\n sustained_time::Float64\n max_output_fraction::Float64\n max_participation_factor::Float64\n deployed_fraction::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA non-spinning reserve product with a constant procurement requirement, such as 3% of the system base power at all times.\n\nThis reserve product includes back-up generators that might not be currently synchronized with the power system, but can come online quickly after an unexpected contingency, such as a transmission line or generator outage. This is only an upwards reserve. For faster-responding upwards or downwards reserves from components already synchronized with the system, see ConstantReserve\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\ntime_frame::Float64: the saturation time frame in minutes that a participating device must provide its reserve contribution, validation range: (0, nothing)\nrequirement::Float64: the value of required reserves in p.u. (SYSTEM_BASE), validation range: (0, nothing)\nsustained_time::Float64: (default: 3600.0) the time in seconds reserve contribution must sustained at a specified level, validation range: (0, nothing)\nmax_output_fraction::Float64: (default: 1.0) the maximum fraction of each device's output that can be assigned to the service, validation range: (0, 1)\nmax_participation_factor::Float64: (default: 1.0) the maximum portion [0, 1.0] of the reserve that can be contributed per device, validation range: (0, 1)\ndeployed_fraction::Float64: (default: 0.0) Fraction of service procurement that is assumed to be actually deployed. Most commonly, this is assumed to be either 0.0 or 1.0, validation range: (0, 1)\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_ConstantReserveNonSpinning/#InfrastructureSystems.get_name-Tuple{ConstantReserveNonSpinning}","page":"ConstantReserveNonSpinning","title":"InfrastructureSystems.get_name","text":"get_name(value::ConstantReserveNonSpinning) -> String\n\n\nGet ConstantReserveNonSpinning name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.get_available-Tuple{ConstantReserveNonSpinning}","page":"ConstantReserveNonSpinning","title":"PowerSystems.get_available","text":"get_available(value::ConstantReserveNonSpinning) -> Bool\n\n\nGet ConstantReserveNonSpinning available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.get_deployed_fraction-Tuple{ConstantReserveNonSpinning}","page":"ConstantReserveNonSpinning","title":"PowerSystems.get_deployed_fraction","text":"get_deployed_fraction(\n value::ConstantReserveNonSpinning\n) -> Float64\n\n\nGet ConstantReserveNonSpinning deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.get_ext-Tuple{ConstantReserveNonSpinning}","page":"ConstantReserveNonSpinning","title":"PowerSystems.get_ext","text":"get_ext(\n value::ConstantReserveNonSpinning\n) -> Dict{String, Any}\n\n\nGet ConstantReserveNonSpinning ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.get_max_output_fraction-Tuple{ConstantReserveNonSpinning}","page":"ConstantReserveNonSpinning","title":"PowerSystems.get_max_output_fraction","text":"get_max_output_fraction(\n value::ConstantReserveNonSpinning\n) -> Float64\n\n\nGet ConstantReserveNonSpinning max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.get_max_participation_factor-Tuple{ConstantReserveNonSpinning}","page":"ConstantReserveNonSpinning","title":"PowerSystems.get_max_participation_factor","text":"get_max_participation_factor(\n value::ConstantReserveNonSpinning\n) -> Float64\n\n\nGet ConstantReserveNonSpinning max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.get_requirement-Tuple{ConstantReserveNonSpinning}","page":"ConstantReserveNonSpinning","title":"PowerSystems.get_requirement","text":"get_requirement(value::ConstantReserveNonSpinning) -> Any\n\n\nGet ConstantReserveNonSpinning requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.get_sustained_time-Tuple{ConstantReserveNonSpinning}","page":"ConstantReserveNonSpinning","title":"PowerSystems.get_sustained_time","text":"get_sustained_time(\n value::ConstantReserveNonSpinning\n) -> Float64\n\n\nGet ConstantReserveNonSpinning sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.get_time_frame-Tuple{ConstantReserveNonSpinning}","page":"ConstantReserveNonSpinning","title":"PowerSystems.get_time_frame","text":"get_time_frame(value::ConstantReserveNonSpinning) -> Float64\n\n\nGet ConstantReserveNonSpinning time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.set_available!-Tuple{ConstantReserveNonSpinning, Any}","page":"ConstantReserveNonSpinning","title":"PowerSystems.set_available!","text":"set_available!(\n value::ConstantReserveNonSpinning,\n val\n) -> Any\n\n\nSet ConstantReserveNonSpinning available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.set_deployed_fraction!-Tuple{ConstantReserveNonSpinning, Any}","page":"ConstantReserveNonSpinning","title":"PowerSystems.set_deployed_fraction!","text":"set_deployed_fraction!(\n value::ConstantReserveNonSpinning,\n val\n) -> Any\n\n\nSet ConstantReserveNonSpinning deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.set_ext!-Tuple{ConstantReserveNonSpinning, Any}","page":"ConstantReserveNonSpinning","title":"PowerSystems.set_ext!","text":"set_ext!(value::ConstantReserveNonSpinning, val) -> Any\n\n\nSet ConstantReserveNonSpinning ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.set_max_output_fraction!-Tuple{ConstantReserveNonSpinning, Any}","page":"ConstantReserveNonSpinning","title":"PowerSystems.set_max_output_fraction!","text":"set_max_output_fraction!(\n value::ConstantReserveNonSpinning,\n val\n) -> Any\n\n\nSet ConstantReserveNonSpinning max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.set_max_participation_factor!-Tuple{ConstantReserveNonSpinning, Any}","page":"ConstantReserveNonSpinning","title":"PowerSystems.set_max_participation_factor!","text":"set_max_participation_factor!(\n value::ConstantReserveNonSpinning,\n val\n) -> Any\n\n\nSet ConstantReserveNonSpinning max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.set_requirement!-Tuple{ConstantReserveNonSpinning, Any}","page":"ConstantReserveNonSpinning","title":"PowerSystems.set_requirement!","text":"set_requirement!(\n value::ConstantReserveNonSpinning,\n val\n) -> Any\n\n\nSet ConstantReserveNonSpinning requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.set_sustained_time!-Tuple{ConstantReserveNonSpinning, Any}","page":"ConstantReserveNonSpinning","title":"PowerSystems.set_sustained_time!","text":"set_sustained_time!(\n value::ConstantReserveNonSpinning,\n val\n) -> Any\n\n\nSet ConstantReserveNonSpinning sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ConstantReserveNonSpinning/#PowerSystems.set_time_frame!-Tuple{ConstantReserveNonSpinning, Any}","page":"ConstantReserveNonSpinning","title":"PowerSystems.set_time_frame!","text":"set_time_frame!(\n value::ConstantReserveNonSpinning,\n val\n) -> Any\n\n\nSet ConstantReserveNonSpinning time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSS","page":"PSS","title":"PSS","text":"","category":"section"},{"location":"model_library/generated_PSS/#IEEEST","page":"PSS","title":"IEEEST","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/IEEEST.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.IEEEST","page":"PSS","title":"PowerSystems.IEEEST","text":"mutable struct IEEEST <: PSS\n input_code::Int\n remote_bus_control::Int\n A1::Float64\n A2::Float64\n A3::Float64\n A4::Float64\n A5::Float64\n A6::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n T4::Float64\n T5::Float64\n T6::Float64\n Ks::Float64\n Ls_lim::Tuple{Float64, Float64}\n Vcu::Float64\n Vcl::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIEEE Stabilizing Model PSS. \n\nArguments\n\ninput_code::Int: Code input for stabilizer, validation range: (1, 6)\nremote_bus_control::Int: ACBus identification number for control. 0 identifies the bus connected to this component\nA1::Float64: Filter coefficient, validation range: (0, nothing)\nA2::Float64: Filter coefficient, validation range: (0, nothing)\nA3::Float64: Filter coefficient, validation range: (0, nothing)\nA4::Float64: Filter coefficient, validation range: (0, nothing)\nA5::Float64: Filter coefficient, validation range: (0, nothing)\nA6::Float64: Filter coefficient, validation range: (0, nothing)\nT1::Float64: Time constant, validation range: (0, 10)\nT2::Float64: Time constant, validation range: (0, 10)\nT3::Float64: Time constant, validation range: (0, 10)\nT4::Float64: Time constant, validation range: (0, 10)\nT5::Float64: Time constant, validation range: (0, 10)\nT6::Float64: Time constant, validation range: (eps(), 2.0)\nKs::Float64: Proportional gain, validation range: (0, nothing)\nLs_lim::Tuple{Float64, Float64}: PSS output limits for regulator output (Ls_min, Ls_max)\nVcu::Float64: Cutoff limiter upper bound, validation range: (0, 1.25)\nVcl::Float64: Cutoff limiter lower bound, validation range: (0, 1.0)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nx_p1: 1st filter integration,\nx_p2: 2nd filter integration, \nx_p3: 3rd filter integration, \nx_p4: 4rd filter integration, \nx_p5: T1/T2 lead-lag integrator, \nx_p6: T3/T4 lead-lag integrator, \n:x_p7 last integer,\n\nn_states::Int: (Do not modify.) IEEEST has 7 states\nstates_types::Vector{StateTypes}: (Do not modify.) IEEEST has 7 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_A1-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A1","text":"get_A1(value::IEEEST) -> Float64\n\n\nGet IEEEST A1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_A2-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A2","text":"get_A2(value::IEEEST) -> Float64\n\n\nGet IEEEST A2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_A3-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A3","text":"get_A3(value::IEEEST) -> Float64\n\n\nGet IEEEST A3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_A4-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A4","text":"get_A4(value::IEEEST) -> Float64\n\n\nGet IEEEST A4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_A5-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A5","text":"get_A5(value::IEEEST) -> Float64\n\n\nGet IEEEST A5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_A6-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_A6","text":"get_A6(value::IEEEST) -> Float64\n\n\nGet IEEEST A6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_Ks","text":"get_Ks(value::IEEEST) -> Float64\n\n\nGet IEEEST Ks.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ls_lim-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_Ls_lim","text":"get_Ls_lim(value::IEEEST) -> Tuple{Float64, Float64}\n\n\nGet IEEEST Ls_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T1-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T1","text":"get_T1(value::IEEEST) -> Float64\n\n\nGet IEEEST T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T2-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T2","text":"get_T2(value::IEEEST) -> Float64\n\n\nGet IEEEST T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T3-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T3","text":"get_T3(value::IEEEST) -> Float64\n\n\nGet IEEEST T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T4-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T4","text":"get_T4(value::IEEEST) -> Float64\n\n\nGet IEEEST T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T5-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T5","text":"get_T5(value::IEEEST) -> Float64\n\n\nGet IEEEST T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T6-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_T6","text":"get_T6(value::IEEEST) -> Float64\n\n\nGet IEEEST T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vcl-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_Vcl","text":"get_Vcl(value::IEEEST) -> Float64\n\n\nGet IEEEST Vcl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vcu-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_Vcu","text":"get_Vcu(value::IEEEST) -> Float64\n\n\nGet IEEEST Vcu.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::IEEEST) -> Dict{String, Any}\n\n\nGet IEEEST ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_input_code","text":"get_input_code(value::IEEEST) -> Int64\n\n\nGet IEEEST input_code.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::IEEEST) -> Int64\n\n\nGet IEEEST n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_remote_bus_control","text":"get_remote_bus_control(value::IEEEST) -> Int64\n\n\nGet IEEEST remote_bus_control.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::IEEEST) -> Vector{Symbol}\n\n\nGet IEEEST states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states_types-Tuple{IEEEST}","page":"PSS","title":"PowerSystems.get_states_types","text":"get_states_types(value::IEEEST) -> Vector{StateTypes}\n\n\nGet IEEEST states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A1!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A1!","text":"set_A1!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A2!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A2!","text":"set_A2!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A3!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A3!","text":"set_A3!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A4!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A4!","text":"set_A4!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A5!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A5!","text":"set_A5!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_A6!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_A6!","text":"set_A6!(value::IEEEST, val) -> Any\n\n\nSet IEEEST A6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_Ks!","text":"set_Ks!(value::IEEEST, val) -> Any\n\n\nSet IEEEST Ks.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ls_lim!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_Ls_lim!","text":"set_Ls_lim!(value::IEEEST, val) -> Any\n\n\nSet IEEEST Ls_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T1!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T1!","text":"set_T1!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T2!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T2!","text":"set_T2!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T3!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T3!","text":"set_T3!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T4!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T4!","text":"set_T4!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T5!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T5!","text":"set_T5!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T6!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_T6!","text":"set_T6!(value::IEEEST, val) -> Any\n\n\nSet IEEEST T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vcl!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_Vcl!","text":"set_Vcl!(value::IEEEST, val) -> Any\n\n\nSet IEEEST Vcl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vcu!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_Vcu!","text":"set_Vcu!(value::IEEEST, val) -> Any\n\n\nSet IEEEST Vcu.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::IEEEST, val) -> Any\n\n\nSet IEEEST ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_input_code!","text":"set_input_code!(value::IEEEST, val) -> Any\n\n\nSet IEEEST input_code.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control!","text":"set_remote_bus_control!(value::IEEEST, val) -> Any\n\n\nSet IEEEST remote_bus_control.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_states_types!-Tuple{IEEEST, Any}","page":"PSS","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::IEEEST, val) -> Any\n\n\nSet IEEEST states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSS2A","page":"PSS","title":"PSS2A","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/PSS2A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.PSS2A","page":"PSS","title":"PowerSystems.PSS2A","text":"mutable struct PSS2A <: PSS\n input_code_1::Int\n remote_bus_control_1::Int\n input_code_2::Int\n remote_bus_control_2::Int\n M_rtf::Int\n N_rtf::Int\n Tw1::Float64\n Tw2::Float64\n T6::Float64\n Tw3::Float64\n Tw4::Float64\n T7::Float64\n Ks2::Float64\n Ks3::Float64\n T8::Float64\n T9::Float64\n Ks1::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n T4::Float64\n Vst_lim::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIEEE Dual-Input Stabilizer Model\n\nArguments\n\ninput_code_1::Int: First Input Code for stabilizer, validation range: (1, 6)\nremote_bus_control_1::Int: First Input remote bus identification number for control. 0 identifies the local bus connected to this component\ninput_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6)\nremote_bus_control_2::Int: Second Input remote bus identification number for control. 0 identifies the local bus connected to this component\nM_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8)\nN_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8)\nTw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing)\nTw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing)\nT6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing)\nTw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing)\nTw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing)\nT7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing)\nKs2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing)\nKs3::Float64: Gain for second input, validation range: (0, nothing)\nT8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing)\nT9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing)\nKs1::Float64: Gain before lead-lag blocks, validation range: (0, nothing)\nT1::Float64: Time constant for first lead-lag block, validation range: (0, nothing)\nT2::Float64: Time constant for first lead-lag block, validation range: (0, nothing)\nT3::Float64: Time constant for second lead-lag block, validation range: (0, nothing)\nT4::Float64: Time constant for second lead-lag block, validation range: (0, nothing)\nVst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nx_p1: 1st washout 1st input, \nx_p2: 2nd washout 1st input, \nx_p3: transducer 1st input, \nx_p4: 1st washout 2nd input, \nx_p5: 2nd washout 2nd input, \nx_p6: transducer 2nd input, \nx_p7: ramp tracking filter state 1, \nx_p8: ramp tracking filter state 2, \nx_p9: ramp tracking filter state 3, \nx_p10: ramp tracking filter state 4, \nx_p11: ramp tracking filter state 5, \nx_p12: ramp tracking filter state 6, \nx_p13: ramp tracking filter state 7, \nx_p14: ramp tracking filter state 8, \nx_p15: 1st lead-lag, \nx_p16: 2nd lead-lag,\n\nn_states::Int: (Do not modify.) IEEEST has 16 states\nstates_types::Vector{StateTypes}: (Do not modify.) IEEEST has 16 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks1-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Ks1","text":"get_Ks1(value::PSS2A) -> Float64\n\n\nGet PSS2A Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks2-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Ks2","text":"get_Ks2(value::PSS2A) -> Float64\n\n\nGet PSS2A Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks3-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Ks3","text":"get_Ks3(value::PSS2A) -> Float64\n\n\nGet PSS2A Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_M_rtf-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_M_rtf","text":"get_M_rtf(value::PSS2A) -> Int64\n\n\nGet PSS2A M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_N_rtf-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_N_rtf","text":"get_N_rtf(value::PSS2A) -> Int64\n\n\nGet PSS2A N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T1-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T1","text":"get_T1(value::PSS2A) -> Float64\n\n\nGet PSS2A T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T2-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T2","text":"get_T2(value::PSS2A) -> Float64\n\n\nGet PSS2A T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T3-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T3","text":"get_T3(value::PSS2A) -> Float64\n\n\nGet PSS2A T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T4-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T4","text":"get_T4(value::PSS2A) -> Float64\n\n\nGet PSS2A T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T6-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T6","text":"get_T6(value::PSS2A) -> Float64\n\n\nGet PSS2A T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T7-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T7","text":"get_T7(value::PSS2A) -> Float64\n\n\nGet PSS2A T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T8-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T8","text":"get_T8(value::PSS2A) -> Float64\n\n\nGet PSS2A T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T9-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_T9","text":"get_T9(value::PSS2A) -> Float64\n\n\nGet PSS2A T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw1-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Tw1","text":"get_Tw1(value::PSS2A) -> Float64\n\n\nGet PSS2A Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw2-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Tw2","text":"get_Tw2(value::PSS2A) -> Float64\n\n\nGet PSS2A Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw3-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Tw3","text":"get_Tw3(value::PSS2A) -> Float64\n\n\nGet PSS2A Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw4-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Tw4","text":"get_Tw4(value::PSS2A) -> Float64\n\n\nGet PSS2A Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vst_lim-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_Vst_lim","text":"get_Vst_lim(value::PSS2A) -> Tuple{Float64, Float64}\n\n\nGet PSS2A Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::PSS2A) -> Dict{String, Any}\n\n\nGet PSS2A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_1-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_input_code_1","text":"get_input_code_1(value::PSS2A) -> Int64\n\n\nGet PSS2A input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_2-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_input_code_2","text":"get_input_code_2(value::PSS2A) -> Int64\n\n\nGet PSS2A input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::PSS2A) -> Int64\n\n\nGet PSS2A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_1-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_remote_bus_control_1","text":"get_remote_bus_control_1(value::PSS2A) -> Int64\n\n\nGet PSS2A remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_2-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_remote_bus_control_2","text":"get_remote_bus_control_2(value::PSS2A) -> Int64\n\n\nGet PSS2A remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::PSS2A) -> Vector{Symbol}\n\n\nGet PSS2A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states_types-Tuple{PSS2A}","page":"PSS","title":"PowerSystems.get_states_types","text":"get_states_types(value::PSS2A) -> Vector{StateTypes}\n\n\nGet PSS2A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks1!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Ks1!","text":"set_Ks1!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks2!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Ks2!","text":"set_Ks2!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks3!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Ks3!","text":"set_Ks3!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_M_rtf!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_M_rtf!","text":"set_M_rtf!(value::PSS2A, val) -> Any\n\n\nSet PSS2A M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_N_rtf!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_N_rtf!","text":"set_N_rtf!(value::PSS2A, val) -> Any\n\n\nSet PSS2A N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T1!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T1!","text":"set_T1!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T2!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T2!","text":"set_T2!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T3!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T3!","text":"set_T3!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T4!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T4!","text":"set_T4!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T6!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T6!","text":"set_T6!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T7!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T7!","text":"set_T7!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T8!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T8!","text":"set_T8!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T9!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_T9!","text":"set_T9!(value::PSS2A, val) -> Any\n\n\nSet PSS2A T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw1!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Tw1!","text":"set_Tw1!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw2!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Tw2!","text":"set_Tw2!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw3!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Tw3!","text":"set_Tw3!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw4!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Tw4!","text":"set_Tw4!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vst_lim!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_Vst_lim!","text":"set_Vst_lim!(value::PSS2A, val) -> Any\n\n\nSet PSS2A Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::PSS2A, val) -> Any\n\n\nSet PSS2A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_1!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_input_code_1!","text":"set_input_code_1!(value::PSS2A, val) -> Any\n\n\nSet PSS2A input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_2!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_input_code_2!","text":"set_input_code_2!(value::PSS2A, val) -> Any\n\n\nSet PSS2A input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_1!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_1!","text":"set_remote_bus_control_1!(value::PSS2A, val) -> Any\n\n\nSet PSS2A remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_2!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_2!","text":"set_remote_bus_control_2!(value::PSS2A, val) -> Any\n\n\nSet PSS2A remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_states_types!-Tuple{PSS2A, Any}","page":"PSS","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::PSS2A, val) -> Any\n\n\nSet PSS2A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSS2B","page":"PSS","title":"PSS2B","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/PSS2B.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.PSS2B","page":"PSS","title":"PowerSystems.PSS2B","text":"mutable struct PSS2B <: PSS\n input_code_1::Int\n remote_bus_control_1::Int\n input_code_2::Int\n remote_bus_control_2::Int\n M_rtf::Int\n N_rtf::Int\n Tw1::Float64\n Tw2::Float64\n T6::Float64\n Tw3::Float64\n Tw4::Float64\n T7::Float64\n Ks2::Float64\n Ks3::Float64\n T8::Float64\n T9::Float64\n Ks1::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n T4::Float64\n T10::Float64\n T11::Float64\n Vs1_lim::Tuple{Float64, Float64}\n Vs2_lim::Tuple{Float64, Float64}\n Vst_lim::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIEEE 421.5 2005 PSS2B IEEE Dual-Input Stabilizer Model\n\nArguments\n\ninput_code_1::Int: First Input Code for stabilizer, validation range: (1, 6)\nremote_bus_control_1::Int: First Input remote bus identification number for control. 0 identifies the local bus connected to this component\ninput_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6)\nremote_bus_control_2::Int: Second Input remote bus identification number for control. 0 identifies the local bus connected to this component\nM_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8)\nN_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8)\nTw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing)\nTw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing)\nT6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing)\nTw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing)\nTw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing)\nT7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing)\nKs2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing)\nKs3::Float64: Gain for second input, validation range: (0, nothing)\nT8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing)\nT9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing)\nKs1::Float64: Gain before lead-lag blocks, validation range: (0, nothing)\nT1::Float64: Time constant for first lead-lag block, validation range: (0, nothing)\nT2::Float64: Time constant for first lead-lag block, validation range: (0, nothing)\nT3::Float64: Time constant for second lead-lag block, validation range: (0, nothing)\nT4::Float64: Time constant for second lead-lag block, validation range: (0, nothing)\nT10::Float64: Time constant for third lead-lag block, validation range: (0, nothing)\nT11::Float64: Time constant for third lead-lag block, validation range: (0, nothing)\nVs1_lim::Tuple{Float64, Float64}: First input limits (Vs1_min, Vs1_max)\nVs2_lim::Tuple{Float64, Float64}: Second input limits (Vs2_min, Vs2_max)\nVst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nx_p1: 1st washout 1st input, \nx_p2: 2nd washout 1st input, \nx_p3: transducer 1st input, \nx_p4: 1st washout 2nd input, \nx_p5: 2nd washout 2nd input, \nx_p6: transducer 2nd input, \nx_p7: ramp tracking filter state 1, \nx_p8: ramp tracking filter state 2, \nx_p9: ramp tracking filter state 3, \nx_p10: ramp tracking filter state 4, \nx_p11: ramp tracking filter state 5, \nx_p12: ramp tracking filter state 6, \nx_p13: ramp tracking filter state 7, \nx_p14: ramp tracking filter state 8, \nx_p15: 1st lead-lag, \nx_p16: 2nd lead-lag, \nx_p17: 3rd lead-lag,\n\nn_states::Int: (Do not modify.) IEEEST has 17 states\nstates_types::Vector{StateTypes}: (Do not modify.) IEEEST has 17 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks1-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Ks1","text":"get_Ks1(value::PSS2B) -> Float64\n\n\nGet PSS2B Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks2-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Ks2","text":"get_Ks2(value::PSS2B) -> Float64\n\n\nGet PSS2B Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks3-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Ks3","text":"get_Ks3(value::PSS2B) -> Float64\n\n\nGet PSS2B Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_M_rtf-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_M_rtf","text":"get_M_rtf(value::PSS2B) -> Int64\n\n\nGet PSS2B M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_N_rtf-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_N_rtf","text":"get_N_rtf(value::PSS2B) -> Int64\n\n\nGet PSS2B N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T1-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T1","text":"get_T1(value::PSS2B) -> Float64\n\n\nGet PSS2B T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T10-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T10","text":"get_T10(value::PSS2B) -> Float64\n\n\nGet PSS2B T10.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T11-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T11","text":"get_T11(value::PSS2B) -> Float64\n\n\nGet PSS2B T11.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T2-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T2","text":"get_T2(value::PSS2B) -> Float64\n\n\nGet PSS2B T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T3-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T3","text":"get_T3(value::PSS2B) -> Float64\n\n\nGet PSS2B T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T4-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T4","text":"get_T4(value::PSS2B) -> Float64\n\n\nGet PSS2B T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T6-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T6","text":"get_T6(value::PSS2B) -> Float64\n\n\nGet PSS2B T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T7-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T7","text":"get_T7(value::PSS2B) -> Float64\n\n\nGet PSS2B T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T8-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T8","text":"get_T8(value::PSS2B) -> Float64\n\n\nGet PSS2B T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T9-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_T9","text":"get_T9(value::PSS2B) -> Float64\n\n\nGet PSS2B T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw1-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Tw1","text":"get_Tw1(value::PSS2B) -> Float64\n\n\nGet PSS2B Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw2-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Tw2","text":"get_Tw2(value::PSS2B) -> Float64\n\n\nGet PSS2B Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw3-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Tw3","text":"get_Tw3(value::PSS2B) -> Float64\n\n\nGet PSS2B Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw4-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Tw4","text":"get_Tw4(value::PSS2B) -> Float64\n\n\nGet PSS2B Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vs1_lim-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Vs1_lim","text":"get_Vs1_lim(value::PSS2B) -> Tuple{Float64, Float64}\n\n\nGet PSS2B Vs1_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vs2_lim-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Vs2_lim","text":"get_Vs2_lim(value::PSS2B) -> Tuple{Float64, Float64}\n\n\nGet PSS2B Vs2_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vst_lim-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_Vst_lim","text":"get_Vst_lim(value::PSS2B) -> Tuple{Float64, Float64}\n\n\nGet PSS2B Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::PSS2B) -> Dict{String, Any}\n\n\nGet PSS2B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_1-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_input_code_1","text":"get_input_code_1(value::PSS2B) -> Int64\n\n\nGet PSS2B input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_2-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_input_code_2","text":"get_input_code_2(value::PSS2B) -> Int64\n\n\nGet PSS2B input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::PSS2B) -> Int64\n\n\nGet PSS2B n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_1-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_remote_bus_control_1","text":"get_remote_bus_control_1(value::PSS2B) -> Int64\n\n\nGet PSS2B remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_2-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_remote_bus_control_2","text":"get_remote_bus_control_2(value::PSS2B) -> Int64\n\n\nGet PSS2B remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::PSS2B) -> Vector{Symbol}\n\n\nGet PSS2B states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states_types-Tuple{PSS2B}","page":"PSS","title":"PowerSystems.get_states_types","text":"get_states_types(value::PSS2B) -> Vector{StateTypes}\n\n\nGet PSS2B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks1!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Ks1!","text":"set_Ks1!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks2!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Ks2!","text":"set_Ks2!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks3!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Ks3!","text":"set_Ks3!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_M_rtf!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_M_rtf!","text":"set_M_rtf!(value::PSS2B, val) -> Any\n\n\nSet PSS2B M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_N_rtf!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_N_rtf!","text":"set_N_rtf!(value::PSS2B, val) -> Any\n\n\nSet PSS2B N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T1!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T1!","text":"set_T1!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T10!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T10!","text":"set_T10!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T10.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T11!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T11!","text":"set_T11!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T11.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T2!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T2!","text":"set_T2!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T3!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T3!","text":"set_T3!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T4!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T4!","text":"set_T4!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T6!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T6!","text":"set_T6!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T7!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T7!","text":"set_T7!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T8!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T8!","text":"set_T8!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T9!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_T9!","text":"set_T9!(value::PSS2B, val) -> Any\n\n\nSet PSS2B T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw1!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Tw1!","text":"set_Tw1!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw2!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Tw2!","text":"set_Tw2!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw3!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Tw3!","text":"set_Tw3!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw4!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Tw4!","text":"set_Tw4!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vs1_lim!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Vs1_lim!","text":"set_Vs1_lim!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Vs1_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vs2_lim!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Vs2_lim!","text":"set_Vs2_lim!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Vs2_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vst_lim!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_Vst_lim!","text":"set_Vst_lim!(value::PSS2B, val) -> Any\n\n\nSet PSS2B Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::PSS2B, val) -> Any\n\n\nSet PSS2B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_1!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_input_code_1!","text":"set_input_code_1!(value::PSS2B, val) -> Any\n\n\nSet PSS2B input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_2!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_input_code_2!","text":"set_input_code_2!(value::PSS2B, val) -> Any\n\n\nSet PSS2B input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_1!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_1!","text":"set_remote_bus_control_1!(value::PSS2B, val) -> Any\n\n\nSet PSS2B remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_2!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_2!","text":"set_remote_bus_control_2!(value::PSS2B, val) -> Any\n\n\nSet PSS2B remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_states_types!-Tuple{PSS2B, Any}","page":"PSS","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::PSS2B, val) -> Any\n\n\nSet PSS2B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSS2C","page":"PSS","title":"PSS2C","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/PSS2C.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.PSS2C","page":"PSS","title":"PowerSystems.PSS2C","text":"mutable struct PSS2C <: PSS\n input_code_1::Int\n remote_bus_control_1::Int\n input_code_2::Int\n remote_bus_control_2::Int\n M_rtf::Int\n N_rtf::Int\n Tw1::Float64\n Tw2::Float64\n T6::Float64\n Tw3::Float64\n Tw4::Float64\n T7::Float64\n Ks2::Float64\n Ks3::Float64\n T8::Float64\n T9::Float64\n Ks1::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n T4::Float64\n T10::Float64\n T11::Float64\n Vs1_lim::Tuple{Float64, Float64}\n Vs2_lim::Tuple{Float64, Float64}\n Vst_lim::Tuple{Float64, Float64}\n T12::Float64\n T13::Float64\n PSS_Hysteresis_param::Tuple{Float64, Float64}\n Xcomp::Float64\n Tcomp::Float64\n hysteresis_binary_logic::Int\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIEEE 421.5 2016 PSS2C IEEE Dual-Input Stabilizer Model\n\nArguments\n\ninput_code_1::Int: First Input Code for stabilizer, validation range: (1, 7)\nremote_bus_control_1::Int: First Input remote bus identification number for control. 0 identifies the local bus connected to this component\ninput_code_2::Int: Second Input Code for stabilizer, validation range: (1, 6)\nremote_bus_control_2::Int: Second Input remote bus identification number for control. 0 identifies the local bus connected to this component\nM_rtf::Int: M parameter for ramp tracking filter, validation range: (0, 8)\nN_rtf::Int: N parameter for ramp tracking filter, validation range: (0, 8)\nTw1::Float64: Time constant for first washout filter for first input, validation range: (eps(), nothing)\nTw2::Float64: Time constant for second washout filter for first input, validation range: (0, nothing)\nT6::Float64: Time constant for low-pass filter for first input, validation range: (0, nothing)\nTw3::Float64: Time constant for first washout filter for second input, validation range: (eps(), nothing)\nTw4::Float64: Time constant for second washout filter for second input, validation range: (0, nothing)\nT7::Float64: Time constant for low-pass filter for second input, validation range: (0, nothing)\nKs2::Float64: Gain for low-pass filter for second input, validation range: (0, nothing)\nKs3::Float64: Gain for second input, validation range: (0, nothing)\nT8::Float64: Time constant for ramp tracking filter, validation range: (0, nothing)\nT9::Float64: Time constant for ramp tracking filter, validation range: (eps(), nothing)\nKs1::Float64: Gain before lead-lag blocks, validation range: (0, nothing)\nT1::Float64: Time constant for first lead-lag block, validation range: (0, nothing)\nT2::Float64: Time constant for first lead-lag block, validation range: (0, nothing)\nT3::Float64: Time constant for second lead-lag block, validation range: (0, nothing)\nT4::Float64: Time constant for second lead-lag block, validation range: (0, nothing)\nT10::Float64: Time constant for third lead-lag block, validation range: (0, nothing)\nT11::Float64: Time constant for third lead-lag block, validation range: (0, nothing)\nVs1_lim::Tuple{Float64, Float64}: First input limits (Vs1_min, Vs1_max)\nVs2_lim::Tuple{Float64, Float64}: Second input limits (Vs2_min, Vs2_max)\nVst_lim::Tuple{Float64, Float64}: PSS output limits (Vst_min, Vst_max)\nT12::Float64: Time constant for fourth lead-lag block, validation range: (0, nothing)\nT13::Float64: Time constant for fourth lead-lag block, validation range: (0, nothing)\nPSS_Hysteresis_param::Tuple{Float64, Float64}: PSS output hysteresis parameters (PSSOFF, PSSON)\nXcomp::Float64: Stator Leakage Reactance, validation range: (0, nothing)\nTcomp::Float64: Time measured with compensated frequency, validation range: (eps(), nothing)\nhysteresis_binary_logic::Int: (default: 1) Hysteresis memory variable\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nx_p1: 1st washout 1st input, \nx_p2: 2nd washout 1st input, \nx_p3: transducer 1st input, \nx_p4: 1st washout 2nd input, \nx_p5: 2nd washout 2nd input, \nx_p6: transducer 2nd input, \nx_p7: ramp tracking filter state 1, \nx_p8: ramp tracking filter state 2, \nx_p9: ramp tracking filter state 3, \nx_p10: ramp tracking filter state 4, \nx_p11: ramp tracking filter state 5, \nx_p12: ramp tracking filter state 6, \nx_p13: ramp tracking filter state 7, \nx_p14: ramp tracking filter state 8, \nx_p15: 1st lead-lag, \nx_p16: 2nd lead-lag, \nx_p17: 3rd lead-lag, \nx_p18: 4th lead-lag, \nx_p19: washout block for compensated frequency,\n\nn_states::Int: (Do not modify.) IEEEST has 19 states\nstates_types::Vector{StateTypes}: (Do not modify.) IEEEST has 19 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks1-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Ks1","text":"get_Ks1(value::PSS2C) -> Float64\n\n\nGet PSS2C Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks2-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Ks2","text":"get_Ks2(value::PSS2C) -> Float64\n\n\nGet PSS2C Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Ks3-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Ks3","text":"get_Ks3(value::PSS2C) -> Float64\n\n\nGet PSS2C Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_M_rtf-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_M_rtf","text":"get_M_rtf(value::PSS2C) -> Int64\n\n\nGet PSS2C M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_N_rtf-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_N_rtf","text":"get_N_rtf(value::PSS2C) -> Int64\n\n\nGet PSS2C N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_PSS_Hysteresis_param-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_PSS_Hysteresis_param","text":"get_PSS_Hysteresis_param(\n value::PSS2C\n) -> Tuple{Float64, Float64}\n\n\nGet PSS2C PSS_Hysteresis_param.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T1-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T1","text":"get_T1(value::PSS2C) -> Float64\n\n\nGet PSS2C T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T10-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T10","text":"get_T10(value::PSS2C) -> Float64\n\n\nGet PSS2C T10.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T11-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T11","text":"get_T11(value::PSS2C) -> Float64\n\n\nGet PSS2C T11.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T12-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T12","text":"get_T12(value::PSS2C) -> Float64\n\n\nGet PSS2C T12.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T13-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T13","text":"get_T13(value::PSS2C) -> Float64\n\n\nGet PSS2C T13.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T2-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T2","text":"get_T2(value::PSS2C) -> Float64\n\n\nGet PSS2C T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T3-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T3","text":"get_T3(value::PSS2C) -> Float64\n\n\nGet PSS2C T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T4-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T4","text":"get_T4(value::PSS2C) -> Float64\n\n\nGet PSS2C T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T6-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T6","text":"get_T6(value::PSS2C) -> Float64\n\n\nGet PSS2C T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T7-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T7","text":"get_T7(value::PSS2C) -> Float64\n\n\nGet PSS2C T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T8-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T8","text":"get_T8(value::PSS2C) -> Float64\n\n\nGet PSS2C T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T9-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_T9","text":"get_T9(value::PSS2C) -> Float64\n\n\nGet PSS2C T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tcomp-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Tcomp","text":"get_Tcomp(value::PSS2C) -> Float64\n\n\nGet PSS2C Tcomp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw1-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Tw1","text":"get_Tw1(value::PSS2C) -> Float64\n\n\nGet PSS2C Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw2-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Tw2","text":"get_Tw2(value::PSS2C) -> Float64\n\n\nGet PSS2C Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw3-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Tw3","text":"get_Tw3(value::PSS2C) -> Float64\n\n\nGet PSS2C Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Tw4-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Tw4","text":"get_Tw4(value::PSS2C) -> Float64\n\n\nGet PSS2C Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vs1_lim-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Vs1_lim","text":"get_Vs1_lim(value::PSS2C) -> Tuple{Float64, Float64}\n\n\nGet PSS2C Vs1_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vs2_lim-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Vs2_lim","text":"get_Vs2_lim(value::PSS2C) -> Tuple{Float64, Float64}\n\n\nGet PSS2C Vs2_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Vst_lim-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Vst_lim","text":"get_Vst_lim(value::PSS2C) -> Tuple{Float64, Float64}\n\n\nGet PSS2C Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_Xcomp-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_Xcomp","text":"get_Xcomp(value::PSS2C) -> Float64\n\n\nGet PSS2C Xcomp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::PSS2C) -> Dict{String, Any}\n\n\nGet PSS2C ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_hysteresis_binary_logic-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_hysteresis_binary_logic","text":"get_hysteresis_binary_logic(value::PSS2C) -> Int64\n\n\nGet PSS2C hysteresis_binary_logic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_1-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_input_code_1","text":"get_input_code_1(value::PSS2C) -> Int64\n\n\nGet PSS2C input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_input_code_2-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_input_code_2","text":"get_input_code_2(value::PSS2C) -> Int64\n\n\nGet PSS2C input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::PSS2C) -> Int64\n\n\nGet PSS2C n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_1-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_remote_bus_control_1","text":"get_remote_bus_control_1(value::PSS2C) -> Int64\n\n\nGet PSS2C remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_remote_bus_control_2-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_remote_bus_control_2","text":"get_remote_bus_control_2(value::PSS2C) -> Int64\n\n\nGet PSS2C remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::PSS2C) -> Vector{Symbol}\n\n\nGet PSS2C states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states_types-Tuple{PSS2C}","page":"PSS","title":"PowerSystems.get_states_types","text":"get_states_types(value::PSS2C) -> Vector{StateTypes}\n\n\nGet PSS2C states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks1!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Ks1!","text":"set_Ks1!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Ks1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks2!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Ks2!","text":"set_Ks2!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Ks2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Ks3!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Ks3!","text":"set_Ks3!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Ks3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_M_rtf!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_M_rtf!","text":"set_M_rtf!(value::PSS2C, val) -> Any\n\n\nSet PSS2C M_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_N_rtf!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_N_rtf!","text":"set_N_rtf!(value::PSS2C, val) -> Any\n\n\nSet PSS2C N_rtf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_PSS_Hysteresis_param!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_PSS_Hysteresis_param!","text":"set_PSS_Hysteresis_param!(value::PSS2C, val) -> Any\n\n\nSet PSS2C PSS_Hysteresis_param.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T1!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T1!","text":"set_T1!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T10!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T10!","text":"set_T10!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T10.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T11!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T11!","text":"set_T11!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T11.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T12!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T12!","text":"set_T12!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T12.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T13!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T13!","text":"set_T13!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T13.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T2!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T2!","text":"set_T2!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T3!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T3!","text":"set_T3!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T4!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T4!","text":"set_T4!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T6!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T6!","text":"set_T6!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T7!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T7!","text":"set_T7!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T8!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T8!","text":"set_T8!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T9!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_T9!","text":"set_T9!(value::PSS2C, val) -> Any\n\n\nSet PSS2C T9.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tcomp!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Tcomp!","text":"set_Tcomp!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Tcomp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw1!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Tw1!","text":"set_Tw1!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Tw1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw2!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Tw2!","text":"set_Tw2!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Tw2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw3!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Tw3!","text":"set_Tw3!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Tw3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Tw4!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Tw4!","text":"set_Tw4!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Tw4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vs1_lim!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Vs1_lim!","text":"set_Vs1_lim!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Vs1_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vs2_lim!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Vs2_lim!","text":"set_Vs2_lim!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Vs2_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Vst_lim!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Vst_lim!","text":"set_Vst_lim!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Vst_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_Xcomp!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_Xcomp!","text":"set_Xcomp!(value::PSS2C, val) -> Any\n\n\nSet PSS2C Xcomp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::PSS2C, val) -> Any\n\n\nSet PSS2C ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_hysteresis_binary_logic!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_hysteresis_binary_logic!","text":"set_hysteresis_binary_logic!(value::PSS2C, val) -> Any\n\n\nSet PSS2C hysteresis_binary_logic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_1!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_input_code_1!","text":"set_input_code_1!(value::PSS2C, val) -> Any\n\n\nSet PSS2C input_code_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_input_code_2!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_input_code_2!","text":"set_input_code_2!(value::PSS2C, val) -> Any\n\n\nSet PSS2C input_code_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_1!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_1!","text":"set_remote_bus_control_1!(value::PSS2C, val) -> Any\n\n\nSet PSS2C remote_bus_control_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_remote_bus_control_2!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_remote_bus_control_2!","text":"set_remote_bus_control_2!(value::PSS2C, val) -> Any\n\n\nSet PSS2C remote_bus_control_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_states_types!-Tuple{PSS2C, Any}","page":"PSS","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::PSS2C, val) -> Any\n\n\nSet PSS2C states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSSFixed","page":"PSS","title":"PSSFixed","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/PSSFixed.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.PSSFixed","page":"PSS","title":"PowerSystems.PSSFixed","text":"mutable struct PSSFixed <: PSS\n V_pss::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a PSS that returns a fixed voltage to add to the reference for the AVR\n\nArguments\n\nV_pss::Float64: Fixed voltage stabilization signal in pu (DEVICE_BASE), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) PSSFixed has no states\nn_states::Int: (Do not modify.) PSSFixed has no states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_V_pss-Tuple{PSSFixed}","page":"PSS","title":"PowerSystems.get_V_pss","text":"get_V_pss(value::PSSFixed) -> Float64\n\n\nGet PSSFixed V_pss.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{PSSFixed}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::PSSFixed) -> Dict{String, Any}\n\n\nGet PSSFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{PSSFixed}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::PSSFixed) -> Int64\n\n\nGet PSSFixed n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{PSSFixed}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::PSSFixed) -> Vector{Symbol}\n\n\nGet PSSFixed states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_V_pss!-Tuple{PSSFixed, Any}","page":"PSS","title":"PowerSystems.set_V_pss!","text":"set_V_pss!(value::PSSFixed, val) -> Any\n\n\nSet PSSFixed V_pss.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{PSSFixed, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::PSSFixed, val) -> Any\n\n\nSet PSSFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PSSSimple","page":"PSS","title":"PSSSimple","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/PSSSimple.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.PSSSimple","page":"PSS","title":"PowerSystems.PSSSimple","text":"mutable struct PSSSimple <: PSS\n K_ω::Float64\n K_p::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a PSS that returns a proportional droop voltage to add to the reference for the AVR\n\nArguments\n\nK_ω::Float64: Proportional gain for frequency, validation range: (0, nothing)\nK_p::Float64: Proportional gain for active power, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) PSSSimple has no states\nn_states::Int: (Do not modify.) PSSSimple has no states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_K_p-Tuple{PSSSimple}","page":"PSS","title":"PowerSystems.get_K_p","text":"get_K_p(value::PSSSimple) -> Float64\n\n\nGet PSSSimple K_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_K_ω-Tuple{PSSSimple}","page":"PSS","title":"PowerSystems.get_K_ω","text":"get_K_ω(value::PSSSimple) -> Float64\n\n\nGet PSSSimple K_ω.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{PSSSimple}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::PSSSimple) -> Dict{String, Any}\n\n\nGet PSSSimple ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{PSSSimple}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::PSSSimple) -> Int64\n\n\nGet PSSSimple n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{PSSSimple}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::PSSSimple) -> Vector{Symbol}\n\n\nGet PSSSimple states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_K_p!-Tuple{PSSSimple, Any}","page":"PSS","title":"PowerSystems.set_K_p!","text":"set_K_p!(value::PSSSimple, val) -> Any\n\n\nSet PSSSimple K_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_K_ω!-Tuple{PSSSimple, Any}","page":"PSS","title":"PowerSystems.set_K_ω!","text":"set_K_ω!(value::PSSSimple, val) -> Any\n\n\nSet PSSSimple K_ω.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{PSSSimple, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::PSSSimple, val) -> Any\n\n\nSet PSSSimple ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#STAB1","page":"PSS","title":"STAB1","text":"","category":"section"},{"location":"model_library/generated_PSS/","page":"PSS","title":"PSS","text":"Modules = [PowerSystems]\nPages = [\"/STAB1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PSS/#PowerSystems.STAB1","page":"PSS","title":"PowerSystems.STAB1","text":"mutable struct STAB1 <: PSS\n KT::Float64\n T::Float64\n T1T3::Float64\n T3::Float64\n T2T4::Float64\n T4::Float64\n H_lim::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nSpeed-Sensitive Stabilizing Model\n\nArguments\n\nKT::Float64: K/T for washout filter, validation range: (0, nothing)\nT::Float64: Time constant for washout filter, validation range: (0.01, nothing)\nT1T3::Float64: Time constant division T1/T3, validation range: (0, nothing)\nT3::Float64: Time constant, validation range: (0.01, nothing)\nT2T4::Float64: Time constant division T2/T4, validation range: (0, nothing)\nT4::Float64: Time constant, validation range: (0.01, nothing)\nH_lim::Float64: PSS output limit, validation range: (0, 0.5)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nx_p1: washout filter,\nx_p2: T1/T3 lead-lag block, \nx_p3: T2/T4 lead-lag block,\n\nn_states::Int: (Do not modify.) STAB1 has 3 states\nstates_types::Vector{StateTypes}: (Do not modify.) STAB1 has 3 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PSS/#PowerSystems.get_H_lim-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_H_lim","text":"get_H_lim(value::STAB1) -> Float64\n\n\nGet STAB1 H_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_KT-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_KT","text":"get_KT(value::STAB1) -> Float64\n\n\nGet STAB1 KT.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_T","text":"get_T(value::STAB1) -> Float64\n\n\nGet STAB1 T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T1T3-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_T1T3","text":"get_T1T3(value::STAB1) -> Float64\n\n\nGet STAB1 T1T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T2T4-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_T2T4","text":"get_T2T4(value::STAB1) -> Float64\n\n\nGet STAB1 T2T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T3-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_T3","text":"get_T3(value::STAB1) -> Float64\n\n\nGet STAB1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_T4-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_T4","text":"get_T4(value::STAB1) -> Float64\n\n\nGet STAB1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_ext-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_ext","text":"get_ext(value::STAB1) -> Dict{String, Any}\n\n\nGet STAB1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_n_states-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_n_states","text":"get_n_states(value::STAB1) -> Int64\n\n\nGet STAB1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_states","text":"get_states(value::STAB1) -> Vector{Symbol}\n\n\nGet STAB1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.get_states_types-Tuple{STAB1}","page":"PSS","title":"PowerSystems.get_states_types","text":"get_states_types(value::STAB1) -> Vector{StateTypes}\n\n\nGet STAB1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_H_lim!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_H_lim!","text":"set_H_lim!(value::STAB1, val) -> Any\n\n\nSet STAB1 H_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_KT!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_KT!","text":"set_KT!(value::STAB1, val) -> Any\n\n\nSet STAB1 KT.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_T!","text":"set_T!(value::STAB1, val) -> Any\n\n\nSet STAB1 T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T1T3!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_T1T3!","text":"set_T1T3!(value::STAB1, val) -> Any\n\n\nSet STAB1 T1T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T2T4!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_T2T4!","text":"set_T2T4!(value::STAB1, val) -> Any\n\n\nSet STAB1 T2T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T3!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_T3!","text":"set_T3!(value::STAB1, val) -> Any\n\n\nSet STAB1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_T4!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_T4!","text":"set_T4!(value::STAB1, val) -> Any\n\n\nSet STAB1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_ext!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_ext!","text":"set_ext!(value::STAB1, val) -> Any\n\n\nSet STAB1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PSS/#PowerSystems.set_states_types!-Tuple{STAB1, Any}","page":"PSS","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::STAB1, val) -> Any\n\n\nSet STAB1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#TwoTerminalHVDCLine","page":"TwoTerminalHVDCLine","title":"TwoTerminalHVDCLine","text":"","category":"section"},{"location":"model_library/generated_TwoTerminalHVDCLine/","page":"TwoTerminalHVDCLine","title":"TwoTerminalHVDCLine","text":"Modules = [PowerSystems]\nPages = [\"generated/TwoTerminalHVDCLine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.TwoTerminalHVDCLine","page":"TwoTerminalHVDCLine","title":"PowerSystems.TwoTerminalHVDCLine","text":"mutable struct TwoTerminalHVDCLine <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n arc::Arc\n active_power_limits_from::MinMax\n active_power_limits_to::MinMax\n reactive_power_limits_from::MinMax\n reactive_power_limits_to::MinMax\n loss::NamedTuple{(:l0, :l1), Tuple{Float64, Float64}}\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA High Voltage DC line, which must be connected to an ACBus on each end.\n\nThis model is appropriate for operational simulations with a linearized DC power flow approximation with losses proportional to the power flow. For modeling a DC network, see TModelHVDCLine\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nactive_power_flow::Float64: Initial condition of active power flow on the line (MW)\narc::Arc: An Arc defining this line from a bus to another bus\nactive_power_limits_from::MinMax: Minimum and maximum active power flows to the FROM node (MW)\nactive_power_limits_to::MinMax: Minimum and maximum active power flows to the TO node (MW)\nreactive_power_limits_from::MinMax: Minimum and maximum reactive power limits to the FROM node (MVAR)\nreactive_power_limits_to::MinMax: Minimum and maximum reactive power limits to the TO node (MVAR)\nloss::NamedTuple{(:l0, :l1), Tuple{Float64, Float64}}: Linear loss model coefficients, where l0 = constant loss (MW) and l1 = linearly proportional loss rate (MW of loss per MW of flow)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TwoTerminalHVDCLine/#InfrastructureSystems.get_name-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"InfrastructureSystems.get_name","text":"get_name(value::TwoTerminalHVDCLine) -> String\n\n\nGet TwoTerminalHVDCLine name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_active_power_flow-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::TwoTerminalHVDCLine) -> Any\n\n\nGet TwoTerminalHVDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_active_power_limits_from-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_active_power_limits_from","text":"get_active_power_limits_from(\n value::TwoTerminalHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TwoTerminalHVDCLine active_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_active_power_limits_to-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_active_power_limits_to","text":"get_active_power_limits_to(\n value::TwoTerminalHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TwoTerminalHVDCLine active_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_arc-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_arc","text":"get_arc(value::TwoTerminalHVDCLine) -> Arc\n\n\nGet TwoTerminalHVDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_available-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_available","text":"get_available(value::TwoTerminalHVDCLine) -> Bool\n\n\nGet TwoTerminalHVDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_ext-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_ext","text":"get_ext(value::TwoTerminalHVDCLine) -> Dict{String, Any}\n\n\nGet TwoTerminalHVDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_loss-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_loss","text":"get_loss(\n value::TwoTerminalHVDCLine\n) -> @NamedTuple{l0::Float64, l1::Float64}\n\n\nGet TwoTerminalHVDCLine loss.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_reactive_power_limits_from-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_reactive_power_limits_from","text":"get_reactive_power_limits_from(\n value::TwoTerminalHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TwoTerminalHVDCLine reactive_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_reactive_power_limits_to-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_reactive_power_limits_to","text":"get_reactive_power_limits_to(\n value::TwoTerminalHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TwoTerminalHVDCLine reactive_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.get_services-Tuple{TwoTerminalHVDCLine}","page":"TwoTerminalHVDCLine","title":"PowerSystems.get_services","text":"get_services(value::TwoTerminalHVDCLine) -> Vector{Service}\n\n\nGet TwoTerminalHVDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_active_power_flow!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_active_power_limits_from!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_active_power_limits_from!","text":"set_active_power_limits_from!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine active_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_active_power_limits_to!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_active_power_limits_to!","text":"set_active_power_limits_to!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine active_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_arc!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_arc!","text":"set_arc!(value::TwoTerminalHVDCLine, val) -> Any\n\n\nSet TwoTerminalHVDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_available!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_available!","text":"set_available!(value::TwoTerminalHVDCLine, val) -> Any\n\n\nSet TwoTerminalHVDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_ext!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_ext!","text":"set_ext!(value::TwoTerminalHVDCLine, val) -> Any\n\n\nSet TwoTerminalHVDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_loss!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_loss!","text":"set_loss!(value::TwoTerminalHVDCLine, val) -> Any\n\n\nSet TwoTerminalHVDCLine loss.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_reactive_power_limits_from!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_reactive_power_limits_from!","text":"set_reactive_power_limits_from!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine reactive_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_reactive_power_limits_to!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_reactive_power_limits_to!","text":"set_reactive_power_limits_to!(\n value::TwoTerminalHVDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalHVDCLine reactive_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalHVDCLine/#PowerSystems.set_services!-Tuple{TwoTerminalHVDCLine, Any}","page":"TwoTerminalHVDCLine","title":"PowerSystems.set_services!","text":"set_services!(value::TwoTerminalHVDCLine, val) -> Any\n\n\nSet TwoTerminalHVDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#LoadZone","page":"LoadZone","title":"LoadZone","text":"","category":"section"},{"location":"model_library/generated_LoadZone/","page":"LoadZone","title":"LoadZone","text":"Modules = [PowerSystems]\nPages = [\"generated/LoadZone.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_LoadZone/#PowerSystems.LoadZone","page":"LoadZone","title":"PowerSystems.LoadZone","text":"mutable struct LoadZone <: AggregationTopology\n name::String\n peak_active_power::Float64\n peak_reactive_power::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA load zone for electricity price analysis.\n\nThe load zone can be specified when defining each ACBus or DCBus in the zone\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\npeak_active_power::Float64: Peak active power in the zone (MW)\npeak_reactive_power::Float64: Peak reactive power in the zone (MVAR)\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_LoadZone/#InfrastructureSystems.get_name-Tuple{LoadZone}","page":"LoadZone","title":"InfrastructureSystems.get_name","text":"get_name(value::LoadZone) -> String\n\n\nGet LoadZone name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.get_ext-Tuple{LoadZone}","page":"LoadZone","title":"PowerSystems.get_ext","text":"get_ext(value::LoadZone) -> Dict{String, Any}\n\n\nGet LoadZone ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.get_peak_active_power-Tuple{LoadZone}","page":"LoadZone","title":"PowerSystems.get_peak_active_power","text":"get_peak_active_power(value::LoadZone) -> Any\n\n\nGet LoadZone peak_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.get_peak_reactive_power-Tuple{LoadZone}","page":"LoadZone","title":"PowerSystems.get_peak_reactive_power","text":"get_peak_reactive_power(value::LoadZone) -> Any\n\n\nGet LoadZone peak_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.set_ext!-Tuple{LoadZone, Any}","page":"LoadZone","title":"PowerSystems.set_ext!","text":"set_ext!(value::LoadZone, val) -> Any\n\n\nSet LoadZone ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.set_peak_active_power!-Tuple{LoadZone, Any}","page":"LoadZone","title":"PowerSystems.set_peak_active_power!","text":"set_peak_active_power!(value::LoadZone, val) -> Any\n\n\nSet LoadZone peak_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_LoadZone/#PowerSystems.set_peak_reactive_power!-Tuple{LoadZone, Any}","page":"LoadZone","title":"PowerSystems.set_peak_reactive_power!","text":"set_peak_reactive_power!(value::LoadZone, val) -> Any\n\n\nSet LoadZone peak_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#Dynamic-Branch","page":"Dynamic Lines","title":"Dynamic Branch","text":"","category":"section"},{"location":"model_library/dynamic_branch/","page":"Dynamic Lines","title":"Dynamic Lines","text":"Modules = [PowerSystems]\nPages = [\"models/dynamic_branch.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/dynamic_branch/#PowerSystems.DynamicBranch","page":"Dynamic Lines","title":"PowerSystems.DynamicBranch","text":"Extends the branch type to add the information required for dynamic modeling of branches. Includes the fields for the states and the number of states\n\nArguments\n\nbranch::ACBranch\n\n\n\n\n\n","category":"type"},{"location":"model_library/dynamic_branch/#PowerSystems.get_active_power_flow-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::DynamicBranch)\n\n\nGet DynamicBranch activepowerflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_angle_limits-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_angle_limits","text":"get_angle_limits(\n value::DynamicBranch\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet DynamicBranch angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_arc-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_arc","text":"get_arc(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_available-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_available","text":"get_available(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_b-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_b","text":"get_b(\n value::DynamicBranch\n) -> @NamedTuple{from::Float64, to::Float64}\n\n\nGet DynamicBranch b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_ext-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_ext","text":"get_ext(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_n_states-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_n_states","text":"get_n_states(value::DynamicBranch) -> Int64\n\n\nGet n_states\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_r-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_r","text":"get_r(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_rating-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_rating","text":"get_rating(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_reactive_power_flow-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(value::DynamicBranch)\n\n\nGet DynamicBranch reactivepowerflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_services-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_services","text":"get_services(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_states-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_states","text":"get_states(value::DynamicBranch) -> Vector{Symbol}\n\n\nGet states\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.get_x-Tuple{DynamicBranch}","page":"Dynamic Lines","title":"PowerSystems.get_x","text":"get_x(value::DynamicBranch) -> Any\n\n\nGet DynamicBranch x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_active_power_flow!-Tuple{DynamicBranch, Float64}","page":"Dynamic Lines","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(\n value::DynamicBranch,\n val::Float64\n) -> Any\n\n\nSet DynamicBranch activepowerflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_angle_limits!-Tuple{DynamicBranch, @NamedTuple{min::Float64, max::Float64}}","page":"Dynamic Lines","title":"PowerSystems.set_angle_limits!","text":"set_angle_limits!(\n value::DynamicBranch,\n val::@NamedTuple{min::Float64, max::Float64}\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nSet DynamicBranch angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_arc!-Tuple{DynamicBranch, Arc}","page":"Dynamic Lines","title":"PowerSystems.set_arc!","text":"set_arc!(value::DynamicBranch, val::Arc) -> Any\n\n\nSet DynamicBranch arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_available!-Tuple{DynamicBranch, Bool}","page":"Dynamic Lines","title":"PowerSystems.set_available!","text":"set_available!(value::DynamicBranch, val::Bool) -> Any\n\n\nSet DynamicBranch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_b!-Tuple{DynamicBranch, Any}","page":"Dynamic Lines","title":"PowerSystems.set_b!","text":"set_b!(value::DynamicBranch, val) -> Any\n\n\nSet DynamicBranch b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_ext!-Tuple{DynamicBranch, Dict{String, Any}}","page":"Dynamic Lines","title":"PowerSystems.set_ext!","text":"set_ext!(\n value::DynamicBranch,\n val::Dict{String, Any}\n) -> Any\n\n\nSet DynamicBranch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_n_states!-Tuple{DynamicBranch, Int64}","page":"Dynamic Lines","title":"PowerSystems.set_n_states!","text":"set_n_states!(value::DynamicBranch, val::Int64) -> Int64\n\n\nSet n_states\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_r!-Tuple{DynamicBranch, Float64}","page":"Dynamic Lines","title":"PowerSystems.set_r!","text":"set_r!(value::DynamicBranch, val::Float64) -> Any\n\n\nSet DynamicBranch r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_rating!-Tuple{DynamicBranch, Float64}","page":"Dynamic Lines","title":"PowerSystems.set_rating!","text":"set_rating!(value::DynamicBranch, val::Float64) -> Any\n\n\nSet DynamicBranch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_reactive_power_flow!-Tuple{DynamicBranch, Float64}","page":"Dynamic Lines","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(\n value::DynamicBranch,\n val::Float64\n) -> Any\n\n\nSet DynamicBranch reactivepowerflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_services!-Tuple{DynamicBranch, Vector{Service}}","page":"Dynamic Lines","title":"PowerSystems.set_services!","text":"set_services!(\n value::DynamicBranch,\n val::Vector{Service}\n) -> Any\n\n\nSet DynamicBranch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_states!-Tuple{DynamicBranch, Vector{Symbol}}","page":"Dynamic Lines","title":"PowerSystems.set_states!","text":"set_states!(\n value::DynamicBranch,\n val::Vector{Symbol}\n) -> Vector{Symbol}\n\n\nSet states\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_branch/#PowerSystems.set_x!-Tuple{DynamicBranch, Float64}","page":"Dynamic Lines","title":"PowerSystems.set_x!","text":"set_x!(value::DynamicBranch, val::Float64) -> Any\n\n\nSet DynamicBranch x.\n\n\n\n\n\n","category":"method"},{"location":"tutorials/powersystembuilder/#psb","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"tutorials/powersystembuilder/#Introduction","page":"PowerSystemCaseBuilder","title":"Introduction","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"PowerSystemCaseBuilder.jl provides a utility to manage a library of Systems. The package has utilities to list the available system data and to create instances of each system. By keeping track of which systems have been constructed locally, it makes the re-instantiation of systems efficient by utilizing the serialization features and avoiding the parsing process for systems that have been previously constructed.","category":"page"},{"location":"tutorials/powersystembuilder/#Dependencies","page":"PowerSystemCaseBuilder","title":"Dependencies","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"using PowerSystemCaseBuilder","category":"page"},{"location":"tutorials/powersystembuilder/#List-all-systems-in-library","page":"PowerSystemCaseBuilder","title":"List all systems in library","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"show_systems()","category":"page"},{"location":"tutorials/powersystembuilder/#Systems-can-be-listed-by-category","page":"PowerSystemCaseBuilder","title":"Systems can be listed by category","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"The available categories can be displayed with:","category":"page"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"show_categories()","category":"page"},{"location":"tutorials/powersystembuilder/#Create-a-System","page":"PowerSystemCaseBuilder","title":"Create a System","text":"","category":"section"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"The first time this is run, it will parse csv data. Subsequent executions will rely on serialized data and will execute much faster since the employ deserialization","category":"page"},{"location":"tutorials/powersystembuilder/","page":"PowerSystemCaseBuilder","title":"PowerSystemCaseBuilder","text":"sys = build_system(PSITestSystems, \"c_sys5_uc\")","category":"page"},{"location":"model_developer_guide/extending_parsing/#Extending-Parsing-Capabilities","page":"Extending Parsing","title":"Extending Parsing Capabilities","text":"","category":"section"},{"location":"model_developer_guide/extending_parsing/#Extending-PowerSystemTableData-parsing","page":"Extending Parsing","title":"Extending PowerSystemTableData parsing","text":"","category":"section"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"This page describes how developers should read columns from raw data files.","category":"page"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"The main point is that you should not read individual hard-coded column names from DataFrames. The parsing code includes mapping functionality that allows you to use PowerSystems-standard names while letting the users define their own custom names.","category":"page"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"Note: This assumes that you are familiar with the PowerSystems Table Data Parser.","category":"page"},{"location":"model_developer_guide/extending_parsing/#Procedure","page":"Extending Parsing","title":"Procedure","text":"","category":"section"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"Add an entry to the array of parameters for your category in src/descriptors/power_system_inputs.json according to the following:\nUse snake_case for the name field.\nThe fields name and description are required.\nTry to use a name that is generic and not specific to one dataset.\nIt is recommended that you define unit.\nIf PowerSystems expects the value to be per-unit then you must specify system_per_unit=true.\nPowerSystems has two commonly-used datasets with customized user config files: PowerSystemsTestData and RTS_GMLC. Update both of these files and submit pull requests.\nParse the raw data like in this example:","category":"page"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"function demo_bus_csv_parser!(data::PowerSystemTableData)\n for bus in iterate_rows(data, BUS::InputCategory)\n @show bus.name, bus.max_active_power, bus.max_reactive_power\n end\nend","category":"page"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"iterate_rows returns a NamedTuple where each name defined in src/descriptors/power_system_inputs.json is a field.","category":"page"},{"location":"model_developer_guide/extending_parsing/#Extending-PSS/e-Dynamic-Parsing-Capabilities","page":"Extending Parsing","title":"Extending PSS/e Dynamic Parsing Capabilities","text":"","category":"section"},{"location":"model_developer_guide/extending_parsing/","page":"Extending Parsing","title":"Extending Parsing","text":"UNDER CONSTRUCTION","category":"page"},{"location":"model_library/cost_curves/#Variable-Cost-Curves","page":"Variable Cost Curves","title":"Variable Cost Curves","text":"","category":"section"},{"location":"model_library/cost_curves/","page":"Variable Cost Curves","title":"Variable Cost Curves","text":"CostCurve\nFuelCurve","category":"page"},{"location":"model_library/cost_curves/#PowerSystems.CostCurve","page":"Variable Cost Curves","title":"PowerSystems.CostCurve","text":"@kwdef struct CostCurve{T <: ValueCurve} <: ProductionVariableCostCurve{T}\n value_curve::T\n power_units::UnitSystem = UnitSystem.NATURAL_UNITS\n vom_cost::LinearCurve = LinearCurve(0.0)\nend\n\nDirect representation of the variable operation cost of a power plant in currency. Composed of a ValueCurve that may represent input-output, incremental, or average rate data. The default units for the x-axis are megawatts and can be specified with power_units.\n\nArguments\n\nvalue_curve::T: The underlying ValueCurve representation of this ProductionVariableCostCurve\npower_units::UnitSystem = UnitSystem.NATURAL_UNITS: The units for the x-axis of the curve; defaults to natural units (megawatts)\nvom_cost::LinearCurve = LinearCurve(0.0): Additional proportional Variable Operation and Maintenance cost in currency/(power_unit h)\n\n\n\n\n\n","category":"type"},{"location":"model_library/cost_curves/#PowerSystems.FuelCurve","page":"Variable Cost Curves","title":"PowerSystems.FuelCurve","text":"@kwdef struct FuelCurve{T <: ValueCurve} <: ProductionVariableCostCurve{T}\n value_curve::T\n power_units::UnitSystem = UnitSystem.NATURAL_UNITS\n fuel_cost::Union{Float64, TimeSeriesKey}\n vom_cost::LinearCurve = LinearCurve(0.0)\nend\n\nRepresentation of the variable operation cost of a power plant in terms of fuel (MBTU, liters, m^3, etc.), coupled with a conversion factor between fuel and currency. Composed of a ValueCurve that may represent input-output, incremental, or average rate data. The default units for the x-axis are megawatts and can be specified with power_units.\n\nArguments\n\nvalue_curve::T: The underlying ValueCurve representation of this ProductionVariableCostCurve\npower_units::UnitSystem = UnitSystem.NATURAL_UNITS: The units for the x-axis of the curve; defaults to natural units (megawatts)\nfuel_cost::Union{Float64, TimeSeriesKey}: Either a fixed value for fuel cost or the key to a fuel cost time series\nvom_cost::LinearCurve = LinearCurve(0.0): Additional proportional Variable Operation and Maintenance cost in currency/(power_unit h)\n\n\n\n\n\n","category":"type"},{"location":"model_library/cost_curves/#[ValueCurve](@ref)s","page":"Variable Cost Curves","title":"ValueCurves","text":"","category":"section"},{"location":"model_library/cost_curves/","page":"Variable Cost Curves","title":"Variable Cost Curves","text":"LinearCurve\nQuadraticCurve\nPiecewisePointCurve\nPiecewiseIncrementalCurve\nPiecewiseAverageCurve","category":"page"},{"location":"model_library/cost_curves/#PowerSystems.LinearCurve","page":"Variable Cost Curves","title":"PowerSystems.LinearCurve","text":"LinearCurve(proportional_term::Float64, constant_term::Float64)\n\nA linear input-output curve, representing a constant marginal rate. May have zero no-load cost (i.e., constant average rate) or not.\n\nArguments\n\nproportional_term::Float64: marginal rate\nconstant_term::Float64: optional, cost at zero production, defaults to 0.0\n\n\n\n\n\n","category":"type"},{"location":"model_library/cost_curves/#PowerSystems.QuadraticCurve","page":"Variable Cost Curves","title":"PowerSystems.QuadraticCurve","text":"QuadraticCurve(quadratic_term::Float64, proportional_term::Float64, constant_term::Float64)\n\nA quadratic input-output curve, may have nonzero no-load cost.\n\nArguments\n\nquadratic_term::Float64: quadratic term of the curve\nproportional_term::Float64: proportional term of the curve\nconstant_term::Float64: constant term of the curve\n\n\n\n\n\n","category":"type"},{"location":"model_library/cost_curves/#PowerSystems.PiecewisePointCurve","page":"Variable Cost Curves","title":"PowerSystems.PiecewisePointCurve","text":"PiecewisePointCurve(points::Vector{Tuple{Float64, Float64}})\n\nA piecewise linear curve specified by cost values at production points.\n\nArguments\n\npoints::Vector{Tuple{Float64, Float64}} or similar: vector of (production, cost) pairs\n\n\n\n\n\n","category":"type"},{"location":"model_library/cost_curves/#PowerSystems.PiecewiseIncrementalCurve","page":"Variable Cost Curves","title":"PowerSystems.PiecewiseIncrementalCurve","text":"PiecewiseIncrementalCurve(initial_input::Float64, x_coords::Vector{Float64}, slopes::Vector{Float64})\n\nA piecewise linear curve specified by marginal rates (slopes) between production points. May have nonzero initial value.\n\nArguments\n\ninitial_input::Float64: cost at minimum production point\nx_coords::Vector{Float64}: vector of n production points\nslopes::Vector{Float64}: vector of n-1 marginal rates/slopes of the curve segments between the points\n\n\n\n\n\n","category":"type"},{"location":"model_library/cost_curves/#PowerSystems.PiecewiseAverageCurve","page":"Variable Cost Curves","title":"PowerSystems.PiecewiseAverageCurve","text":"PiecewiseAverageCurve(initial_input::Float64, x_coords::Vector{Float64}, slopes::Vector{Float64})\n\nA piecewise linear curve specified by average rates between production points. May have nonzero initial value.\n\nArguments\n\ninitial_input::Float64: cost at minimum production point\nx_coords::Vector{Float64}: vector of n production points\nslopes::Vector{Float64}: vector of n-1 average rates/slopes of the curve segments between the points\n\n\n\n\n\n","category":"type"},{"location":"modeler_guide/market_bid_cost/#PowerSystems-[MarketBidCost](@ref)","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"Is an OperationalCost data structure that allows the user to run a production cost model that is very similar to most US electricity market auctions with bids for energy and ancillary services jointly. This page showcases how to create data for this cost function.","category":"page"},{"location":"modeler_guide/market_bid_cost/#Adding-Energy-bids-to-MarketBidCost","page":"PowerSystems MarketBidCost","title":"Adding Energy bids to MarketBidCost","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/#Step-1:-Constructiong-device-with-MarketBidCost","page":"PowerSystems MarketBidCost","title":"Step 1: Constructiong device with MarketBidCost","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"When using MarketBidCost, the user can add the cost struct to the device specifying only certain elements, at this point the actual energy cost bids don't need to be populated/passed.","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"The code below shows an example how we can create a thermal device with MarketBidCost.","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"using PowerSystems, Dates\nbus = ACBus(1, \"nodeE\", \"REF\", 0, 1.0, (min = 0.9, max = 1.05), 230, nothing, nothing)\n\ngenerator = ThermalStandard(\n name = \"Brighton\",\n available = true,\n status = true,\n bus = bus,\n active_power = 6.0,\n reactive_power = 1.50,\n rating = 0.75,\n prime_mover_type = PrimeMovers.ST,\n fuel = ThermalFuels.COAL,\n active_power_limits = (min = 0.0, max = 6.0),\n reactive_power_limits = (min = -4.50, max = 4.50),\n time_limits = (up = 0.015, down = 0.015),\n ramp_limits = (up = 5.0, down = 3.0),\n operation_cost = MarketBidCost(\n no_load_cost = 0.0,\n start_up = (hot = 0.0, warm = 0.0, cold = 0.0),\n shut_down = 0.0,\n ),\n base_power = 100.0,\n )","category":"page"},{"location":"modeler_guide/market_bid_cost/#Step-2:-Creating-the-TimeSeriesData-for-the-Market-Bid","page":"PowerSystems MarketBidCost","title":"Step 2: Creating the TimeSeriesData for the Market Bid","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"The user is expected to pass the TimeSeriesData that holds the energy bid data which can be of any type (i.e. SingleTimeSeries or Deterministic) and data can be Array{Float64}, Array{Tuple{Float64, Float64}} or Array{Array{Tuple{Float64,Float64}}. If the data is just floats then the cost in the optimization is seen as a constant variable cost, but if data is a Tuple or Array{Tuple} then the model expects the tuples to be cost & power-point pairs (cost in /p.u-hr & power-point in p.u-hr), which is modeled same as TwoPartCost or ThreePartCost. Code below shows an example of how to build a TimeSeriesData.","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"data =\n Dict(Dates.DateTime(\"2020-01-01\") => [\n [(0.0, 0.05), (290.1, 0.0733), (582.72, 0.0967), (894.1, 0.120)],\n [(0.0, 0.05), (300.1, 0.0733), (600.72, 0.0967), (900.1, 0.120)],]\n )\ntime_series_data = Deterministic(\n name = \"variable_cost\",\n data = data,\n resolution = Dates.Hour(1)\n)","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"NOTE: Due to limitations in DataStructures.jl, in PowerSystems.jl when creating Forecasts or TimeSeries for your MarketBidCost, you need to define your data as in the example or with a very explicit container. Otherwise, it won't discern the types properly in the constructor and will return SortedDict{Any,Any,Base.Order.ForwardOrdering} which causes the constructor in PowerSystems.jl to fail. For instance, you need to define the Dict with the data as follows:","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":" # Very verbose dict definition\n data = Dict{DateTime,Array{Array{Tuple{Float64,Float64},1},1}}()\n for t in range(initial_time_sys; step = Hour(1), length = window_count)\n data[t] = MY_BID_DATA\n end","category":"page"},{"location":"modeler_guide/market_bid_cost/#Step-3a:-Adding-Energy-Bid-TimeSeriesData-to-the-device","page":"PowerSystems MarketBidCost","title":"Step 3a: Adding Energy Bid TimeSeriesData to the device","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"To add energy market bids time-series to the MarketBidCost, use set_variable_cost!. The arguments for set_variable_cost! are:","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"sys::System: PowerSystem System\ncomponent::StaticInjection: Static injection device\ntime_series_data::TimeSeriesData: TimeSeriesData","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"sys = System(100.0, [bus], [generator])\nset_variable_cost!(sys, generator, time_series_data)","category":"page"},{"location":"modeler_guide/market_bid_cost/#Step-3b:-Adding-Service-Bid-TimeSeriesData-to-the-device","page":"PowerSystems MarketBidCost","title":"Step 3b: Adding Service Bid TimeSeriesData to the device","text":"","category":"section"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"Similar to adding energy market bids, for adding bids for ancillary services, use set_service_bid!.","category":"page"},{"location":"modeler_guide/market_bid_cost/","page":"PowerSystems MarketBidCost","title":"PowerSystems MarketBidCost","text":"service = VariableReserve{ReserveUp}(\"example_reserve\", true, 0.6, 2.0)\nadd_service!(sys, service, get_component(ThermalStandard, sys, \"Brighton\"))\ndata =\n Dict(Dates.DateTime(\"2020-01-01\") => [650.3, 750.0])\ntime_series_data = Deterministic(\n name = get_name(service),\n data = data,\n resolution = Dates.Hour(1)\n)\nset_service_bid!(sys, generator, service, time_series_data)","category":"page"},{"location":"model_library/generated_AreaInterchange/#AreaInterchange","page":"AreaInterchange","title":"AreaInterchange","text":"","category":"section"},{"location":"model_library/generated_AreaInterchange/","page":"AreaInterchange","title":"AreaInterchange","text":"Modules = [PowerSystems]\nPages = [\"generated/AreaInterchange.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.AreaInterchange","page":"AreaInterchange","title":"PowerSystems.AreaInterchange","text":"mutable struct AreaInterchange <: Branch\n name::String\n available::Bool\n active_power_flow::Float64\n from_area::Area\n to_area::Area\n flow_limits::FromTo_ToFrom\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nFlow exchanged between Areas. This Interchange is agnostic to the lines connecting the areas. It does not substitute Interface which is the total flow across a group of lines\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nactive_power_flow::Float64: Initial condition of active power flow on the line (MW)\nfrom_area::Area: Area from which the power is extracted\nto_area::Area: Area to which the power is injected\nflow_limits::FromTo_ToFrom: Max flow between the areas. It ignores lines and other branches totals\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AreaInterchange/#InfrastructureSystems.get_name-Tuple{AreaInterchange}","page":"AreaInterchange","title":"InfrastructureSystems.get_name","text":"get_name(value::AreaInterchange) -> String\n\n\nGet AreaInterchange name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.get_active_power_flow-Tuple{AreaInterchange}","page":"AreaInterchange","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::AreaInterchange) -> Any\n\n\nGet AreaInterchange active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.get_available-Tuple{AreaInterchange}","page":"AreaInterchange","title":"PowerSystems.get_available","text":"get_available(value::AreaInterchange) -> Bool\n\n\nGet AreaInterchange available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.get_ext-Tuple{AreaInterchange}","page":"AreaInterchange","title":"PowerSystems.get_ext","text":"get_ext(value::AreaInterchange) -> Dict{String, Any}\n\n\nGet AreaInterchange ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.get_flow_limits-Tuple{AreaInterchange}","page":"AreaInterchange","title":"PowerSystems.get_flow_limits","text":"get_flow_limits(\n value::AreaInterchange\n) -> NamedTuple{(:from_to, :to_from), <:Tuple{Any, Any}}\n\n\nGet AreaInterchange flow_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.get_from_area-Tuple{AreaInterchange}","page":"AreaInterchange","title":"PowerSystems.get_from_area","text":"get_from_area(value::AreaInterchange) -> Area\n\n\nGet AreaInterchange from_area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.get_to_area-Tuple{AreaInterchange}","page":"AreaInterchange","title":"PowerSystems.get_to_area","text":"get_to_area(value::AreaInterchange) -> Area\n\n\nGet AreaInterchange to_area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.set_active_power_flow!-Tuple{AreaInterchange, Any}","page":"AreaInterchange","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::AreaInterchange, val) -> Any\n\n\nSet AreaInterchange active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.set_available!-Tuple{AreaInterchange, Any}","page":"AreaInterchange","title":"PowerSystems.set_available!","text":"set_available!(value::AreaInterchange, val) -> Any\n\n\nSet AreaInterchange available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.set_ext!-Tuple{AreaInterchange, Any}","page":"AreaInterchange","title":"PowerSystems.set_ext!","text":"set_ext!(value::AreaInterchange, val) -> Any\n\n\nSet AreaInterchange ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.set_flow_limits!-Tuple{AreaInterchange, Any}","page":"AreaInterchange","title":"PowerSystems.set_flow_limits!","text":"set_flow_limits!(value::AreaInterchange, val) -> Any\n\n\nSet AreaInterchange flow_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.set_from_area!-Tuple{AreaInterchange, Any}","page":"AreaInterchange","title":"PowerSystems.set_from_area!","text":"set_from_area!(value::AreaInterchange, val) -> Any\n\n\nSet AreaInterchange from_area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AreaInterchange/#PowerSystems.set_to_area!-Tuple{AreaInterchange, Any}","page":"AreaInterchange","title":"PowerSystems.set_to_area!","text":"set_to_area!(value::AreaInterchange, val) -> Any\n\n\nSet AreaInterchange to_area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#TurbineGov","page":"TurbineGov","title":"TurbineGov","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/#DEGOV","page":"TurbineGov","title":"DEGOV","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/DEGOV.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.DEGOV","page":"TurbineGov","title":"PowerSystems.DEGOV","text":"mutable struct DEGOV <: TurbineGov\n T1::Float64\n T2::Float64\n T3::Float64\n K::Float64\n T4::Float64\n T5::Float64\n T6::Float64\n Td::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters Woodward Diesel Governor Model. DEGOV in PowerWorld\n\nArguments\n\nT1::Float64: Governor mechanism time constant, validation range: (eps(), 100)\nT2::Float64: Turbine power time constant, validation range: (eps(), 100)\nT3::Float64: Turbine exhaust temperature time constant, validation range: (eps(), 100)\nK::Float64: Governor gain (reciprocal of droop), validation range: (eps(), 100)\nT4::Float64: Governor lead time constant, validation range: (eps(), 100)\nT5::Float64: Governor lag time constant, validation range: (eps(), 100)\nT6::Float64: Actuator time constant, validation range: (eps(), 100)\nTd::Float64: Engine time delay, validation range: (eps(), 100)\nP_ref::Float64: (default: 1.0) Reference Load Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the DEGOV model are:\n\nx_ecb1: Electric control box 1,\nx_ecb2: Electric control box 2,\nx_a1: Actuator 1,\nx_a2: Actuator 2,\nx_a3: Actuator 3,\n\nn_states::Int: (Do not modify.) DEGOV has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) DEGOV has 5 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_K","text":"get_K(value::DEGOV) -> Float64\n\n\nGet DEGOV K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::DEGOV) -> Float64\n\n\nGet DEGOV P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::DEGOV) -> Float64\n\n\nGet DEGOV T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::DEGOV) -> Float64\n\n\nGet DEGOV T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::DEGOV) -> Float64\n\n\nGet DEGOV T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T4-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T4","text":"get_T4(value::DEGOV) -> Float64\n\n\nGet DEGOV T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T5-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T5","text":"get_T5(value::DEGOV) -> Float64\n\n\nGet DEGOV T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T6-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_T6","text":"get_T6(value::DEGOV) -> Float64\n\n\nGet DEGOV T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Td-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_Td","text":"get_Td(value::DEGOV) -> Float64\n\n\nGet DEGOV Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::DEGOV) -> Dict{String, Any}\n\n\nGet DEGOV ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::DEGOV) -> Int64\n\n\nGet DEGOV n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::DEGOV) -> Vector{Symbol}\n\n\nGet DEGOV states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{DEGOV}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(value::DEGOV) -> Vector{StateTypes}\n\n\nGet DEGOV states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_K!","text":"set_K!(value::DEGOV, val) -> Any\n\n\nSet DEGOV K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::DEGOV, val) -> Any\n\n\nSet DEGOV P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T4!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T4!","text":"set_T4!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T5!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T5!","text":"set_T5!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T6!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T6!","text":"set_T6!(value::DEGOV, val) -> Any\n\n\nSet DEGOV T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Td!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Td!","text":"set_Td!(value::DEGOV, val) -> Any\n\n\nSet DEGOV Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::DEGOV, val) -> Any\n\n\nSet DEGOV ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{DEGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::DEGOV, val) -> Any\n\n\nSet DEGOV states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#GasTG","page":"TurbineGov","title":"GasTG","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/GasTG.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.GasTG","page":"TurbineGov","title":"PowerSystems.GasTG","text":"mutable struct GasTG <: TurbineGov\n R::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n AT::Float64\n Kt::Float64\n V_lim::Tuple{Float64, Float64}\n D_turb::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of Gas Turbine-Governor. GAST in PSSE and GAST_PTI in PowerWorld\n\nArguments\n\nR::Float64: Speed droop parameter, validation range: (eps(), 0.1)\nT1::Float64: Governor time constant in s, validation range: (eps(), 0.5)\nT2::Float64: Combustion chamber time constant, validation range: (eps(), 0.5)\nT3::Float64: Load limit time constant (exhaust gas measurement time), validation range: (eps(), 5)\nAT::Float64: Ambient temperature load limit, validation range: (0, 1)\nKt::Float64: Load limit feedback gain, validation range: (0, 5)\nV_lim::Tuple{Float64, Float64}: Operational control limits on fuel valve opening (Vmin, Vmax)\nD_turb::Float64: Speed damping coefficient of gas turbine rotor, validation range: (0, 0.5)\nP_ref::Float64: (default: 1.0) Reference Load Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the GAST model are:\n\nx_g1: Fuel valve opening,\nx_g2: Fuel flow,\nx_g3: Exhaust temperature load\n\nn_states::Int: (Do not modify.) GasTG has 3 states\nstates_types::Vector{StateTypes}: (Do not modify.) GAST has 3 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_AT-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_AT","text":"get_AT(value::GasTG) -> Float64\n\n\nGet GasTG AT.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_D_turb-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_D_turb","text":"get_D_turb(value::GasTG) -> Float64\n\n\nGet GasTG D_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kt-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_Kt","text":"get_Kt(value::GasTG) -> Float64\n\n\nGet GasTG Kt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::GasTG) -> Float64\n\n\nGet GasTG P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::GasTG) -> Float64\n\n\nGet GasTG R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::GasTG) -> Float64\n\n\nGet GasTG T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::GasTG) -> Float64\n\n\nGet GasTG T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::GasTG) -> Float64\n\n\nGet GasTG T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_V_lim-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_V_lim","text":"get_V_lim(value::GasTG) -> Tuple{Float64, Float64}\n\n\nGet GasTG V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::GasTG) -> Dict{String, Any}\n\n\nGet GasTG ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::GasTG) -> Int64\n\n\nGet GasTG n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::GasTG) -> Vector{Symbol}\n\n\nGet GasTG states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{GasTG}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(value::GasTG) -> Vector{StateTypes}\n\n\nGet GasTG states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_AT!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_AT!","text":"set_AT!(value::GasTG, val) -> Any\n\n\nSet GasTG AT.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_D_turb!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_D_turb!","text":"set_D_turb!(value::GasTG, val) -> Any\n\n\nSet GasTG D_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kt!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_Kt!","text":"set_Kt!(value::GasTG, val) -> Any\n\n\nSet GasTG Kt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::GasTG, val) -> Any\n\n\nSet GasTG P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::GasTG, val) -> Any\n\n\nSet GasTG R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::GasTG, val) -> Any\n\n\nSet GasTG T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::GasTG, val) -> Any\n\n\nSet GasTG T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::GasTG, val) -> Any\n\n\nSet GasTG T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_V_lim!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_V_lim!","text":"set_V_lim!(value::GasTG, val) -> Any\n\n\nSet GasTG V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::GasTG, val) -> Any\n\n\nSet GasTG ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{GasTG, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::GasTG, val) -> Any\n\n\nSet GasTG states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#GeneralGovModel","page":"TurbineGov","title":"GeneralGovModel","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/GeneralGovModel.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.GeneralGovModel","page":"TurbineGov","title":"PowerSystems.GeneralGovModel","text":"mutable struct GeneralGovModel <: TurbineGov\n Rselect::Int\n fuel_flag::Int\n R::Float64\n Tpelec::Float64\n speed_error_signal::MinMax\n Kp_gov::Float64\n Ki_gov::Float64\n Kd_gov::Float64\n Td_gov::Float64\n valve_position_limits::MinMax\n T_act::Float64\n K_turb::Float64\n Wf_nl::Float64\n Tb::Float64\n Tc::Float64\n T_eng::Float64\n Tf_load::Float64\n Kp_load::Float64\n Ki_load::Float64\n Ld_ref::Float64\n Dm::Float64\n R_open::Float64\n R_close::Float64\n Ki_mw::Float64\n A_set::Float64\n Ka::Float64\n Ta::Float64\n T_rate::Float64\n db::Float64\n Tsa::Float64\n Tsb::Float64\n R_lim::UpDown\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nGE General Governor/Turbine Model. The GeneralGovModel (GGOV1) model is a general purpose governor model used for a variety of prime movers controlled by proportional-integral-derivative (PID) governors including gas turbines\n\nArguments\n\nRselect::Int: Feedback signal for governor droop, validation range: (-2, 1)\nfuel_flag::Int: Flag Switch for fuel source characteristic, validation range: (0, 1)\nR::Float64: Speed droop parameter, validation range: (eps(), nothing)\nTpelec::Float64: Electrical power transducer time constant, seconds, validation range: (eps(), nothing)\nspeed_error_signal::MinMax: Speed error signal limits\nKp_gov::Float64: Governor proportional gain, validation range: (0, nothing)\nKi_gov::Float64: Governor integral gain, validation range: (0, nothing)\nKd_gov::Float64: Governor derivative gain, validation range: (0, nothing)\nTd_gov::Float64: Governor derivative time constant, validation range: (0, nothing)\nvalve_position_limits::MinMax: Valve position limits\nT_act::Float64: Actuator time constant, validation range: (0, nothing)\nK_turb::Float64: Turbine gain, validation range: (0, nothing)\nWf_nl::Float64: No load fuel flow, pu, validation range: (0, nothing)\nTb::Float64: Turbine lag time constant, sec, validation range: (0, nothing)\nTc::Float64: Turbine lead time constant, sec, validation range: (0, nothing)\nT_eng::Float64: Transport lag time constant for diesel engine, sec, validation range: (0, nothing)\nTf_load::Float64: Load limiter time constant, validation range: (0, nothing)\nKp_load::Float64: Load limiter proportional gain for PI controller, validation range: (0, nothing)\nKi_load::Float64: Load integral gain for PI controller, validation range: (0, nothing)\nLd_ref::Float64: Load limiter integral gain for PI controller, validation range: (0, nothing)\nDm::Float64: Mechanical damping coefficient, pu, validation range: (0, nothing)\nR_open::Float64: Maximum valve opening rate, pu/sec, validation range: (0, nothing)\nR_close::Float64: Maximum valve closing rate, pu/sec, validation range: (0, nothing)\nKi_mw::Float64: Power controller (reset) gain, validation range: (0, nothing)\nA_set::Float64: Acceleration limiter setpoint, pu/sec, validation range: (0, nothing)\nKa::Float64: Acceleration limiter gain, validation range: (0, nothing)\nTa::Float64: Acceleration limiter time constant , validation range: (eps(), nothing)\nT_rate::Float64: Turbine rating, validation range: (0, nothing)\ndb::Float64: Speed governor deadband, validation range: (0, nothing)\nTsa::Float64: Temperature detection lead time constant, validation range: (0, nothing)\nTsb::Float64: Temperature detection lag time constant, validation range: (0, nothing)\nR_lim::UpDown: Maximum rate of load increase\nP_ref::Float64: (default: 1.0) Reference Power Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the GGOV1 model are:\n\nPe: Machine Electrical Power Measurement,\nx_g1: Governor differential control,\nx_g2: Governor integral control, \nx_g3: Turbine actuator, \nx_g4: Turbine Lead-Lag, \nx_g5: Turbine load limiter measurement, \nx_g6: Turbine Load Limiter Integral Control, \nx_g7: Supervisory Load Control, \nx_g8: Acceleration Control, \nx_g9 Temperature Detection Lead - Lag:\n\nn_states::Int: (Do not modify.) GeneralGovModel has 10 states\nstates_types::Vector{StateTypes}: (Do not modify.) GGOV1 has 10 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_A_set-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_A_set","text":"get_A_set(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel A_set.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Dm-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Dm","text":"get_Dm(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Dm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K_turb-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_K_turb","text":"get_K_turb(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel K_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ka-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ka","text":"get_Ka(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kd_gov-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Kd_gov","text":"get_Kd_gov(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Kd_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ki_gov-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ki_gov","text":"get_Ki_gov(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ki_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ki_load-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ki_load","text":"get_Ki_load(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ki_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ki_mw-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ki_mw","text":"get_Ki_mw(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ki_mw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kp_gov-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Kp_gov","text":"get_Kp_gov(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Kp_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kp_load-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Kp_load","text":"get_Kp_load(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Kp_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ld_ref-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ld_ref","text":"get_Ld_ref(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ld_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R_close-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_R_close","text":"get_R_close(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel R_close.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R_lim-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_R_lim","text":"get_R_lim(\n value::GeneralGovModel\n) -> @NamedTuple{up::Float64, down::Float64}\n\n\nGet GeneralGovModel R_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R_open-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_R_open","text":"get_R_open(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel R_open.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Rselect-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Rselect","text":"get_Rselect(value::GeneralGovModel) -> Int64\n\n\nGet GeneralGovModel Rselect.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_act-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_T_act","text":"get_T_act(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel T_act.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_eng-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_T_eng","text":"get_T_eng(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel T_eng.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_rate-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_T_rate","text":"get_T_rate(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel T_rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ta-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Ta","text":"get_Ta(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tb-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tb","text":"get_Tb(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tc-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tc","text":"get_Tc(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Td_gov-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Td_gov","text":"get_Td_gov(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Td_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tf_load-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tf_load","text":"get_Tf_load(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tf_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tpelec-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tpelec","text":"get_Tpelec(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tpelec.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tsa-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tsa","text":"get_Tsa(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tsa.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tsb-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Tsb","text":"get_Tsb(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Tsb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Wf_nl-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_Wf_nl","text":"get_Wf_nl(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel Wf_nl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_db-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_db","text":"get_db(value::GeneralGovModel) -> Float64\n\n\nGet GeneralGovModel db.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::GeneralGovModel) -> Dict{String, Any}\n\n\nGet GeneralGovModel ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_fuel_flag-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_fuel_flag","text":"get_fuel_flag(value::GeneralGovModel) -> Int64\n\n\nGet GeneralGovModel fuel_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::GeneralGovModel) -> Int64\n\n\nGet GeneralGovModel n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_speed_error_signal-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_speed_error_signal","text":"get_speed_error_signal(\n value::GeneralGovModel\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet GeneralGovModel speed_error_signal.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::GeneralGovModel) -> Vector{Symbol}\n\n\nGet GeneralGovModel states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(\n value::GeneralGovModel\n) -> Vector{StateTypes}\n\n\nGet GeneralGovModel states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_valve_position_limits-Tuple{GeneralGovModel}","page":"TurbineGov","title":"PowerSystems.get_valve_position_limits","text":"get_valve_position_limits(\n value::GeneralGovModel\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet GeneralGovModel valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_A_set!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_A_set!","text":"set_A_set!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel A_set.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Dm!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Dm!","text":"set_Dm!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Dm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K_turb!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_K_turb!","text":"set_K_turb!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel K_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ka!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kd_gov!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Kd_gov!","text":"set_Kd_gov!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Kd_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ki_gov!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ki_gov!","text":"set_Ki_gov!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ki_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ki_load!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ki_load!","text":"set_Ki_load!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ki_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ki_mw!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ki_mw!","text":"set_Ki_mw!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ki_mw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kp_gov!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Kp_gov!","text":"set_Kp_gov!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Kp_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kp_load!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Kp_load!","text":"set_Kp_load!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Kp_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ld_ref!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ld_ref!","text":"set_Ld_ref!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ld_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R_close!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_R_close!","text":"set_R_close!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel R_close.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R_lim!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_R_lim!","text":"set_R_lim!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel R_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R_open!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_R_open!","text":"set_R_open!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel R_open.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Rselect!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Rselect!","text":"set_Rselect!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Rselect.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_act!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_T_act!","text":"set_T_act!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel T_act.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_eng!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_T_eng!","text":"set_T_eng!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel T_eng.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_rate!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_T_rate!","text":"set_T_rate!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel T_rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ta!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tb!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tc!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Td_gov!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Td_gov!","text":"set_Td_gov!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Td_gov.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tf_load!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tf_load!","text":"set_Tf_load!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tf_load.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tpelec!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tpelec!","text":"set_Tpelec!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tpelec.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tsa!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tsa!","text":"set_Tsa!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tsa.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tsb!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Tsb!","text":"set_Tsb!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Tsb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Wf_nl!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_Wf_nl!","text":"set_Wf_nl!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel Wf_nl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_db!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_db!","text":"set_db!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel db.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_fuel_flag!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_fuel_flag!","text":"set_fuel_flag!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel fuel_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_speed_error_signal!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_speed_error_signal!","text":"set_speed_error_signal!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel speed_error_signal.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::GeneralGovModel, val) -> Any\n\n\nSet GeneralGovModel states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_valve_position_limits!-Tuple{GeneralGovModel, Any}","page":"TurbineGov","title":"PowerSystems.set_valve_position_limits!","text":"set_valve_position_limits!(\n value::GeneralGovModel,\n val\n) -> Any\n\n\nSet GeneralGovModel valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#HydroTurbineGov","page":"TurbineGov","title":"HydroTurbineGov","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/HydroTurbineGov.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.HydroTurbineGov","page":"TurbineGov","title":"PowerSystems.HydroTurbineGov","text":"mutable struct HydroTurbineGov <: TurbineGov\n R::Float64\n r::Float64\n Tr::Float64\n Tf::Float64\n Tg::Float64\n VELM::Float64\n gate_position_limits::MinMax\n Tw::Float64\n At::Float64\n D_T::Float64\n q_nl::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nHydro Turbine-Governor\n\nArguments\n\nR::Float64: Permanent droop parameter, validation range: (0, 0.1)\nr::Float64: Temporary Droop, validation range: (0, 2)\nTr::Float64: Governor time constant, validation range: (eps(), 30)\nTf::Float64: Filter Time constant, validation range: (eps(), 0.1)\nTg::Float64: Servo time constant, validation range: (eps(), 1)\nVELM::Float64: gate velocity limit, validation range: (eps(), 0.3)\ngate_position_limits::MinMax: Gate position limits\nTw::Float64: water time constant, validation range: (eps(), 3)\nAt::Float64: Turbine gain, validation range: (0.8, 1.5)\nD_T::Float64: Turbine Damping, validation range: (0, 0.5)\nq_nl::Float64: No-power flow, validation range: (0, nothing)\nP_ref::Float64: (default: 1.0) Reference Power Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the HydroTurbineGov model are:\n\nx_g1: filter_output,\nx_g2: desired gate, \nx_g3: gate opening, \nx_g4: turbine flow\n\nn_states::Int: (Do not modify.) HYGOV has 4 states\nstates_types::Vector{StateTypes}: (Do not modify.) HYGOV has 4 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_At-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_At","text":"get_At(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov At.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_D_T-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_D_T","text":"get_D_T(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov D_T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tf-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_Tf","text":"get_Tf(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tg-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_Tg","text":"get_Tg(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov Tg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tr-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_Tr","text":"get_Tr(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tw-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_Tw","text":"get_Tw(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_VELM-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_VELM","text":"get_VELM(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov VELM.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::HydroTurbineGov) -> Dict{String, Any}\n\n\nGet HydroTurbineGov ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_gate_position_limits-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_gate_position_limits","text":"get_gate_position_limits(\n value::HydroTurbineGov\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet HydroTurbineGov gate_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::HydroTurbineGov) -> Int64\n\n\nGet HydroTurbineGov n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_q_nl-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_q_nl","text":"get_q_nl(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov q_nl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_r-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_r","text":"get_r(value::HydroTurbineGov) -> Float64\n\n\nGet HydroTurbineGov r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::HydroTurbineGov) -> Vector{Symbol}\n\n\nGet HydroTurbineGov states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{HydroTurbineGov}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(\n value::HydroTurbineGov\n) -> Vector{StateTypes}\n\n\nGet HydroTurbineGov states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_At!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_At!","text":"set_At!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov At.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_D_T!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_D_T!","text":"set_D_T!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov D_T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tf!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tg!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_Tg!","text":"set_Tg!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov Tg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tr!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tw!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_Tw!","text":"set_Tw!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_VELM!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_VELM!","text":"set_VELM!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov VELM.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_gate_position_limits!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_gate_position_limits!","text":"set_gate_position_limits!(\n value::HydroTurbineGov,\n val\n) -> Any\n\n\nSet HydroTurbineGov gate_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_q_nl!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_q_nl!","text":"set_q_nl!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov q_nl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_r!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_r!","text":"set_r!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{HydroTurbineGov, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::HydroTurbineGov, val) -> Any\n\n\nSet HydroTurbineGov states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#IEEETurbineGov1","page":"TurbineGov","title":"IEEETurbineGov1","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/IEEETurbineGov1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.IEEETurbineGov1","page":"TurbineGov","title":"PowerSystems.IEEETurbineGov1","text":"mutable struct IEEETurbineGov1 <: TurbineGov\n K::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n U0::Float64\n U_c::Float64\n valve_position_limits::MinMax\n T4::Float64\n K1::Float64\n K2::Float64\n T5::Float64\n K3::Float64\n K4::Float64\n T6::Float64\n K5::Float64\n K6::Float64\n T7::Float64\n K7::Float64\n K8::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIEEE Type 1 Speed-Governing Model\n\nArguments\n\nK::Float64: Governor Gain, validation range: (5, 30)\nT1::Float64: Input Filter Lag, validation range: (0, 5)\nT2::Float64: Input Filter Lead, validation range: (0, 10)\nT3::Float64: Valve position Time Constant, validation range: (eps(), 1)\nU0::Float64: Maximum Valve Opening Rate, validation range: (0.01, 0.03)\nU_c::Float64: Maximum Valve closing rate, validation range: (-0.3, 0)\nvalve_position_limits::MinMax: Valve position limits in MW\nT4::Float64: Time Constant inlet steam, validation range: (0, 1)\nK1::Float64: Fraction of high presure shaft power, validation range: (-2, 1)\nK2::Float64: Fraction of low presure shaft power, validation range: (0, nothing)\nT5::Float64: Time constant for second boiler pass, validation range: (0, 10)\nK3::Float64: Fraction of high presure shaft power second boiler pass, validation range: (0, 0.5)\nK4::Float64: Fraction of low presure shaft power second boiler pass, validation range: (0, 0.5)\nT6::Float64: Time constant for third boiler pass, validation range: (0, 10)\nK5::Float64: Fraction of high presure shaft power third boiler pass, validation range: (0, 0.35)\nK6::Float64: Fraction of low presure shaft power third boiler pass, validation range: (0, 0.55)\nT7::Float64: Time constant for fourth boiler pass, validation range: (0, 10)\nK7::Float64: Fraction of high presure shaft power fourth boiler pass, validation range: (0, 0.3)\nK8::Float64: Fraction of low presure shaft power fourth boiler pass, validation range: (0, 0.3)\nP_ref::Float64: (default: 1.0) Reference Power Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the IEEETurbineGov model are:\n\nx_g1: First Governor integrator,\nx_g2: Governor output,\nx_g3: First Turbine integrator, \nx_g4: Second Turbine Integrator, \nx_g5: Third Turbine Integrator, \nx_g6: Fourth Turbine Integrator,\n\nn_states::Int: (Do not modify.) IEEEG1 has 6 states\nstates_types::Vector{StateTypes}: (Do not modify.) IEEEG1 has 6 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K","text":"get_K(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K1-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K1","text":"get_K1(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K2-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K2","text":"get_K2(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K3-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K3","text":"get_K3(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K4-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K4","text":"get_K4(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K5-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K5","text":"get_K5(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K6-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K6","text":"get_K6(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K7-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K7","text":"get_K7(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_K8-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_K8","text":"get_K8(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 K8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T4-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T4","text":"get_T4(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T5-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T5","text":"get_T5(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T6-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T6","text":"get_T6(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T7-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T7","text":"get_T7(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_U0-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_U0","text":"get_U0(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 U0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_U_c-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_U_c","text":"get_U_c(value::IEEETurbineGov1) -> Float64\n\n\nGet IEEETurbineGov1 U_c.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::IEEETurbineGov1) -> Dict{String, Any}\n\n\nGet IEEETurbineGov1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::IEEETurbineGov1) -> Int64\n\n\nGet IEEETurbineGov1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::IEEETurbineGov1) -> Vector{Symbol}\n\n\nGet IEEETurbineGov1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(\n value::IEEETurbineGov1\n) -> Vector{StateTypes}\n\n\nGet IEEETurbineGov1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_valve_position_limits-Tuple{IEEETurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_valve_position_limits","text":"get_valve_position_limits(\n value::IEEETurbineGov1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet IEEETurbineGov1 valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K!","text":"set_K!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K1!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K1!","text":"set_K1!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K2!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K2!","text":"set_K2!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K3!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K3!","text":"set_K3!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K4!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K4!","text":"set_K4!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K5!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K5!","text":"set_K5!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K6!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K6!","text":"set_K6!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K7!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K7!","text":"set_K7!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K8!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_K8!","text":"set_K8!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 K8.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T4!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T4!","text":"set_T4!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T5!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T5!","text":"set_T5!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T6!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T6!","text":"set_T6!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T7!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T7!","text":"set_T7!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 T7.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_U0!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_U0!","text":"set_U0!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 U0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_U_c!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_U_c!","text":"set_U_c!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 U_c.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::IEEETurbineGov1, val) -> Any\n\n\nSet IEEETurbineGov1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_valve_position_limits!-Tuple{IEEETurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_valve_position_limits!","text":"set_valve_position_limits!(\n value::IEEETurbineGov1,\n val\n) -> Any\n\n\nSet IEEETurbineGov1 valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#SteamTurbineGov1","page":"TurbineGov","title":"SteamTurbineGov1","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/SteamTurbineGov1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.SteamTurbineGov1","page":"TurbineGov","title":"PowerSystems.SteamTurbineGov1","text":"mutable struct SteamTurbineGov1 <: TurbineGov\n R::Float64\n T1::Float64\n valve_position_limits::MinMax\n T2::Float64\n T3::Float64\n D_T::Float64\n DB_h::Float64\n DB_l::Float64\n T_rate::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nSteam Turbine-Governor. This model considers both TGOV1 or TGOV1DU in PSS/E\n\nArguments\n\nR::Float64: Droop parameter, validation range: (0, 0.1)\nT1::Float64: Governor time constant, validation range: (eps(), 0.5)\nvalve_position_limits::MinMax: Valve position limits\nT2::Float64: Lead Lag Lead Time constant , validation range: (0, nothing)\nT3::Float64: Lead Lag Lag Time constant , validation range: (eps(), 10)\nD_T::Float64: Turbine Damping, validation range: (0, 0.5)\nDB_h::Float64: Deadband for overspeed, validation range: (0, nothing)\nDB_l::Float64: Deadband for underspeed, validation range: (nothing, 0)\nT_rate::Float64: Turbine Rate (MW). If zero, generator base is used, validation range: (0, nothing)\nP_ref::Float64: (default: 1.0) Reference Power Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the SteamTurbineGov1 model are:\n\nx_g1: Valve Opening,\nx_g2: Lead-lag state\n\nn_states::Int: (Do not modify.) TGOV1 has 2 states\nstates_types::Vector{StateTypes}: (Do not modify.) TGOV1 has 2 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_DB_h-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_DB_h","text":"get_DB_h(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 DB_h.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_DB_l-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_DB_l","text":"get_DB_l(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 DB_l.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_D_T-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_D_T","text":"get_D_T(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 D_T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_rate-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_T_rate","text":"get_T_rate(value::SteamTurbineGov1) -> Float64\n\n\nGet SteamTurbineGov1 T_rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::SteamTurbineGov1) -> Dict{String, Any}\n\n\nGet SteamTurbineGov1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::SteamTurbineGov1) -> Int64\n\n\nGet SteamTurbineGov1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::SteamTurbineGov1) -> Vector{Symbol}\n\n\nGet SteamTurbineGov1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(\n value::SteamTurbineGov1\n) -> Vector{StateTypes}\n\n\nGet SteamTurbineGov1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_valve_position_limits-Tuple{SteamTurbineGov1}","page":"TurbineGov","title":"PowerSystems.get_valve_position_limits","text":"get_valve_position_limits(\n value::SteamTurbineGov1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet SteamTurbineGov1 valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_DB_h!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_DB_h!","text":"set_DB_h!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 DB_h.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_DB_l!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_DB_l!","text":"set_DB_l!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 DB_l.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_D_T!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_D_T!","text":"set_D_T!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 D_T.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_rate!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_T_rate!","text":"set_T_rate!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 T_rate.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::SteamTurbineGov1, val) -> Any\n\n\nSet SteamTurbineGov1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_valve_position_limits!-Tuple{SteamTurbineGov1, Any}","page":"TurbineGov","title":"PowerSystems.set_valve_position_limits!","text":"set_valve_position_limits!(\n value::SteamTurbineGov1,\n val\n) -> Any\n\n\nSet SteamTurbineGov1 valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#TGFixed","page":"TurbineGov","title":"TGFixed","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/TGFixed.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.TGFixed","page":"TurbineGov","title":"PowerSystems.TGFixed","text":"mutable struct TGFixed <: TurbineGov\n efficiency::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a fixed Turbine Governor that returns a fixed mechanical torque given by the product of P_ref*efficiency\n\nArguments\n\nefficiency::Float64: Efficiency factor that multiplies P_ref, validation range: (0, nothing)\nP_ref::Float64: (default: 1.0) Reference Power Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) TGFixed has no states\nn_states::Int: (Do not modify.) TGFixed has no states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{TGFixed}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::TGFixed) -> Float64\n\n\nGet TGFixed P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_efficiency-Tuple{TGFixed}","page":"TurbineGov","title":"PowerSystems.get_efficiency","text":"get_efficiency(value::TGFixed) -> Float64\n\n\nGet TGFixed efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{TGFixed}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::TGFixed) -> Dict{String, Any}\n\n\nGet TGFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{TGFixed}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::TGFixed) -> Int64\n\n\nGet TGFixed n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{TGFixed}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::TGFixed) -> Vector{Symbol}\n\n\nGet TGFixed states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{TGFixed, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::TGFixed, val) -> Any\n\n\nSet TGFixed P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_efficiency!-Tuple{TGFixed, Any}","page":"TurbineGov","title":"PowerSystems.set_efficiency!","text":"set_efficiency!(value::TGFixed, val) -> Any\n\n\nSet TGFixed efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{TGFixed, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::TGFixed, val) -> Any\n\n\nSet TGFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#TGTypeI","page":"TurbineGov","title":"TGTypeI","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/TGTypeI.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.TGTypeI","page":"TurbineGov","title":"PowerSystems.TGTypeI","text":"mutable struct TGTypeI <: TurbineGov\n R::Float64\n Ts::Float64\n Tc::Float64\n T3::Float64\n T4::Float64\n T5::Float64\n valve_position_limits::MinMax\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a Turbine Governor Type I\n\nArguments\n\nR::Float64: Droop parameter, validation range: (0, nothing)\nTs::Float64: Governor time constant, validation range: (0, nothing)\nTc::Float64: Servo time constant, validation range: (0, nothing)\nT3::Float64: Transient gain time constant, validation range: (0, nothing)\nT4::Float64: Power fraction time constant, validation range: (0, nothing)\nT5::Float64: Reheat time constant, validation range: (0, nothing)\nvalve_position_limits::MinMax: Valve position limits in MW\nP_ref::Float64: (default: 1.0) Reference Power Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the TGTypeI model are:\n\nx_g1: Governor state,\nx_g2: Servo state,\nx_g3: Reheat state\n\nn_states::Int: (Do not modify.) TGTypeI has 3 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::TGTypeI) -> Float64\n\n\nGet TGTypeI P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::TGTypeI) -> Float64\n\n\nGet TGTypeI R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::TGTypeI) -> Float64\n\n\nGet TGTypeI T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T4-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_T4","text":"get_T4(value::TGTypeI) -> Float64\n\n\nGet TGTypeI T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T5-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_T5","text":"get_T5(value::TGTypeI) -> Float64\n\n\nGet TGTypeI T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tc-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_Tc","text":"get_Tc(value::TGTypeI) -> Float64\n\n\nGet TGTypeI Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ts-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_Ts","text":"get_Ts(value::TGTypeI) -> Float64\n\n\nGet TGTypeI Ts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::TGTypeI) -> Dict{String, Any}\n\n\nGet TGTypeI ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::TGTypeI) -> Int64\n\n\nGet TGTypeI n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::TGTypeI) -> Vector{Symbol}\n\n\nGet TGTypeI states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_valve_position_limits-Tuple{TGTypeI}","page":"TurbineGov","title":"PowerSystems.get_valve_position_limits","text":"get_valve_position_limits(\n value::TGTypeI\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TGTypeI valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T4!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_T4!","text":"set_T4!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T5!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_T5!","text":"set_T5!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tc!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ts!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_Ts!","text":"set_Ts!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI Ts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_valve_position_limits!-Tuple{TGTypeI, Any}","page":"TurbineGov","title":"PowerSystems.set_valve_position_limits!","text":"set_valve_position_limits!(value::TGTypeI, val) -> Any\n\n\nSet TGTypeI valve_position_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#TGTypeII","page":"TurbineGov","title":"TGTypeII","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/TGTypeII.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.TGTypeII","page":"TurbineGov","title":"PowerSystems.TGTypeII","text":"mutable struct TGTypeII <: TurbineGov\n R::Float64\n T1::Float64\n T2::Float64\n τ_limits::MinMax\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a Turbine Governor Type II\n\nArguments\n\nR::Float64: Droop parameter, validation range: (0, nothing)\nT1::Float64: Transient gain time constant, validation range: (0, nothing)\nT2::Float64: Power fraction time constant, validation range: (0, nothing)\nτ_limits::MinMax: Power into the governor limits\nP_ref::Float64: (default: 1.0) Reference Power Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the TGTypeI model are:\n\nx_g1: lead-lag state\n\nn_states::Int: (Do not modify.) TGTypeII has 1 state\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::TGTypeII) -> Float64\n\n\nGet TGTypeII P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::TGTypeII) -> Float64\n\n\nGet TGTypeII R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::TGTypeII) -> Float64\n\n\nGet TGTypeII T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::TGTypeII) -> Float64\n\n\nGet TGTypeII T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::TGTypeII) -> Dict{String, Any}\n\n\nGet TGTypeII ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::TGTypeII) -> Int64\n\n\nGet TGTypeII n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::TGTypeII) -> Vector{Symbol}\n\n\nGet TGTypeII states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_τ_limits-Tuple{TGTypeII}","page":"TurbineGov","title":"PowerSystems.get_τ_limits","text":"get_τ_limits(\n value::TGTypeII\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TGTypeII τ_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_τ_limits!-Tuple{TGTypeII, Any}","page":"TurbineGov","title":"PowerSystems.set_τ_limits!","text":"set_τ_limits!(value::TGTypeII, val) -> Any\n\n\nSet TGTypeII τ_limits.\n\n\n\n\n\n","category":"method"},{"location":"tutorials/dynamic_data/#Creating-and-Handling-Data-for-Dynamic-Simulations","page":"Use Dynamic Data","title":"Creating and Handling Data for Dynamic Simulations","text":"","category":"section"},{"location":"tutorials/dynamic_data/","page":"Use Dynamic Data","title":"Use Dynamic Data","text":"For more details to handle dynamic data, check the tutorial in PowerSimulationsDynamics.","category":"page"},{"location":"model_library/generated_HydroDispatch/#HydroDispatch","page":"HydroDispatch","title":"HydroDispatch","text":"","category":"section"},{"location":"model_library/generated_HydroDispatch/","page":"HydroDispatch","title":"HydroDispatch","text":"Modules = [PowerSystems]\nPages = [\"generated/HydroDispatch.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.HydroDispatch","page":"HydroDispatch","title":"PowerSystems.HydroDispatch","text":"mutable struct HydroDispatch <: HydroGen\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n prime_mover_type::PrimeMovers\n active_power_limits::MinMax\n reactive_power_limits::Union{Nothing, MinMax}\n ramp_limits::Union{Nothing, UpDown}\n time_limits::Union{Nothing, UpDown}\n base_power::Float64\n operation_cost::Union{HydroGenerationCost, MarketBidCost}\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA hydropower generator without a reservoir, suitable for modeling run-of-river hydropower.\n\nFor hydro generators with an upper reservoir, see HydroEnergyReservoir\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used\nreactive_power::Float64: Initial reactive power set point of the unit (MVAR), validation range: reactive_power_limits\nrating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here\nactive_power_limits::MinMax: Minimum and maximum stable active power levels (MW), validation range: (0, nothing)\nreactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable\nramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min, validation range: (0, nothing)\ntime_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing)\nbase_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)\noperation_cost::Union{HydroGenerationCost, MarketBidCost}: (default: HydroGenerationCost(nothing)) Operating cost of generation\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_HydroDispatch/#InfrastructureSystems.get_name-Tuple{HydroDispatch}","page":"HydroDispatch","title":"InfrastructureSystems.get_name","text":"get_name(value::HydroDispatch) -> String\n\n\nGet HydroDispatch name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_active_power-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_active_power","text":"get_active_power(value::HydroDispatch) -> Any\n\n\nGet HydroDispatch active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_active_power_limits-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::HydroDispatch\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet HydroDispatch active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_available-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_available","text":"get_available(value::HydroDispatch) -> Bool\n\n\nGet HydroDispatch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_base_power-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_base_power","text":"get_base_power(value::HydroDispatch) -> Float64\n\n\nGet HydroDispatch base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_bus-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_bus","text":"get_bus(value::HydroDispatch) -> ACBus\n\n\nGet HydroDispatch bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_dynamic_injector-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::HydroDispatch\n) -> Union{Nothing, DynamicInjection}\n\n\nGet HydroDispatch dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_ext-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_ext","text":"get_ext(value::HydroDispatch) -> Dict{String, Any}\n\n\nGet HydroDispatch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_operation_cost-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::HydroDispatch\n) -> Union{HydroGenerationCost, MarketBidCost}\n\n\nGet HydroDispatch operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_prime_mover_type-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(value::HydroDispatch) -> PrimeMovers\n\n\nGet HydroDispatch prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_ramp_limits-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_ramp_limits","text":"get_ramp_limits(\n value::HydroDispatch\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet HydroDispatch ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_rating-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_rating","text":"get_rating(value::HydroDispatch) -> Any\n\n\nGet HydroDispatch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_reactive_power-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::HydroDispatch) -> Any\n\n\nGet HydroDispatch reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_reactive_power_limits-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::HydroDispatch\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HydroDispatch reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_services-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_services","text":"get_services(value::HydroDispatch) -> Vector{Service}\n\n\nGet HydroDispatch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.get_time_limits-Tuple{HydroDispatch}","page":"HydroDispatch","title":"PowerSystems.get_time_limits","text":"get_time_limits(\n value::HydroDispatch\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet HydroDispatch time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_active_power!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_active_power_limits!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_available!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_available!","text":"set_available!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_base_power!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_bus!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_bus!","text":"set_bus!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_ext!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_ext!","text":"set_ext!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_operation_cost!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_prime_mover_type!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_ramp_limits!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_ramp_limits!","text":"set_ramp_limits!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_rating!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_rating!","text":"set_rating!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_reactive_power!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_reactive_power_limits!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_services!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_services!","text":"set_services!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroDispatch/#PowerSystems.set_time_limits!-Tuple{HydroDispatch, Any}","page":"HydroDispatch","title":"PowerSystems.set_time_limits!","text":"set_time_limits!(value::HydroDispatch, val) -> Any\n\n\nSet HydroDispatch time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#Line","page":"Line","title":"Line","text":"","category":"section"},{"location":"model_library/generated_Line/","page":"Line","title":"Line","text":"Modules = [PowerSystems]\nPages = [\"generated/Line.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Line/#PowerSystems.Line","page":"Line","title":"PowerSystems.Line","text":"mutable struct Line <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n reactive_power_flow::Float64\n arc::Arc\n r::Float64\n x::Float64\n b::FromTo\n rating::Float64\n angle_limits::MinMax\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nAn AC transmission line\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nactive_power_flow::Float64: Initial condition of active power flow on the line (MW)\nreactive_power_flow::Float64: Initial condition of reactive power flow on the line (MVAR)\narc::Arc: An Arc defining this line from a bus to another bus\nr::Float64: Resistance in pu (SYSTEM_BASE), validation range: (0, 4)\nx::Float64: Reactance in pu (SYSTEM_BASE), validation range: (0, 4)\nb::FromTo: Shunt susceptance in pu (SYSTEM_BASE), specified both on the from and to ends of the line. These are commonly modeled with the same value, validation range: (0, 100)\nrating::Float64: Thermal rating (MVA). Flow on the line must be between -rating and rating\nangle_limits::MinMax: Minimum and maximum angle limits (radians), validation range: (-1.571, 1.571)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Line/#InfrastructureSystems.get_name-Tuple{Line}","page":"Line","title":"InfrastructureSystems.get_name","text":"get_name(value::Line) -> String\n\n\nGet Line name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_active_power_flow-Tuple{Line}","page":"Line","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::Line) -> Any\n\n\nGet Line active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_angle_limits-Tuple{Line}","page":"Line","title":"PowerSystems.get_angle_limits","text":"get_angle_limits(\n value::Line\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet Line angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_arc-Tuple{Line}","page":"Line","title":"PowerSystems.get_arc","text":"get_arc(value::Line) -> Arc\n\n\nGet Line arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_available-Tuple{Line}","page":"Line","title":"PowerSystems.get_available","text":"get_available(value::Line) -> Bool\n\n\nGet Line available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_b-Tuple{Line}","page":"Line","title":"PowerSystems.get_b","text":"get_b(\n value::Line\n) -> @NamedTuple{from::Float64, to::Float64}\n\n\nGet Line b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_ext-Tuple{Line}","page":"Line","title":"PowerSystems.get_ext","text":"get_ext(value::Line) -> Dict{String, Any}\n\n\nGet Line ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_r-Tuple{Line}","page":"Line","title":"PowerSystems.get_r","text":"get_r(value::Line) -> Float64\n\n\nGet Line r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_rating-Tuple{Line}","page":"Line","title":"PowerSystems.get_rating","text":"get_rating(value::Line) -> Any\n\n\nGet Line rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_reactive_power_flow-Tuple{Line}","page":"Line","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(value::Line) -> Any\n\n\nGet Line reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_services-Tuple{Line}","page":"Line","title":"PowerSystems.get_services","text":"get_services(value::Line) -> Vector{Service}\n\n\nGet Line services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.get_x-Tuple{Line}","page":"Line","title":"PowerSystems.get_x","text":"get_x(value::Line) -> Float64\n\n\nGet Line x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_active_power_flow!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::Line, val) -> Any\n\n\nSet Line active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_angle_limits!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_angle_limits!","text":"set_angle_limits!(value::Line, val) -> Any\n\n\nSet Line angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_arc!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_arc!","text":"set_arc!(value::Line, val) -> Any\n\n\nSet Line arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_available!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_available!","text":"set_available!(value::Line, val) -> Any\n\n\nSet Line available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_b!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_b!","text":"set_b!(value::Line, val) -> Any\n\n\nSet Line b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_ext!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_ext!","text":"set_ext!(value::Line, val) -> Any\n\n\nSet Line ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_r!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_r!","text":"set_r!(value::Line, val) -> Any\n\n\nSet Line r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_rating!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_rating!","text":"set_rating!(value::Line, val) -> Any\n\n\nSet Line rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_reactive_power_flow!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(value::Line, val) -> Any\n\n\nSet Line reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_services!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_services!","text":"set_services!(value::Line, val) -> Any\n\n\nSet Line services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Line/#PowerSystems.set_x!-Tuple{Line, Any}","page":"Line","title":"PowerSystems.set_x!","text":"set_x!(value::Line, val) -> Any\n\n\nSet Line x.\n\n\n\n\n\n","category":"method"},{"location":"quick_start_guide/#Quick-Start-Guide","page":"Quick Start Guide","title":"Quick Start Guide","text":"","category":"section"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"PowerSystems.jl is structured to enable data creation scripts, flexible interfaces for data intake and extension of the data model. These features are enabled through three main features:","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Abstract type hierarchy,\nOptimized read/write data container (the container is called System),\nUtilities to facilitate modeling, extensions, and integration.","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"It is possible to load examples systems directly using PowerSystemCaseBuilder.","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"using PowerSystems","category":"page"},{"location":"quick_start_guide/#Loading-data-from-files","page":"Quick Start Guide","title":"Loading data from files","text":"","category":"section"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Data can be loaded from several file formats and return a summary of the system's components and time-series. Some example files can be found in the tutorials data folder","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"file_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\"); #hide\nsystem_data = System(joinpath(file_dir, \"RTS_GMLC.m\"))","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"More details about parsing text files from different formats in this section","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"","category":"page"},{"location":"quick_start_guide/#Using-PowerSystems.jl-for-modeling","page":"Quick Start Guide","title":"Using PowerSystems.jl for modeling","text":"","category":"section"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"This example function implements a function where the modeler can choose the technology by its type and use the different implementations of get_max_active_power. Using the \"dot\" access to get a parameter value from a device is actively discouraged, use \"getter\" functions instead","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Refer to Modeling with JuMP for a more detailed use of PowerSystems.jl to develop a model","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"function installed_capacity(system::System; technology::Type{T} = Generator) where T <: Generator\n installed_capacity = 0.0\n for g in get_components(T, system)\n installed_capacity += get_max_active_power(g)\n end\n return installed_capacity\nend","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Total installed capacity","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"installed_capacity(system_data)","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Installed capacity of the thermal generation","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"installed_capacity(system_data; technology = ThermalStandard)","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"Installed capacity of renewable generation","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"installed_capacity(system_data; technology = RenewableGen)","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"","category":"page"},{"location":"quick_start_guide/#Adding-Time-Series-data-to-a-System","page":"Quick Start Guide","title":"Adding Time Series data to a System","text":"","category":"section"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"PowerSystems.jl provides interfaces to augment the data sets already created. You can also add time series data to a system from one or more CSV files, more details in Time Series Data. This example implements SingleTimeSeries","category":"page"},{"location":"quick_start_guide/","page":"Quick Start Guide","title":"Quick Start Guide","text":"using TimeSeries\nusing Dates\nsystem = System(joinpath(file_dir, \"case5.m\"))\n\nnew_renewable = RenewableDispatch(\n name = \"WindPowerNew\",\n available = true,\n bus = get_component(ACBus, system, \"3\"),\n active_power = 2.0,\n reactive_power = 1.0,\n rating = 1.2,\n prime_mover_type = PrimeMovers.WT,\n reactive_power_limits = (min = 0.0, max = 0.0),\n base_power = 100.0,\n operation_cost = RenewableGenerationCost(CostCurve(LinearCurve(22.0))),\n power_factor = 1.0\n )\n\nadd_component!(system, new_renewable)\n\nts_data = [0.98, 0.99, 0.99, 1.0, 0.99, 0.99, 0.99, 0.98, 0.95, 0.92, 0.90, 0.88, 0.84, 0.76,\n 0.65, 0.52, 0.39, 0.28, 0.19, 0.15, 0.13, 0.11, 0.09, 0.06,]\ntime_stamps = range(DateTime(\"2020-01-01\"); step = Hour(1), length = 24)\ntime_series_data_raw = TimeArray(time_stamps, ts_data)\ntime_series = SingleTimeSeries(name = \"active_power\", data = time_series_data_raw)\n\n#Add the forecast to the system and component\nadd_time_series!(system, new_renewable, time_series)","category":"page"},{"location":"model_library/generated_Arc/#Arc","page":"Arc","title":"Arc","text":"","category":"section"},{"location":"model_library/generated_Arc/","page":"Arc","title":"Arc","text":"Modules = [PowerSystems]\nPages = [\"generated/Arc.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Arc/#PowerSystems.Arc","page":"Arc","title":"PowerSystems.Arc","text":"mutable struct Arc <: Topology\n from::Bus\n to::Bus\n internal::InfrastructureSystemsInternal\nend\n\nA topological directed edge connecting two buses.\n\nArcs are used to define the from and to buses when defining a line or transformer\n\nArguments\n\nfrom::Bus: The initial bus\nto::Bus: The terminal bus\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Arc/#PowerSystems.get_from-Tuple{Arc}","page":"Arc","title":"PowerSystems.get_from","text":"get_from(value::Arc) -> Bus\n\n\nGet Arc from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Arc/#PowerSystems.get_to-Tuple{Arc}","page":"Arc","title":"PowerSystems.get_to","text":"get_to(value::Arc) -> Bus\n\n\nGet Arc to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Arc/#PowerSystems.set_from!-Tuple{Arc, Any}","page":"Arc","title":"PowerSystems.set_from!","text":"set_from!(value::Arc, val) -> Any\n\n\nSet Arc from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Arc/#PowerSystems.set_to!-Tuple{Arc, Any}","page":"Arc","title":"PowerSystems.set_to!","text":"set_to!(value::Arc, val) -> Any\n\n\nSet Arc to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#InterruptiblePowerLoad","page":"InterruptiblePowerLoad","title":"InterruptiblePowerLoad","text":"","category":"section"},{"location":"model_library/generated_InterruptiblePowerLoad/","page":"InterruptiblePowerLoad","title":"InterruptiblePowerLoad","text":"Modules = [PowerSystems]\nPages = [\"generated/InterruptiblePowerLoad.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.InterruptiblePowerLoad","page":"InterruptiblePowerLoad","title":"PowerSystems.InterruptiblePowerLoad","text":"mutable struct InterruptiblePowerLoad <: ControllableLoad\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n max_active_power::Float64\n max_reactive_power::Float64\n base_power::Float64\n operation_cost::Union{LoadCost, MarketBidCost}\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA static power load that can be compensated for temporary or continuous interruptions to its requested demand.\n\nThese loads are most commonly used for operational optimizations and can be used to model, for example, large commercial and industrial customers enrolled in demand response programs. This load has a target demand profile (set by a max_active_power time series for an operational simulation) that can be reduced to satisfy other system needs. For simpler loads without an operating cost for demand response, see PowerLoad\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial steady state active power demand (MW)\nreactive_power::Float64: Initial steady state reactive power demand (MVAR)\nmax_active_power::Float64: Maximum active power (MW) that this load can demand\nmax_reactive_power::Float64: Maximum reactive power (MVAR) that this load can demand\nbase_power::Float64: Base power (MVA) for per unitization, validation range: (0, nothing)\noperation_cost::Union{LoadCost, MarketBidCost}: Operating cost of interrupting load\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InterruptiblePowerLoad/#InfrastructureSystems.get_name-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"InfrastructureSystems.get_name","text":"get_name(value::InterruptiblePowerLoad) -> String\n\n\nGet InterruptiblePowerLoad name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_active_power-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_active_power","text":"get_active_power(value::InterruptiblePowerLoad) -> Any\n\n\nGet InterruptiblePowerLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_available-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_available","text":"get_available(value::InterruptiblePowerLoad) -> Bool\n\n\nGet InterruptiblePowerLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_base_power-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_base_power","text":"get_base_power(value::InterruptiblePowerLoad) -> Float64\n\n\nGet InterruptiblePowerLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_bus-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_bus","text":"get_bus(value::InterruptiblePowerLoad) -> ACBus\n\n\nGet InterruptiblePowerLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_dynamic_injector-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::InterruptiblePowerLoad\n) -> Union{Nothing, DynamicInjection}\n\n\nGet InterruptiblePowerLoad dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_ext-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_ext","text":"get_ext(value::InterruptiblePowerLoad) -> Dict{String, Any}\n\n\nGet InterruptiblePowerLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_max_active_power-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_max_active_power","text":"get_max_active_power(value::InterruptiblePowerLoad) -> Any\n\n\nGet InterruptiblePowerLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_max_reactive_power-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(value::InterruptiblePowerLoad) -> Any\n\n\nGet InterruptiblePowerLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_operation_cost-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::InterruptiblePowerLoad\n) -> Union{LoadCost, MarketBidCost}\n\n\nGet InterruptiblePowerLoad operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_reactive_power-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::InterruptiblePowerLoad) -> Any\n\n\nGet InterruptiblePowerLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.get_services-Tuple{InterruptiblePowerLoad}","page":"InterruptiblePowerLoad","title":"PowerSystems.get_services","text":"get_services(\n value::InterruptiblePowerLoad\n) -> Vector{Service}\n\n\nGet InterruptiblePowerLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_active_power!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_available!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_available!","text":"set_available!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_base_power!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_bus!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_bus!","text":"set_bus!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_ext!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_ext!","text":"set_ext!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_max_active_power!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_max_active_power!","text":"set_max_active_power!(\n value::InterruptiblePowerLoad,\n val\n) -> Any\n\n\nSet InterruptiblePowerLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_max_reactive_power!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_max_reactive_power!","text":"set_max_reactive_power!(\n value::InterruptiblePowerLoad,\n val\n) -> Any\n\n\nSet InterruptiblePowerLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_operation_cost!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(\n value::InterruptiblePowerLoad,\n val\n) -> Any\n\n\nSet InterruptiblePowerLoad operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_reactive_power!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(\n value::InterruptiblePowerLoad,\n val\n) -> Any\n\n\nSet InterruptiblePowerLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterruptiblePowerLoad/#PowerSystems.set_services!-Tuple{InterruptiblePowerLoad, Any}","page":"InterruptiblePowerLoad","title":"PowerSystems.set_services!","text":"set_services!(value::InterruptiblePowerLoad, val) -> Any\n\n\nSet InterruptiblePowerLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#DCBus","page":"DCBus","title":"DCBus","text":"","category":"section"},{"location":"model_library/generated_DCBus/","page":"DCBus","title":"DCBus","text":"Modules = [PowerSystems]\nPages = [\"generated/DCBus.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_DCBus/#PowerSystems.DCBus","page":"DCBus","title":"PowerSystems.DCBus","text":"mutable struct DCBus <: Bus\n number::Int\n name::String\n magnitude::Union{Nothing, Float64}\n voltage_limits::Union{Nothing, MinMax}\n base_voltage::Union{Nothing, Float64}\n area::Union{Nothing, Area}\n load_zone::Union{Nothing, LoadZone}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA DC bus\n\nArguments\n\nnumber::Int: A unique bus identification number (positive integer)\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\nmagnitude::Union{Nothing, Float64}: voltage as a multiple of base_voltage, validation range: voltage_limits\nvoltage_limits::Union{Nothing, MinMax}: limits on the voltage variation as multiples of base_voltage\nbase_voltage::Union{Nothing, Float64}: the base voltage in kV, validation range: (0, nothing)\narea::Union{Nothing, Area}: (default: nothing) the area containing the DC bus\nload_zone::Union{Nothing, LoadZone}: (default: nothing) the load zone containing the DC bus\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_DCBus/#InfrastructureSystems.get_name-Tuple{DCBus}","page":"DCBus","title":"InfrastructureSystems.get_name","text":"get_name(value::DCBus) -> String\n\n\nGet DCBus name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_area-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_area","text":"get_area(value::DCBus) -> Union{Nothing, Area}\n\n\nGet DCBus area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_base_voltage-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_base_voltage","text":"get_base_voltage(value::DCBus) -> Union{Nothing, Float64}\n\n\nGet DCBus base_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_ext-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_ext","text":"get_ext(value::DCBus) -> Dict{String, Any}\n\n\nGet DCBus ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_load_zone-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_load_zone","text":"get_load_zone(value::DCBus) -> Union{Nothing, LoadZone}\n\n\nGet DCBus load_zone.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_magnitude-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_magnitude","text":"get_magnitude(value::DCBus) -> Union{Nothing, Float64}\n\n\nGet DCBus magnitude.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_number-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_number","text":"get_number(value::DCBus) -> Int64\n\n\nGet DCBus number.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.get_voltage_limits-Tuple{DCBus}","page":"DCBus","title":"PowerSystems.get_voltage_limits","text":"get_voltage_limits(\n value::DCBus\n) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}\n\n\nGet DCBus voltage_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_area!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_area!","text":"set_area!(value::DCBus, val) -> Any\n\n\nSet DCBus area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_base_voltage!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_base_voltage!","text":"set_base_voltage!(value::DCBus, val) -> Any\n\n\nSet DCBus base_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_ext!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_ext!","text":"set_ext!(value::DCBus, val) -> Any\n\n\nSet DCBus ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_load_zone!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_load_zone!","text":"set_load_zone!(value::DCBus, val) -> Any\n\n\nSet DCBus load_zone.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_magnitude!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_magnitude!","text":"set_magnitude!(value::DCBus, val) -> Any\n\n\nSet DCBus magnitude.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_number!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_number!","text":"set_number!(value::DCBus, val) -> Any\n\n\nSet DCBus number.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCBus/#PowerSystems.set_voltage_limits!-Tuple{DCBus, Any}","page":"DCBus","title":"PowerSystems.set_voltage_limits!","text":"set_voltage_limits!(value::DCBus, val) -> Any\n\n\nSet DCBus voltage_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#SwitchedAdmittance","page":"SwitchedAdmittance","title":"SwitchedAdmittance","text":"","category":"section"},{"location":"model_library/generated_SwitchedAdmittance/","page":"SwitchedAdmittance","title":"SwitchedAdmittance","text":"Modules = [PowerSystems]\nPages = [\"generated/SwitchedAdmittance.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.SwitchedAdmittance","page":"SwitchedAdmittance","title":"PowerSystems.SwitchedAdmittance","text":"mutable struct SwitchedAdmittance <: ElectricLoad\n name::String\n available::Bool\n bus::ACBus\n Y::Complex{Float64}\n number_of_steps::Int\n Y_increase::Complex{Float64}\n dynamic_injector::Union{Nothing, DynamicInjection}\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA switched admittance, with discrete steps to adjust the admittance.\n\nMost often used in power flow studies, iterating over the steps to see impacts of admittance on the results. Total admittance is calculated as: Y + number_of_steps * Y_increase\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nY::Complex{Float64}: Initial admittance at N = 0\nnumber_of_steps::Int: (default: 0) Number of steps for adjustable shunt\nY_increase::Complex{Float64}: (default: 0) Admittance increment for each of step increase\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection model for admittance\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_SwitchedAdmittance/#InfrastructureSystems.get_name-Tuple{SwitchedAdmittance}","page":"SwitchedAdmittance","title":"InfrastructureSystems.get_name","text":"get_name(value::SwitchedAdmittance) -> String\n\n\nGet SwitchedAdmittance name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_Y-Tuple{SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_Y","text":"get_Y(value::SwitchedAdmittance) -> ComplexF64\n\n\nGet SwitchedAdmittance Y.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_Y_increase-Tuple{SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_Y_increase","text":"get_Y_increase(value::SwitchedAdmittance) -> ComplexF64\n\n\nGet SwitchedAdmittance Y_increase.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_available-Tuple{SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_available","text":"get_available(value::SwitchedAdmittance) -> Bool\n\n\nGet SwitchedAdmittance available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_bus-Tuple{SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_bus","text":"get_bus(value::SwitchedAdmittance) -> ACBus\n\n\nGet SwitchedAdmittance bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_dynamic_injector-Tuple{SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::SwitchedAdmittance\n) -> Union{Nothing, DynamicInjection}\n\n\nGet SwitchedAdmittance dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_ext-Tuple{SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_ext","text":"get_ext(value::SwitchedAdmittance) -> Dict{String, Any}\n\n\nGet SwitchedAdmittance ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_number_of_steps-Tuple{SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_number_of_steps","text":"get_number_of_steps(value::SwitchedAdmittance) -> Int64\n\n\nGet SwitchedAdmittance number_of_steps.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.get_services-Tuple{SwitchedAdmittance}","page":"SwitchedAdmittance","title":"PowerSystems.get_services","text":"get_services(value::SwitchedAdmittance) -> Vector{Service}\n\n\nGet SwitchedAdmittance services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_Y!-Tuple{SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_Y!","text":"set_Y!(value::SwitchedAdmittance, val) -> Any\n\n\nSet SwitchedAdmittance Y.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_Y_increase!-Tuple{SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_Y_increase!","text":"set_Y_increase!(value::SwitchedAdmittance, val) -> Any\n\n\nSet SwitchedAdmittance Y_increase.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_available!-Tuple{SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_available!","text":"set_available!(value::SwitchedAdmittance, val) -> Any\n\n\nSet SwitchedAdmittance available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_bus!-Tuple{SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_bus!","text":"set_bus!(value::SwitchedAdmittance, val) -> Any\n\n\nSet SwitchedAdmittance bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_ext!-Tuple{SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_ext!","text":"set_ext!(value::SwitchedAdmittance, val) -> Any\n\n\nSet SwitchedAdmittance ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_number_of_steps!-Tuple{SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_number_of_steps!","text":"set_number_of_steps!(value::SwitchedAdmittance, val) -> Any\n\n\nSet SwitchedAdmittance number_of_steps.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_SwitchedAdmittance/#PowerSystems.set_services!-Tuple{SwitchedAdmittance, Any}","page":"SwitchedAdmittance","title":"PowerSystems.set_services!","text":"set_services!(value::SwitchedAdmittance, val) -> Any\n\n\nSet SwitchedAdmittance services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#StandardLoad","page":"StandardLoad","title":"StandardLoad","text":"","category":"section"},{"location":"model_library/generated_StandardLoad/","page":"StandardLoad","title":"StandardLoad","text":"Modules = [PowerSystems]\nPages = [\"generated/StandardLoad.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_StandardLoad/#PowerSystems.StandardLoad","page":"StandardLoad","title":"PowerSystems.StandardLoad","text":"mutable struct StandardLoad <: StaticLoad\n name::String\n available::Bool\n bus::ACBus\n base_power::Float64\n constant_active_power::Float64\n constant_reactive_power::Float64\n impedance_active_power::Float64\n impedance_reactive_power::Float64\n current_active_power::Float64\n current_reactive_power::Float64\n max_constant_active_power::Float64\n max_constant_reactive_power::Float64\n max_impedance_active_power::Float64\n max_impedance_reactive_power::Float64\n max_current_active_power::Float64\n max_current_reactive_power::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA voltage-dependent ZIP load, most commonly used for dynamics modeling.\n\nA StandardLoad breaks the ZIP into three pieces: Z (constant impedance), I (constant current), and P (constant power), according to P = P_P * V^0 + P_I * V^1 + P_Z * V^2 for active power and Q = Q_P * V^0 + Q_I * V^1 + Q_Z * V^2 for reactive power. (Voltage V is in per unit.)\n\nFor an alternative exponential formulation of the ZIP model, see ExponentialLoad. For a simpler load model with no voltage dependency, see PowerLoad\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nbase_power::Float64: Base power of the load (MVA) for per unitization, validation range: (0, nothing)\nconstant_active_power::Float64: (default: 0.0) Constant active power demand in MW (P_P)\nconstant_reactive_power::Float64: (default: 0.0) Constant reactive power demand in MVAR (Q_P)\nimpedance_active_power::Float64: (default: 0.0) Active power coefficient in MW for constant impedance load (P_Z)\nimpedance_reactive_power::Float64: (default: 0.0) Reactive power coefficient in MVAR for constant impedance load (Q_Z)\ncurrent_active_power::Float64: (default: 0.0) Active power coefficient in MW for constant current load (P_I)\ncurrent_reactive_power::Float64: (default: 0.0) Reactive power coefficient in MVAR for constant current load (Q_I)\nmax_constant_active_power::Float64: (default: 0.0) Maximum active power (MW) drawn by constant power load\nmax_constant_reactive_power::Float64: (default: 0.0) Maximum reactive power (MVAR) drawn by constant power load\nmax_impedance_active_power::Float64: (default: 0.0) Maximum active power (MW) drawn by constant impedance load\nmax_impedance_reactive_power::Float64: (default: 0.0) Maximum reactive power (MVAR) drawn by constant impedance load\nmax_current_active_power::Float64: (default: 0.0) Maximum active power (MW) drawn by constant current load\nmax_current_reactive_power::Float64: (default: 0.0) Maximum reactive power (MVAR) drawn by constant current load\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_StandardLoad/#InfrastructureSystems.get_name-Tuple{StandardLoad}","page":"StandardLoad","title":"InfrastructureSystems.get_name","text":"get_name(value::StandardLoad) -> String\n\n\nGet StandardLoad name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_available-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_available","text":"get_available(value::StandardLoad) -> Bool\n\n\nGet StandardLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_base_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_base_power","text":"get_base_power(value::StandardLoad) -> Float64\n\n\nGet StandardLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_bus-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_bus","text":"get_bus(value::StandardLoad) -> ACBus\n\n\nGet StandardLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_constant_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_constant_active_power","text":"get_constant_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad constant_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_constant_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_constant_reactive_power","text":"get_constant_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad constant_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_current_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_current_active_power","text":"get_current_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad current_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_current_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_current_reactive_power","text":"get_current_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad current_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_dynamic_injector-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::StandardLoad\n) -> Union{Nothing, DynamicInjection}\n\n\nGet StandardLoad dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_ext-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_ext","text":"get_ext(value::StandardLoad) -> Dict{String, Any}\n\n\nGet StandardLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_impedance_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_impedance_active_power","text":"get_impedance_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad impedance_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_impedance_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_impedance_reactive_power","text":"get_impedance_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad impedance_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_constant_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_constant_active_power","text":"get_max_constant_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_constant_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_constant_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_constant_reactive_power","text":"get_max_constant_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_constant_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_current_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_current_active_power","text":"get_max_current_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_current_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_current_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_current_reactive_power","text":"get_max_current_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_current_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_impedance_active_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_impedance_active_power","text":"get_max_impedance_active_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_impedance_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_max_impedance_reactive_power-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_max_impedance_reactive_power","text":"get_max_impedance_reactive_power(value::StandardLoad) -> Any\n\n\nGet StandardLoad max_impedance_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.get_services-Tuple{StandardLoad}","page":"StandardLoad","title":"PowerSystems.get_services","text":"get_services(value::StandardLoad) -> Vector{Service}\n\n\nGet StandardLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_available!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_available!","text":"set_available!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_base_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_bus!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_bus!","text":"set_bus!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_constant_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_constant_active_power!","text":"set_constant_active_power!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad constant_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_constant_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_constant_reactive_power!","text":"set_constant_reactive_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad constant_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_current_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_current_active_power!","text":"set_current_active_power!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad current_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_current_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_current_reactive_power!","text":"set_current_reactive_power!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad current_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_ext!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_ext!","text":"set_ext!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_impedance_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_impedance_active_power!","text":"set_impedance_active_power!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad impedance_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_impedance_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_impedance_reactive_power!","text":"set_impedance_reactive_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad impedance_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_constant_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_constant_active_power!","text":"set_max_constant_active_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_constant_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_constant_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_constant_reactive_power!","text":"set_max_constant_reactive_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_constant_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_current_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_current_active_power!","text":"set_max_current_active_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_current_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_current_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_current_reactive_power!","text":"set_max_current_reactive_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_current_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_impedance_active_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_impedance_active_power!","text":"set_max_impedance_active_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_impedance_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_max_impedance_reactive_power!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_max_impedance_reactive_power!","text":"set_max_impedance_reactive_power!(\n value::StandardLoad,\n val\n) -> Any\n\n\nSet StandardLoad max_impedance_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_StandardLoad/#PowerSystems.set_services!-Tuple{StandardLoad, Any}","page":"StandardLoad","title":"PowerSystems.set_services!","text":"set_services!(value::StandardLoad, val) -> Any\n\n\nSet StandardLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#Area","page":"Area","title":"Area","text":"","category":"section"},{"location":"model_library/generated_Area/","page":"Area","title":"Area","text":"Modules = [PowerSystems]\nPages = [\"generated/Area.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Area/#PowerSystems.Area","page":"Area","title":"PowerSystems.Area","text":"mutable struct Area <: AggregationTopology\n name::String\n peak_active_power::Float64\n peak_reactive_power::Float64\n load_response::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA collection of buses for control purposes.\n\nThe Area can be specified when defining each ACBus or DCBus in the area\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\npeak_active_power::Float64: (default: 0.0) Peak active power in the area\npeak_reactive_power::Float64: (default: 0.0) Peak reactive power in the area\nload_response::Float64: (default: 0.0) Load-frequency damping parameter modeling how much the load in the area changes due to changes in frequency (MW/Hz). Example here.\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Area/#InfrastructureSystems.get_name-Tuple{Area}","page":"Area","title":"InfrastructureSystems.get_name","text":"get_name(value::Area) -> String\n\n\nGet Area name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.get_ext-Tuple{Area}","page":"Area","title":"PowerSystems.get_ext","text":"get_ext(value::Area) -> Dict{String, Any}\n\n\nGet Area ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.get_load_response-Tuple{Area}","page":"Area","title":"PowerSystems.get_load_response","text":"get_load_response(value::Area) -> Float64\n\n\nGet Area load_response.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.get_peak_active_power-Tuple{Area}","page":"Area","title":"PowerSystems.get_peak_active_power","text":"get_peak_active_power(value::Area) -> Any\n\n\nGet Area peak_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.get_peak_reactive_power-Tuple{Area}","page":"Area","title":"PowerSystems.get_peak_reactive_power","text":"get_peak_reactive_power(value::Area) -> Any\n\n\nGet Area peak_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.set_ext!-Tuple{Area, Any}","page":"Area","title":"PowerSystems.set_ext!","text":"set_ext!(value::Area, val) -> Any\n\n\nSet Area ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.set_load_response!-Tuple{Area, Any}","page":"Area","title":"PowerSystems.set_load_response!","text":"set_load_response!(value::Area, val) -> Any\n\n\nSet Area load_response.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.set_peak_active_power!-Tuple{Area, Any}","page":"Area","title":"PowerSystems.set_peak_active_power!","text":"set_peak_active_power!(value::Area, val) -> Any\n\n\nSet Area peak_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Area/#PowerSystems.set_peak_reactive_power!-Tuple{Area, Any}","page":"Area","title":"PowerSystems.set_peak_reactive_power!","text":"set_peak_reactive_power!(value::Area, val) -> Any\n\n\nSet Area peak_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#ThermalStandard","page":"ThermalStandard","title":"ThermalStandard","text":"","category":"section"},{"location":"model_library/generated_ThermalStandard/","page":"ThermalStandard","title":"ThermalStandard","text":"Modules = [PowerSystems]\nPages = [\"generated/ThermalStandard.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.ThermalStandard","page":"ThermalStandard","title":"PowerSystems.ThermalStandard","text":"mutable struct ThermalStandard <: ThermalGen\n name::String\n available::Bool\n status::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n active_power_limits::MinMax\n reactive_power_limits::Union{Nothing, MinMax}\n ramp_limits::Union{Nothing, UpDown}\n operation_cost::Union{ThermalGenerationCost, MarketBidCost}\n base_power::Float64\n time_limits::Union{Nothing, UpDown}\n must_run::Bool\n prime_mover_type::PrimeMovers\n fuel::ThermalFuels\n services::Vector{Service}\n time_at_status::Float64\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA thermal generator, such as a fossil fuel and nuclear generator.\n\nThis is a standard representation with options to include a minimum up time, minimum down time, and ramp limits. For a more detailed representation the start-up and shut-down processes, including hot starts, see ThermalMultiStart\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nstatus::Bool: Initial commitment condition at the start of a simulation (true = on or false = off)\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used, validation range: active_power_limits\nreactive_power::Float64: Initial reactive power set point of the unit (MVAR), validation range: reactive_power_limits\nrating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)\nactive_power_limits::MinMax: Minimum and maximum stable active power levels (MW), validation range: (0, nothing)\nreactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable\nramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min, validation range: (0, nothing)\noperation_cost::Union{ThermalGenerationCost, MarketBidCost}: Operating cost of generation\nbase_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)\ntime_limits::Union{Nothing, UpDown}: (default: nothing) Minimum up and Minimum down time limits in hours, validation range: (0, nothing)\nmust_run::Bool: (default: false) Set to true if the unit is must run\nprime_mover_type::PrimeMovers: (default: PrimeMovers.OT) Prime mover technology according to EIA 923. Options are listed here\nfuel::ThermalFuels: (default: ThermalFuels.OTHER) Prime mover fuel according to EIA 923. Options are listed here\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ntime_at_status::Float64: (default: INFINITE_TIME) Time (e.g., Hours(6)) the generator has been on or off, as indicated by status\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_ThermalStandard/#InfrastructureSystems.get_name-Tuple{ThermalStandard}","page":"ThermalStandard","title":"InfrastructureSystems.get_name","text":"get_name(value::ThermalStandard) -> String\n\n\nGet ThermalStandard name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_active_power-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_active_power","text":"get_active_power(value::ThermalStandard) -> Any\n\n\nGet ThermalStandard active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_active_power_limits-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::ThermalStandard\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet ThermalStandard active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_available-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_available","text":"get_available(value::ThermalStandard) -> Bool\n\n\nGet ThermalStandard available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_base_power-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_base_power","text":"get_base_power(value::ThermalStandard) -> Float64\n\n\nGet ThermalStandard base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_bus-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_bus","text":"get_bus(value::ThermalStandard) -> ACBus\n\n\nGet ThermalStandard bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_dynamic_injector-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::ThermalStandard\n) -> Union{Nothing, DynamicInjection}\n\n\nGet ThermalStandard dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_ext-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_ext","text":"get_ext(value::ThermalStandard) -> Dict{String, Any}\n\n\nGet ThermalStandard ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_fuel-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_fuel","text":"get_fuel(value::ThermalStandard) -> ThermalFuels\n\n\nGet ThermalStandard fuel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_must_run-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_must_run","text":"get_must_run(value::ThermalStandard) -> Bool\n\n\nGet ThermalStandard must_run.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_operation_cost-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::ThermalStandard\n) -> Union{MarketBidCost, ThermalGenerationCost}\n\n\nGet ThermalStandard operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_prime_mover_type-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(value::ThermalStandard) -> PrimeMovers\n\n\nGet ThermalStandard prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_ramp_limits-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_ramp_limits","text":"get_ramp_limits(\n value::ThermalStandard\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet ThermalStandard ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_rating-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_rating","text":"get_rating(value::ThermalStandard) -> Any\n\n\nGet ThermalStandard rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_reactive_power-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::ThermalStandard) -> Any\n\n\nGet ThermalStandard reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_reactive_power_limits-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::ThermalStandard\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet ThermalStandard reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_services-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_services","text":"get_services(value::ThermalStandard) -> Vector{Service}\n\n\nGet ThermalStandard services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_status-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_status","text":"get_status(value::ThermalStandard) -> Bool\n\n\nGet ThermalStandard status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_time_at_status-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_time_at_status","text":"get_time_at_status(value::ThermalStandard) -> Float64\n\n\nGet ThermalStandard time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.get_time_limits-Tuple{ThermalStandard}","page":"ThermalStandard","title":"PowerSystems.get_time_limits","text":"get_time_limits(\n value::ThermalStandard\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet ThermalStandard time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_active_power!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_active_power_limits!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_available!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_available!","text":"set_available!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_base_power!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_bus!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_bus!","text":"set_bus!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_ext!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_ext!","text":"set_ext!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_fuel!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_fuel!","text":"set_fuel!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard fuel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_must_run!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_must_run!","text":"set_must_run!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard must_run.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_operation_cost!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_prime_mover_type!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_ramp_limits!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_ramp_limits!","text":"set_ramp_limits!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_rating!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_rating!","text":"set_rating!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_reactive_power!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_reactive_power_limits!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::ThermalStandard,\n val\n) -> Any\n\n\nSet ThermalStandard reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_services!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_services!","text":"set_services!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_status!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_status!","text":"set_status!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_time_at_status!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_time_at_status!","text":"set_time_at_status!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalStandard/#PowerSystems.set_time_limits!-Tuple{ThermalStandard, Any}","page":"ThermalStandard","title":"PowerSystems.set_time_limits!","text":"set_time_limits!(value::ThermalStandard, val) -> Any\n\n\nSet ThermalStandard time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#VariableReserveNonSpinning","page":"VariableReserveNonSpinning","title":"VariableReserveNonSpinning","text":"","category":"section"},{"location":"model_library/generated_VariableReserveNonSpinning/","page":"VariableReserveNonSpinning","title":"VariableReserveNonSpinning","text":"Modules = [PowerSystems]\nPages = [\"generated/VariableReserveNonSpinning.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.VariableReserveNonSpinning","page":"VariableReserveNonSpinning","title":"PowerSystems.VariableReserveNonSpinning","text":"mutable struct VariableReserveNonSpinning <: ReserveNonSpinning\n name::String\n available::Bool\n time_frame::Float64\n requirement::Float64\n sustained_time::Float64\n max_output_fraction::Float64\n max_participation_factor::Float64\n deployed_fraction::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA non-spinning reserve product with a time-varying procurement requirement, such as a higher requirement during hours with an expected high load or high ramp.\n\nThis reserve product includes back-up generators that might not be currently synchronized with the power system, but can come online quickly after an unexpected contingency, such as a transmission line or generator outage. To model the time varying requirement, a \"requirement\" time series should be added to this reserve.\n\nThis is only an upwards reserve. For faster-responding upwards or downwards reserves from components already synchronized with the system, see VariableReserve\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\ntime_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing)\nrequirement::Float64: the required quantity of the product should be scaled by a TimeSeriesData\nsustained_time::Float64: (default: 14400.0) the time in seconds reserve contribution must sustained at a specified level, validation range: (0, nothing)\nmax_output_fraction::Float64: (default: 1.0) the maximum fraction of each device's output that can be assigned to the service, validation range: (0, 1)\nmax_participation_factor::Float64: (default: 1.0) the maximum portion [0, 1.0] of the reserve that can be contributed per device, validation range: (0, 1)\ndeployed_fraction::Float64: (default: 0.0) Fraction of service procurement that is assumed to be actually deployed. Most commonly, this is assumed to be either 0.0 or 1.0, validation range: (0, 1)\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_VariableReserveNonSpinning/#InfrastructureSystems.get_name-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"InfrastructureSystems.get_name","text":"get_name(value::VariableReserveNonSpinning) -> String\n\n\nGet VariableReserveNonSpinning name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_available-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_available","text":"get_available(value::VariableReserveNonSpinning) -> Bool\n\n\nGet VariableReserveNonSpinning available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_deployed_fraction-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_deployed_fraction","text":"get_deployed_fraction(\n value::VariableReserveNonSpinning\n) -> Float64\n\n\nGet VariableReserveNonSpinning deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_ext-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_ext","text":"get_ext(\n value::VariableReserveNonSpinning\n) -> Dict{String, Any}\n\n\nGet VariableReserveNonSpinning ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_max_output_fraction-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_max_output_fraction","text":"get_max_output_fraction(\n value::VariableReserveNonSpinning\n) -> Float64\n\n\nGet VariableReserveNonSpinning max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_max_participation_factor-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_max_participation_factor","text":"get_max_participation_factor(\n value::VariableReserveNonSpinning\n) -> Float64\n\n\nGet VariableReserveNonSpinning max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_requirement-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_requirement","text":"get_requirement(value::VariableReserveNonSpinning) -> Any\n\n\nGet VariableReserveNonSpinning requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_sustained_time-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_sustained_time","text":"get_sustained_time(\n value::VariableReserveNonSpinning\n) -> Float64\n\n\nGet VariableReserveNonSpinning sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.get_time_frame-Tuple{VariableReserveNonSpinning}","page":"VariableReserveNonSpinning","title":"PowerSystems.get_time_frame","text":"get_time_frame(value::VariableReserveNonSpinning) -> Float64\n\n\nGet VariableReserveNonSpinning time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_available!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_available!","text":"set_available!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_deployed_fraction!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_deployed_fraction!","text":"set_deployed_fraction!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_ext!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_ext!","text":"set_ext!(value::VariableReserveNonSpinning, val) -> Any\n\n\nSet VariableReserveNonSpinning ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_max_output_fraction!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_max_output_fraction!","text":"set_max_output_fraction!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_max_participation_factor!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_max_participation_factor!","text":"set_max_participation_factor!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_requirement!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_requirement!","text":"set_requirement!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_sustained_time!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_sustained_time!","text":"set_sustained_time!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_VariableReserveNonSpinning/#PowerSystems.set_time_frame!-Tuple{VariableReserveNonSpinning, Any}","page":"VariableReserveNonSpinning","title":"PowerSystems.set_time_frame!","text":"set_time_frame!(\n value::VariableReserveNonSpinning,\n val\n) -> Any\n\n\nSet VariableReserveNonSpinning time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#Converter","page":"Converter","title":"Converter","text":"","category":"section"},{"location":"model_library/generated_Converter/#AverageConverter","page":"Converter","title":"AverageConverter","text":"","category":"section"},{"location":"model_library/generated_Converter/","page":"Converter","title":"Converter","text":"Modules = [PowerSystems]\nPages = [\"/AverageConverter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Converter/#PowerSystems.AverageConverter","page":"Converter","title":"PowerSystems.AverageConverter","text":"mutable struct AverageConverter <: Converter\n rated_voltage::Float64\n rated_current::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of an average converter model\n\nArguments\n\nrated_voltage::Float64: Rated voltage (V), validation range: (0, nothing)\nrated_current::Float64: Rated current (A), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) AverageConverter has no states\nn_states::Int: (Do not modify.) AverageConverter has no states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Converter/#PowerSystems.get_ext-Tuple{AverageConverter}","page":"Converter","title":"PowerSystems.get_ext","text":"get_ext(value::AverageConverter) -> Dict{String, Any}\n\n\nGet AverageConverter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_n_states-Tuple{AverageConverter}","page":"Converter","title":"PowerSystems.get_n_states","text":"get_n_states(value::AverageConverter) -> Int64\n\n\nGet AverageConverter n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_rated_current-Tuple{AverageConverter}","page":"Converter","title":"PowerSystems.get_rated_current","text":"get_rated_current(value::AverageConverter) -> Float64\n\n\nGet AverageConverter rated_current.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_rated_voltage-Tuple{AverageConverter}","page":"Converter","title":"PowerSystems.get_rated_voltage","text":"get_rated_voltage(value::AverageConverter) -> Float64\n\n\nGet AverageConverter rated_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_states-Tuple{AverageConverter}","page":"Converter","title":"PowerSystems.get_states","text":"get_states(value::AverageConverter) -> Vector{Symbol}\n\n\nGet AverageConverter states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_ext!-Tuple{AverageConverter, Any}","page":"Converter","title":"PowerSystems.set_ext!","text":"set_ext!(value::AverageConverter, val) -> Any\n\n\nSet AverageConverter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_rated_current!-Tuple{AverageConverter, Any}","page":"Converter","title":"PowerSystems.set_rated_current!","text":"set_rated_current!(value::AverageConverter, val) -> Any\n\n\nSet AverageConverter rated_current.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_rated_voltage!-Tuple{AverageConverter, Any}","page":"Converter","title":"PowerSystems.set_rated_voltage!","text":"set_rated_voltage!(value::AverageConverter, val) -> Any\n\n\nSet AverageConverter rated_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#RenewableEnergyConverterTypeA","page":"Converter","title":"RenewableEnergyConverterTypeA","text":"","category":"section"},{"location":"model_library/generated_Converter/","page":"Converter","title":"Converter","text":"Modules = [PowerSystems]\nPages = [\"/RenewableEnergyConverterTypeA.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Converter/#PowerSystems.RenewableEnergyConverterTypeA","page":"Converter","title":"PowerSystems.RenewableEnergyConverterTypeA","text":"mutable struct RenewableEnergyConverterTypeA <: Converter\n T_g::Float64\n Rrpwr::Float64\n Brkpt::Float64\n Zerox::Float64\n Lvpl1::Float64\n Vo_lim::Float64\n Lv_pnts::MinMax\n Io_lim::Float64\n T_fltr::Float64\n K_hv::Float64\n Iqr_lims::MinMax\n Accel::Float64\n Lvpl_sw::Int\n Q_ref::Float64\n R_source::Float64\n X_source::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a renewable energy generator/converter model, this model corresponds to REGCA1 in PSSE\n\nArguments\n\nT_g::Float64: Converter time constant (s), validation range: (0, nothing)\nRrpwr::Float64: Low Voltage Power Logic (LVPL) ramp rate limit (pu/s), validation range: (0, nothing)\nBrkpt::Float64: LVPL characteristic voltage 2 (pu), validation range: (0, nothing)\nZerox::Float64: LVPL characteristic voltage 1 (pu), validation range: (0, nothing)\nLvpl1::Float64: LVPL gain (pu), validation range: (0, nothing)\nVo_lim::Float64: Voltage limit for high voltage reactive current management (pu), validation range: (0, nothing)\nLv_pnts::MinMax: Voltage points for low voltage active current management (pu) (Lvpnt0, Lvpnt1)\nIo_lim::Float64: Current limit (pu) for high voltage reactive current management (specified as a negative value), validation range: (nothing, 0)\nT_fltr::Float64: Voltage filter time constant for low voltage active current management (s), validation range: (0, nothing)\nK_hv::Float64: Overvoltage compensation gain used in the high voltage reactive current management, validation range: (0, nothing)\nIqr_lims::MinMax: Limit on rate of change for reactive current (pu/s) (Iqrmin, Iqrmax)\nAccel::Float64: Acceleration factor, validation range: (0, 1)\nLvpl_sw::Int: Low voltage power logic (LVPL) switch. (0: LVPL not present, 1: LVPL present), validation range: (0, 1)\nQ_ref::Float64: (default: 1.0) Initial condition of reactive power from power flow, validation range: (0, nothing)\nR_source::Float64: (default: 0.0) Output resistor used for the Thevenin Equivalent, validation range: (0, nothing)\nX_source::Float64: (default: 1.0e5) Output reactance used for the Thevenin Equivalent, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\tIp: Converter lag for Ipcmd,\tIq: Converter lag for Iqcmd,\tVmeas: Voltage filter for low voltage active current management\nn_states::Int: (Do not modify.) RenewableEnergyConverterTypeA has 3 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Converter/#PowerSystems.get_Accel-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Accel","text":"get_Accel(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Accel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Brkpt-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Brkpt","text":"get_Brkpt(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Brkpt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Io_lim-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Io_lim","text":"get_Io_lim(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Io_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Iqr_lims-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Iqr_lims","text":"get_Iqr_lims(\n value::RenewableEnergyConverterTypeA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RenewableEnergyConverterTypeA Iqr_lims.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_K_hv-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_K_hv","text":"get_K_hv(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA K_hv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lv_pnts-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lv_pnts","text":"get_Lv_pnts(\n value::RenewableEnergyConverterTypeA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RenewableEnergyConverterTypeA Lv_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lvpl1-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lvpl1","text":"get_Lvpl1(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Lvpl1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lvpl_sw-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lvpl_sw","text":"get_Lvpl_sw(value::RenewableEnergyConverterTypeA) -> Int64\n\n\nGet RenewableEnergyConverterTypeA Lvpl_sw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Q_ref-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Q_ref","text":"get_Q_ref(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Q_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_R_source-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_R_source","text":"get_R_source(\n value::RenewableEnergyConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyConverterTypeA R_source.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Rrpwr-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Rrpwr","text":"get_Rrpwr(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Rrpwr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_T_fltr-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_T_fltr","text":"get_T_fltr(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA T_fltr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_T_g-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_T_g","text":"get_T_g(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA T_g.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Vo_lim-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Vo_lim","text":"get_Vo_lim(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Vo_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_X_source-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_X_source","text":"get_X_source(\n value::RenewableEnergyConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyConverterTypeA X_source.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Zerox-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_Zerox","text":"get_Zerox(value::RenewableEnergyConverterTypeA) -> Float64\n\n\nGet RenewableEnergyConverterTypeA Zerox.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_ext-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_ext","text":"get_ext(\n value::RenewableEnergyConverterTypeA\n) -> Dict{String, Any}\n\n\nGet RenewableEnergyConverterTypeA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_n_states-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_n_states","text":"get_n_states(value::RenewableEnergyConverterTypeA) -> Int64\n\n\nGet RenewableEnergyConverterTypeA n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_states-Tuple{RenewableEnergyConverterTypeA}","page":"Converter","title":"PowerSystems.get_states","text":"get_states(\n value::RenewableEnergyConverterTypeA\n) -> Vector{Symbol}\n\n\nGet RenewableEnergyConverterTypeA states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Accel!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Accel!","text":"set_Accel!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Accel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Brkpt!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Brkpt!","text":"set_Brkpt!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Brkpt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Io_lim!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Io_lim!","text":"set_Io_lim!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA Io_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Iqr_lims!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Iqr_lims!","text":"set_Iqr_lims!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA Iqr_lims.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_K_hv!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_K_hv!","text":"set_K_hv!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA K_hv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lv_pnts!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lv_pnts!","text":"set_Lv_pnts!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA Lv_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lvpl1!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lvpl1!","text":"set_Lvpl1!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Lvpl1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lvpl_sw!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lvpl_sw!","text":"set_Lvpl_sw!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA Lvpl_sw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Q_ref!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Q_ref!","text":"set_Q_ref!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Q_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_R_source!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_R_source!","text":"set_R_source!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA R_source.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Rrpwr!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Rrpwr!","text":"set_Rrpwr!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Rrpwr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_T_fltr!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_T_fltr!","text":"set_T_fltr!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA T_fltr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_T_g!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_T_g!","text":"set_T_g!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA T_g.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Vo_lim!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Vo_lim!","text":"set_Vo_lim!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA Vo_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_X_source!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_X_source!","text":"set_X_source!(\n value::RenewableEnergyConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyConverterTypeA X_source.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Zerox!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Zerox!","text":"set_Zerox!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA Zerox.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_ext!-Tuple{RenewableEnergyConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_ext!","text":"set_ext!(value::RenewableEnergyConverterTypeA, val) -> Any\n\n\nSet RenewableEnergyConverterTypeA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#RenewableEnergyVoltageConverterTypeA","page":"Converter","title":"RenewableEnergyVoltageConverterTypeA","text":"","category":"section"},{"location":"model_library/generated_Converter/","page":"Converter","title":"Converter","text":"Modules = [PowerSystems]\nPages = [\"/RenewableEnergyVoltageConverterTypeA.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Converter/#PowerSystems.RenewableEnergyVoltageConverterTypeA","page":"Converter","title":"PowerSystems.RenewableEnergyVoltageConverterTypeA","text":"mutable struct RenewableEnergyVoltageConverterTypeA <: Converter\n T_g::Float64\n Rrpwr::Float64\n Brkpt::Float64\n Zerox::Float64\n Lvpl1::Float64\n Vo_lim::Float64\n Lv_pnts::MinMax\n Io_lim::Float64\n T_fltr::Float64\n K_hv::Float64\n Iqr_lims::MinMax\n Accel::Float64\n Lvpl_sw::Int\n Q_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a renewable energy generator/converter model, this model corresponds to REGCA1 in PSSE, but to be interfaced using a Voltage Source instead of a Current Source\n\nArguments\n\nT_g::Float64: Converter time constant (s), validation range: (0, nothing)\nRrpwr::Float64: Low Voltage Power Logic (LVPL) ramp rate limit (pu/s), validation range: (0, nothing)\nBrkpt::Float64: LVPL characteristic voltage 2 (pu), validation range: (0, nothing)\nZerox::Float64: LVPL characteristic voltage 1 (pu), validation range: (0, nothing)\nLvpl1::Float64: LVPL gain (pu), validation range: (0, nothing)\nVo_lim::Float64: Voltage limit for high voltage reactive current management (pu), validation range: (0, nothing)\nLv_pnts::MinMax: Voltage points for low voltage active current management (pu) (Lvpnt0, Lvpnt1)\nIo_lim::Float64: Current limit (pu) for high voltage reactive current management (specified as a negative value), validation range: (nothing, 0)\nT_fltr::Float64: Voltage filter time constant for low voltage active current management (s), validation range: (0, nothing)\nK_hv::Float64: Overvoltage compensation gain used in the high voltage reactive current management, validation range: (0, nothing)\nIqr_lims::MinMax: Limit on rate of change for reactive current (pu/s) (Iqrmin, Iqrmax)\nAccel::Float64: Acceleration factor, validation range: (0, 1)\nLvpl_sw::Int: Low voltage power logic (LVPL) switch. (0: LVPL not present, 1: LVPL present), validation range: (0, 1)\nQ_ref::Float64: (default: 1.0) Initial condition of reactive power from power flow, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\tIp: Converter lag for Ipcmd,\tIq: Converter lag for Iqcmd,\tVmeas: Voltage filter for low voltage active current management\nn_states::Int: (Do not modify.) RenewableEnergyVoltageConverterTypeA has 3 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Converter/#PowerSystems.get_Accel-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Accel","text":"get_Accel(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Accel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Brkpt-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Brkpt","text":"get_Brkpt(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Brkpt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Io_lim-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Io_lim","text":"get_Io_lim(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Io_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Iqr_lims-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Iqr_lims","text":"get_Iqr_lims(\n value::RenewableEnergyVoltageConverterTypeA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RenewableEnergyVoltageConverterTypeA Iqr_lims.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_K_hv-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_K_hv","text":"get_K_hv(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA K_hv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lv_pnts-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lv_pnts","text":"get_Lv_pnts(\n value::RenewableEnergyVoltageConverterTypeA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RenewableEnergyVoltageConverterTypeA Lv_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lvpl1-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lvpl1","text":"get_Lvpl1(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Lvpl1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Lvpl_sw-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Lvpl_sw","text":"get_Lvpl_sw(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Int64\n\n\nGet RenewableEnergyVoltageConverterTypeA Lvpl_sw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Q_ref-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Q_ref","text":"get_Q_ref(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Q_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Rrpwr-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Rrpwr","text":"get_Rrpwr(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Rrpwr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_T_fltr-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_T_fltr","text":"get_T_fltr(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA T_fltr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_T_g-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_T_g","text":"get_T_g(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA T_g.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Vo_lim-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Vo_lim","text":"get_Vo_lim(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Vo_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_Zerox-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_Zerox","text":"get_Zerox(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Float64\n\n\nGet RenewableEnergyVoltageConverterTypeA Zerox.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_ext-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_ext","text":"get_ext(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Dict{String, Any}\n\n\nGet RenewableEnergyVoltageConverterTypeA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_n_states-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_n_states","text":"get_n_states(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Int64\n\n\nGet RenewableEnergyVoltageConverterTypeA n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.get_states-Tuple{RenewableEnergyVoltageConverterTypeA}","page":"Converter","title":"PowerSystems.get_states","text":"get_states(\n value::RenewableEnergyVoltageConverterTypeA\n) -> Vector{Symbol}\n\n\nGet RenewableEnergyVoltageConverterTypeA states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Accel!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Accel!","text":"set_Accel!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Accel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Brkpt!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Brkpt!","text":"set_Brkpt!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Brkpt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Io_lim!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Io_lim!","text":"set_Io_lim!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Io_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Iqr_lims!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Iqr_lims!","text":"set_Iqr_lims!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Iqr_lims.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_K_hv!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_K_hv!","text":"set_K_hv!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA K_hv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lv_pnts!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lv_pnts!","text":"set_Lv_pnts!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Lv_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lvpl1!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lvpl1!","text":"set_Lvpl1!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Lvpl1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Lvpl_sw!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Lvpl_sw!","text":"set_Lvpl_sw!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Lvpl_sw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Q_ref!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Q_ref!","text":"set_Q_ref!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Q_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Rrpwr!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Rrpwr!","text":"set_Rrpwr!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Rrpwr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_T_fltr!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_T_fltr!","text":"set_T_fltr!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA T_fltr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_T_g!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_T_g!","text":"set_T_g!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA T_g.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Vo_lim!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Vo_lim!","text":"set_Vo_lim!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Vo_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_Zerox!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_Zerox!","text":"set_Zerox!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA Zerox.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Converter/#PowerSystems.set_ext!-Tuple{RenewableEnergyVoltageConverterTypeA, Any}","page":"Converter","title":"PowerSystems.set_ext!","text":"set_ext!(\n value::RenewableEnergyVoltageConverterTypeA,\n val\n) -> Any\n\n\nSet RenewableEnergyVoltageConverterTypeA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PhaseShiftingTransformer","page":"PhaseShiftingTransformer","title":"PhaseShiftingTransformer","text":"","category":"section"},{"location":"model_library/generated_PhaseShiftingTransformer/","page":"PhaseShiftingTransformer","title":"PhaseShiftingTransformer","text":"Modules = [PowerSystems]\nPages = [\"generated/PhaseShiftingTransformer.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.PhaseShiftingTransformer","page":"PhaseShiftingTransformer","title":"PowerSystems.PhaseShiftingTransformer","text":"mutable struct PhaseShiftingTransformer <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n reactive_power_flow::Float64\n arc::Arc\n r::Float64\n x::Float64\n primary_shunt::Float64\n tap::Float64\n α::Float64\n rating::Union{Nothing, Float64}\n phase_angle_limits::MinMax\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA phase-shifting transformer regulating the phase angle between two buses to control active power flow in the system.\n\nThe model uses an equivalent circuit assuming the impedance is on the High Voltage Side of the transformer. The model allocates the iron losses and magnetizing susceptance to the primary side\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nactive_power_flow::Float64: Initial condition of active power flow through the transformer (MW)\nreactive_power_flow::Float64: Initial condition of reactive power flow through the transformer (MVAR)\narc::Arc: An Arc defining this transformer from a bus to another bus\nr::Float64: Resistance in pu (SYSTEM_BASE), validation range: (0, 4)\nx::Float64: Reactance in pu (SYSTEM_BASE), validation range: (-2, 4)\nprimary_shunt::Float64:, validation range: (0, 2)\ntap::Float64: Normalized tap changer position for voltage control, varying between 0 and 2, with 1 centered at the nominal voltage, validation range: (0, 2)\nα::Float64: Initial condition of phase shift (radians) between the from and to buses , validation range: (-1.571, 1.571)\nrating::Union{Nothing, Float64}: Thermal rating (MVA). Flow through the transformer must be between -rating and rating, validation range: (0, nothing)\nphase_angle_limits::MinMax: (default: (min=-1.571, max=1.571)) Minimum and maximum phase angle limits (radians), validation range: (-1.571, 1.571)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PhaseShiftingTransformer/#InfrastructureSystems.get_name-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"InfrastructureSystems.get_name","text":"get_name(value::PhaseShiftingTransformer) -> String\n\n\nGet PhaseShiftingTransformer name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_active_power_flow-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(\n value::PhaseShiftingTransformer\n) -> Any\n\n\nGet PhaseShiftingTransformer active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_arc-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_arc","text":"get_arc(value::PhaseShiftingTransformer) -> Arc\n\n\nGet PhaseShiftingTransformer arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_available-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_available","text":"get_available(value::PhaseShiftingTransformer) -> Bool\n\n\nGet PhaseShiftingTransformer available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_ext-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_ext","text":"get_ext(\n value::PhaseShiftingTransformer\n) -> Dict{String, Any}\n\n\nGet PhaseShiftingTransformer ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_phase_angle_limits-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_phase_angle_limits","text":"get_phase_angle_limits(\n value::PhaseShiftingTransformer\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet PhaseShiftingTransformer phase_angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_primary_shunt-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_primary_shunt","text":"get_primary_shunt(\n value::PhaseShiftingTransformer\n) -> Float64\n\n\nGet PhaseShiftingTransformer primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_r-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_r","text":"get_r(value::PhaseShiftingTransformer) -> Float64\n\n\nGet PhaseShiftingTransformer r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_rating-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_rating","text":"get_rating(value::PhaseShiftingTransformer) -> Any\n\n\nGet PhaseShiftingTransformer rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_reactive_power_flow-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(\n value::PhaseShiftingTransformer\n) -> Any\n\n\nGet PhaseShiftingTransformer reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_services-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_services","text":"get_services(\n value::PhaseShiftingTransformer\n) -> Vector{Service}\n\n\nGet PhaseShiftingTransformer services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_tap-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_tap","text":"get_tap(value::PhaseShiftingTransformer) -> Float64\n\n\nGet PhaseShiftingTransformer tap.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_x-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_x","text":"get_x(value::PhaseShiftingTransformer) -> Float64\n\n\nGet PhaseShiftingTransformer x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.get_α-Tuple{PhaseShiftingTransformer}","page":"PhaseShiftingTransformer","title":"PowerSystems.get_α","text":"get_α(value::PhaseShiftingTransformer) -> Float64\n\n\nGet PhaseShiftingTransformer α.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_active_power_flow!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(\n value::PhaseShiftingTransformer,\n val\n) -> Any\n\n\nSet PhaseShiftingTransformer active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_arc!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_arc!","text":"set_arc!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_available!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_available!","text":"set_available!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_ext!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_ext!","text":"set_ext!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_phase_angle_limits!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_phase_angle_limits!","text":"set_phase_angle_limits!(\n value::PhaseShiftingTransformer,\n val\n) -> Any\n\n\nSet PhaseShiftingTransformer phase_angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_primary_shunt!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_primary_shunt!","text":"set_primary_shunt!(\n value::PhaseShiftingTransformer,\n val\n) -> Any\n\n\nSet PhaseShiftingTransformer primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_r!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_r!","text":"set_r!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_rating!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_rating!","text":"set_rating!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_reactive_power_flow!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(\n value::PhaseShiftingTransformer,\n val\n) -> Any\n\n\nSet PhaseShiftingTransformer reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_services!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_services!","text":"set_services!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_tap!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_tap!","text":"set_tap!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer tap.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_x!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_x!","text":"set_x!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PhaseShiftingTransformer/#PowerSystems.set_α!-Tuple{PhaseShiftingTransformer, Any}","page":"PhaseShiftingTransformer","title":"PowerSystems.set_α!","text":"set_α!(value::PhaseShiftingTransformer, val) -> Any\n\n\nSet PhaseShiftingTransformer α.\n\n\n\n\n\n","category":"method"},{"location":"model_developer_guide/adding_additional_fields/#Adding-additional-fields","page":"Adding Additional Fields","title":"Adding additional fields","text":"","category":"section"},{"location":"model_developer_guide/adding_additional_fields/","page":"Adding Additional Fields","title":"Adding Additional Fields","text":"All components currently implemented in PowerSystems.jl have an ext field that contains an empty Dictionary. This empty dictionary can be accessed with the method get_ext. shows an example of adding additional data to the ThermalStandard structs for other modeling requirements.","category":"page"},{"location":"model_developer_guide/adding_additional_fields/","page":"Adding Additional Fields","title":"Adding Additional Fields","text":"This method is useful if there is no requirement to create new behaviours for components of a particular type but additional fields are required. A simple example is the addition of geographic information if needed.","category":"page"},{"location":"model_developer_guide/adding_additional_fields/","page":"Adding Additional Fields","title":"Adding Additional Fields","text":"using PowerSystems\nconst PSY = PowerSystems\n\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\")\nsystem = System(joinpath(file_dir, \"case5_re.m\"))\n\nfor g in get_components(ThermalStandard, system)\n external_field = get_ext(g)\n external_field[\"my_data\"] = 1.0\nend\n\ngen_alta = get_component(ThermalStandard, system, \"Alta\")\n\nmy_data = get_ext(gen_alta)[\"my_data\"]","category":"page"},{"location":"model_library/generated_PowerLoad/#PowerLoad","page":"PowerLoad","title":"PowerLoad","text":"","category":"section"},{"location":"model_library/generated_PowerLoad/","page":"PowerLoad","title":"PowerLoad","text":"Modules = [PowerSystems]\nPages = [\"generated/PowerLoad.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_PowerLoad/#PowerSystems.PowerLoad","page":"PowerLoad","title":"PowerSystems.PowerLoad","text":"mutable struct PowerLoad <: StaticLoad\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n base_power::Float64\n max_active_power::Float64\n max_reactive_power::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA static power load, most commonly used for operational models such as power flow and operational optimizations.\n\nThis load consumes a set amount of power (set by active_power for a power flow simulation or a max_active_power time series for an operational simulation). For loads that can be compensated for load interruptions through demand response programs, see InterruptiblePowerLoad. For voltage-dependent loads used in dynamics modeling, see StandardLoad\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial steady-state active power demand (MW)\nreactive_power::Float64: Initial steady-state reactive power demand (MVAR)\nbase_power::Float64: Base power (MVA) for per unitization, validation range: (0, nothing)\nmax_active_power::Float64: Maximum active power (MW) that this load can demand\nmax_reactive_power::Float64: Maximum reactive power (MVAR) that this load can demand\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_PowerLoad/#InfrastructureSystems.get_name-Tuple{PowerLoad}","page":"PowerLoad","title":"InfrastructureSystems.get_name","text":"get_name(value::PowerLoad) -> String\n\n\nGet PowerLoad name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_active_power-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_active_power","text":"get_active_power(value::PowerLoad) -> Any\n\n\nGet PowerLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_available-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_available","text":"get_available(value::PowerLoad) -> Bool\n\n\nGet PowerLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_base_power-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_base_power","text":"get_base_power(value::PowerLoad) -> Float64\n\n\nGet PowerLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_bus-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_bus","text":"get_bus(value::PowerLoad) -> ACBus\n\n\nGet PowerLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_dynamic_injector-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::PowerLoad\n) -> Union{Nothing, DynamicInjection}\n\n\nGet PowerLoad dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_ext-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_ext","text":"get_ext(value::PowerLoad) -> Dict{String, Any}\n\n\nGet PowerLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_max_active_power-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_max_active_power","text":"get_max_active_power(value::PowerLoad) -> Any\n\n\nGet PowerLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_max_reactive_power-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(value::PowerLoad) -> Any\n\n\nGet PowerLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_reactive_power-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::PowerLoad) -> Any\n\n\nGet PowerLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.get_services-Tuple{PowerLoad}","page":"PowerLoad","title":"PowerSystems.get_services","text":"get_services(value::PowerLoad) -> Vector{Service}\n\n\nGet PowerLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_active_power!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_available!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_available!","text":"set_available!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_base_power!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_bus!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_bus!","text":"set_bus!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_ext!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_ext!","text":"set_ext!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_max_active_power!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_max_active_power!","text":"set_max_active_power!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_max_reactive_power!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_max_reactive_power!","text":"set_max_reactive_power!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_reactive_power!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_PowerLoad/#PowerSystems.set_services!-Tuple{PowerLoad, Any}","page":"PowerLoad","title":"PowerSystems.set_services!","text":"set_services!(value::PowerLoad, val) -> Any\n\n\nSet PowerLoad services.\n\n\n\n\n\n","category":"method"},{"location":"#PowerSystems.jl","page":"Welcome Page","title":"PowerSystems.jl","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"CurrentModule = PowerSystems","category":"page"},{"location":"#Overview","page":"Welcome Page","title":"Overview","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl is a Julia package that provides a rigorous data model using Julia structures to enable power systems modeling. PowerSystems.jl is agnostic to a specific mathematical model and can be used for many model categories.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl provides tools to prepare and process data useful for electric energy systems modeling. This package serves two purposes:","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"It facilitates the development and open sharing of large data sets for Power Systems modeling\nIt provides a data model that imposes discipline on model specification, addressing the challenge of design and terminology choices when sharing code and data.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"The main features include:","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Comprehensive and extensible library of data structures for electric systems modeling.\nLarge scale data set development tools based on common text based data formats (PSS/e .raw and .dyr, and MATPOWER) and configurable tabular data (e.g. CSV) parsing capabilities.\nOptimized container for component data and time series supporting serialization to portable file formats and configurable validation routines.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl documentation and code are organized according to the needs of different users depending on their skillset and requirements. In broad terms there are three categories:","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Modeler: Users that want to run a particular analysis or experiment and use PowerSystems.jl to develop data sets.\nModel Developer: Users that want to develop custom components and structs in order to exploit PowerSystems.jl features to produce custom data sets.\nCode Base Developers: Users that want to add new core functionalities or fix bugs in the core capabilities of PowerSystems.jl.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl is an active project under development, and we welcome your feedback, suggestions, and bug reports.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Note: PowerSystems.jl uses InfrastructureSystems.jl as a utility library. Several methods are re-exported from InfrastructureSystems.jl. For most users there is no need to import InfrastructureSystems.jl.","category":"page"},{"location":"#Installation","page":"Welcome Page","title":"Installation","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"The latest stable release of PowerSystems can be installed using the Julia package manager with","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"] add PowerSystems","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"For the current development version, \"checkout\" this package with","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"] add PowerSystems#main","category":"page"},{"location":"#Citing-PowerSystems.jl","page":"Welcome Page","title":"Citing PowerSystems.jl","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Paper describing PowerSystems.jl","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"@article{LARA2021100747,\ntitle = {PowerSystems.jl — A power system data management package for large scale modeling},\njournal = {SoftwareX},\nvolume = {15},\npages = {100747},\nyear = {2021},\nissn = {2352-7110},\ndoi = {https://doi.org/10.1016/j.softx.2021.100747},\nurl = {https://www.sciencedirect.com/science/article/pii/S2352711021000765},\nauthor = {José Daniel Lara and Clayton Barrows and Daniel Thom and Dheepak Krishnamurthy and Duncan Callaway},\nkeywords = {Power Systems, Julia, Energy},","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems has been developed as part of the Scalable Integrated Infrastructure Planning (SIIP) initiative at the U.S. Department of Energy's National Renewable Energy Laboratory (NREL).","category":"page"},{"location":"model_library/hybrid_system/#Hybrid-System","page":"HybridSystem","title":"Hybrid System","text":"","category":"section"},{"location":"model_library/hybrid_system/","page":"HybridSystem","title":"HybridSystem","text":"Modules = [PowerSystems]\nPages = [\"HybridSystem.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/hybrid_system/#PowerSystems.HybridSystem","page":"HybridSystem","title":"PowerSystems.HybridSystem","text":"mutable struct HybridSystem <: StaticInjectionSubsystem\n name::String\n available::Bool\n status::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n base_power::Float64\n operation_cost::MarketBidCost\n thermal_unit::Union{Nothing, ThermalGen}\n electric_load::Union{Nothing, ElectricLoad}\n storage::Union{Nothing, Storage}\n renewable_unit::Union{Nothing, RenewableGen}\n interconnection_impedance::ComplexF64\n interconnection_rating::Union{Nothing, Float64}\n input_active_power_limits::Union{Nothing, MinMax}\n output_active_power_limits::Union{Nothing, MinMax}\n reactive_power_limits::Union{Nothing, MinMax}\n interconnection_efficiency::Union{\n Nothing,\n NamedTuple{(:in, :out), Tuple{Float64, Float64}},\n }\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA Hybrid System that includes a combination of renewable generation, load, thermal generation and/or energy storage.\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nstatus::Bool: Initial commitment condition at the start of a simulation (true = on or false = off)\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used\nreactive_power::Float64: Initial reactive power set point of the unit (MVAR)\nbase_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating\noperation_cost::MarketBidCost: Market bid cost to operate, MarketBidCost\nthermal_unit::Union{Nothing, ThermalGen}: A thermal generator with supertype ThermalGen\nelectric_load::Union{Nothing, ElectricLoad}: A load with supertype ElectricLoad\nstorage::Union{Nothing, Storage}: An energy storage system with supertype Storage\nrenewable_unit::Union{Nothing, RenewableGen}: A renewable generator with supertype RenewableGen\ninterconnection_impedance::ComplexF64: Impedance (typically in p.u.) between the hybrid system and the grid interconnection\ninterconnection_rating::Union{Nothing, Float64}: Maximum rating of the hybrid system's interconnection with the transmission network (MVA)\ninput_active_power_limits::MinMax: Minimum and maximum stable input active power levels (MW)\noutput_active_power_limits::MinMax: Minimum and maximum stable output active power levels (MW)\nreactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits (MVAR). Set to Nothing if not applicable.\ninterconnection_efficiency::Union{Nothing, NamedTuple{(:in, :out), Tuple{Float64, Float64}},}: Efficiency [0, 1.0] at the grid interconnection to model losses in and out of the common DC-side conversion\nservices::Vector{Service}: (optional) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (optional) corresponding dynamic injection device\next::Dict{String, Any}: (optional) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude. See Adding additional fields.\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference.\n\n\n\n\n\n","category":"type"},{"location":"model_library/hybrid_system/#PowerSystems.get_active_power-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_active_power","text":"get_active_power(value::HybridSystem) -> Any\n\n\nGet HybridSystem active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_available-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_available","text":"get_available(value::HybridSystem) -> Bool\n\n\nGet HybridSystem available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_base_power-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_base_power","text":"get_base_power(value::HybridSystem) -> Float64\n\n\nGet HybridSystem base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_bus-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_bus","text":"get_bus(value::HybridSystem) -> ACBus\n\n\nGet HybridSystem bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_dynamic_injector-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::HybridSystem\n) -> Union{Nothing, DynamicInjection}\n\n\nGet HybridSystem dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_electric_load-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_electric_load","text":"get_electric_load(\n value::HybridSystem\n) -> Union{Nothing, ElectricLoad}\n\n\nGet HybridSystem load\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_ext-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_ext","text":"get_ext(value::HybridSystem) -> Dict{String, Any}\n\n\nGet HybridSystem ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_input_active_power_limits-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_input_active_power_limits","text":"get_input_active_power_limits(\n value::HybridSystem\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HybridSystem input_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_interconnection_impedance-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_interconnection_impedance","text":"get_interconnection_impedance(\n value::HybridSystem\n) -> ComplexF64\n\n\nget HybridSystem interconnection impedance\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_interconnection_rating-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_interconnection_rating","text":"get_interconnection_rating(value::HybridSystem) -> Any\n\n\nGet HybridSystem rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_operation_cost-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(value::HybridSystem) -> MarketBidCost\n\n\nGet HybridSystem operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_output_active_power_limits-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_output_active_power_limits","text":"get_output_active_power_limits(\n value::HybridSystem\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HybridSystem output_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_reactive_power-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::HybridSystem) -> Any\n\n\nGet HybridSystem reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_reactive_power_limits-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::HybridSystem\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HybridSystem reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_renewable_unit-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_renewable_unit","text":"get_renewable_unit(\n value::HybridSystem\n) -> Union{Nothing, RenewableGen}\n\n\nGet HybridSystem renewable unit\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_services-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_services","text":"get_services(value::HybridSystem) -> Vector{Service}\n\n\nGet HybridSystem services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_status-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_status","text":"get_status(value::HybridSystem) -> Bool\n\n\nGet HybridSystem status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_storage-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_storage","text":"get_storage(value::HybridSystem) -> Union{Nothing, Storage}\n\n\nGet HybridSystem storage unit\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_subcomponents-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_subcomponents","text":"get_subcomponents(hybrid::HybridSystem) -> Channel{Any}\n\n\nReturn an iterator over the subcomponents in the HybridSystem.\n\nExamples\n\nfor subcomponent in get_subcomponents(hybrid_sys)\n @show subcomponent\nend\nsubcomponents = collect(get_subcomponents(hybrid_sys))\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.get_thermal_unit-Tuple{HybridSystem}","page":"HybridSystem","title":"PowerSystems.get_thermal_unit","text":"get_thermal_unit(\n value::HybridSystem\n) -> Union{Nothing, ThermalGen}\n\n\nGet HybridSystem thermal unit\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_active_power!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_available!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_available!","text":"set_available!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_base_power!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_bus!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_bus!","text":"set_bus!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_ext!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_ext!","text":"set_ext!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_input_active_power_limits!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_input_active_power_limits!","text":"set_input_active_power_limits!(\n value::HybridSystem,\n val\n) -> Any\n\n\nSet HybridSystem input_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_operation_cost!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_output_active_power_limits!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_output_active_power_limits!","text":"set_output_active_power_limits!(\n value::HybridSystem,\n val\n) -> Any\n\n\nSet HybridSystem output_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_reactive_power!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_reactive_power_limits!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_services!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_services!","text":"set_services!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hybrid_system/#PowerSystems.set_status!-Tuple{HybridSystem, Any}","page":"HybridSystem","title":"PowerSystems.set_status!","text":"set_status!(value::HybridSystem, val) -> Any\n\n\nGet HybridSystem status.\n\n\n\n\n\n","category":"method"},{"location":"modeler_guide/time_series/#ts_data","page":"Time Series Data","title":"Time Series Data","text":"","category":"section"},{"location":"modeler_guide/time_series/#Introduction","page":"Time Series Data","title":"Introduction","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"The bulk of the data in many power system models is time series data. Given the potential inherent complexity, PowerSystems.jl has a set of definitions to organize this data and enable consistent modeling.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Resolution: The period of time between each discrete value in the data, all resolutions are represented using Dates.Period types. For instance, a Day-ahead market data set usually has a resolution of Hour(1), a Real-Time market data set usually has a resolution of Minute(5).\nStatic data: a single column of time series values for a component field (such as active power) where each time period is represented by a single value. This data commonly is obtained from historical information or the realization of a time-varying quantity.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"This category of Time Series data usually comes in the following format:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"DateTime Value\n2020-09-01T00:00:00 100.0\n2020-09-01T01:00:00 101.0\n2020-09-01T02:00:00 99.0","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Where a column (or several columns) represent the timestamp associated with the value and a column stores the values of interest.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Forecasts: Predicted values of a time-varying quantity that commonly features a look-ahead and can have multiple data values representing each time period. This data is used in simulation with receding horizons or data generated from forecasting algorithms.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Forecast data usually comes in the following format:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"DateTime 0 1 2 3 4 5 6 7\n2020-09-01T00:00:00 100.0 101.0 101.3 90.0 98.0 87.0 88.0 67.0\n2020-09-01T01:00:00 101.0 101.3 99.0 98.0 88.9 88.3 67.1 89.4\n2020-09-01T02:00:00 99.0 67.0 89.0 99.9 100.0 101.0 112.0 101.3","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Where a column (or several columns) represent the time stamp associated with the initial time of the forecast, and the columns represent the forecasted values.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Interval: The period of time between forecasts initial times. In PowerSystems.jl all intervals are represented using Dates.Period types. For instance, in a Day-Ahead market simulation, the interval of the time series is usually Hour(24), in the example above, the interval is Hour(1).\nHorizon: Is the count of discrete forecasted values, all horizons in PowerSystems.jl are represented with Dates.Period. For instance, many Day-ahead markets will have a forecast with a horizon of Dates.Hour(24).\nForecast window: Represents the forecasted value starting at a particular initial time.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Currently PowerSystems.jl does not support Forecasts or SingleTimeSeries with dissimilar intervals or resolution.","category":"page"},{"location":"modeler_guide/time_series/#Types","page":"Time Series Data","title":"Types","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems.jl supports two categories of time series data depending on the process to obtain the data:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Static data: a single column of time series values for a component field (such as active power) where each time period is represented by a single value. This data commonly is obtained from historical information or the realization of a time-varying quantity.\nForecasts: Predicted values of a time-varying quantity that commonly features a look-ahead and can have multiple data values representing each time period. This data is used in simulation with receding horizons or data generated from forecasting algorithms.","category":"page"},{"location":"modeler_guide/time_series/#Static-Time-Series-Data","page":"Time Series Data","title":"Static Time Series Data","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems defines the Julia struct SingleTimeSeries to represent this data.","category":"page"},{"location":"modeler_guide/time_series/#Forecasts","page":"Time Series Data","title":"Forecasts","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems defines the following Julia structs to represent forecasts:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Deterministic: Point forecast without any uncertainty representation.\nProbabilistic: Stores a discretized cumulative distribution functions (CDFs) or probability distribution functions (PDFs) at each time step in the look-ahead window.\nScenarios: Stores a set of probable trajectories for forecasted quantity with equal probability.","category":"page"},{"location":"modeler_guide/time_series/#Storage","page":"Time Series Data","title":"Storage","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"By default PowerSystems stores time series data in an HDF5 file. This prevents large datasets from overwhelming system memory. If you know that your dataset will fit in your computer's memory then you can increase performance by storing it in memory. Here is an example of how to do this:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"sys = System(100.0; time_series_in_memory = true)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems stores the HDF5 file in the tmp filesystem by default. You can change this by passing time_series_directory = X when you create the System. This is required if the time series data is larger than the amount of tmp space available. You can also override the location by setting the environment variable SIIPTIMESERIES_DIRECTORY to another directory.","category":"page"},{"location":"modeler_guide/time_series/#Compression","page":"Time Series Data","title":"Compression","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems does not enable HDF5 compression by default. You can enable it to get significant storage savings at the cost of CPU time.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"# Take defaults.\nsys = System(100.0; enable_compression = true)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"# Customize.\nsettings = CompressionSettings(\n enabled = true,\n type = CompressionTypes.DEFLATE, # BLOSC is also supported\n level = 3,\n shuffle = true,\n)\nsys = System(100.0; compression = settings)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Refer to the HDF5.jl and HDF5 documentation for more details on the options.","category":"page"},{"location":"modeler_guide/time_series/#Creating-Time-Series-Data","page":"Time Series Data","title":"Creating Time Series Data","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems supports several methods to load time series data (Forecasts or StaticTimeSeries) into a System.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Automated parsing during system construction, this method loads the data from CSV files. Refer to the parsing documentation.\nCreate directly from data in TimeSeries.TimeArray or DataFrames.DataFrame.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Examples:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"When creating data for SingleTimeSeries the user can directly pass a TimeSeries.TimeArray to the constructor.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" resolution = Dates.Hour(1)\n dates = range(DateTime(\"2020-01-01T00:00:00\"), step = resolution, length = 24)\n data = TimeArray(dates, ones(24))\n time_series = SingleTimeSeries(\"max_active_power\", data)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"When creating time series data that represents forecasts, the data can be stored in any AbstractDict where the key is the initial time of the forecast and the value field is the forecast value. The value fields in the dictionary can be regular vectors or TimeSeries.TimeArray.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" resolution = Dates.Hour(1)\n data = Dict(\n DateTime(\"2020-01-01T00:00:00\") => 10.0*ones(24),\n DateTime(\"2020-01-01T01:00:00\") => 5.0*ones(24),\n )\n forecast = Deterministic(\"max_active_power\", data, resolution)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Load from CSV file. For Deterministic forecasts, each row represents one look-ahead window. The first column must be the initial time and the rest must be the forecast values. The CSV file must have no header in the first row.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" resolution = Dates.Hour(1)\n forecast = Deterministic(\"max_active_power\", csv_filename, component, resolution)","category":"page"},{"location":"modeler_guide/time_series/#Scaling-factors","page":"Time Series Data","title":"Scaling factors","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Time series data can store actual component values (for instance MW) or scaling factors intended to be multiplied by a scalar to generate the component values. By default PowerSystems treats the values in the time series data as physical units. In order to specify them as scaling factors, you must pass the accessor function that provides the multiplier value. This value must be passed into the forecast when you create it.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Example:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" resolution = Dates.Hour(1)\n data = Dict(\n DateTime(\"2020-01-01T00:00:00\") => ones(24),\n DateTime(\"2020-01-01T01:00:00\") => ones(24),\n )\n forecast = Deterministic(\n \"max_active_power\",\n data,\n resolution,\n scaling_factor_multiplier = get_max_active_power,\n )","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"In this example, the forecasted component is a generator. Whenever the user retrieves the forecast data PowerSystems will call get_max_active_power(component) and multiply the result with the forecast values (scaling factors). For instance it the maximum active power returns the value 50.0 and the scaling factor at some time point is 0.65, the forecast value will correspond to 32.5.","category":"page"},{"location":"modeler_guide/time_series/#Adding-time-series-to-the-System","page":"Time Series Data","title":"Adding time series to the System","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Adding time series data to a system requires a component that is already attached to the system. Extending the example above:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" add_time_series!(sys, component, forecast)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"In order to optimize the storage of time series data, time series can be shared across devices to avoid duplication. If the same forecast applies to multiple components then can call add_time_series!, passing the collection of components that share the time series data.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" add_time_series!(sys, components, forecast)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"This function stores a single copy of the data. Each component will store a reference to that data.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Time series data can also be shared on a component level. Suppose a time series array applies to both the max_active_power and max_reactive_power attributes of a generator. You can share the data as shown in this example.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" resolution = Dates.Hour(1)\n data = Dict(\n DateTime(\"2020-01-01T00:00:00\") => ones(24),\n DateTime(\"2020-01-01T01:00:00\") => ones(24),\n )\n forecast_max_active_power = Deterministic(\n \"max_active_power\",\n data,\n resolution,\n scaling_factor_multiplier = get_max_active_power,\n )\n add_time_series!(sys, generator, forecast_max_active_power)\n forecast_max_reactive_power = Deterministic(\n forecast_max_active_power,\n \"max_reactive_power\",\n scaling_factor_multiplier = get_max_reactive_power,\n )\n add_time_series!(sys, generator, forecast_max_reactive_power)","category":"page"},{"location":"modeler_guide/time_series/#Adding-time-series-in-bulk","page":"Time Series Data","title":"Adding time series in bulk","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"By default, the call to add_time_series! will open the HDF5 file, write the data to the file, and close the file. It will also add a row to an SQLite database. These operations have overhead. If you will add thousands of time series arrays, consider using bulk_add_time_series!as shown in the example below. All arrays will be written with one file handle. The bulk SQLite operations are much more efficient.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"This example assumes that the function read_time_series will return data appropriate for Deterministic forecasts based on the generator name.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"The filenames match the component and time series names. The bulk_add_time_series! function will only load 100 arrays into memory at a time, by default.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"resolution = Dates.Hour(1)\nassociations = (\n TimeSeriesAssociation(\n gen,\n Deterministic(\n data = read_time_series(\"$(get_name(gen)).csv\"),\n name = \"get_max_active_power\",\n resolution=resolution),\n )\n for gen in get_components(ThermalStandard, sys)\n)\nbulk_add_time_series!(sys, associations)","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"If you must add time series arrays one at a time, you can minimize HDF5 file handle overhead, as shown in the example below.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"This example assumes that there are arrays of components and time series stored in the variables components and single_time_series, respectively.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" open_time_series_store!(sys, \"r+\") do\n for (component, ts) in zip(components, single_time_series)\n add_time_series!(sys, component, ts)\n end\n end","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"You can also use this function to make reads faster. Change the mode from \"r+\" to \"r\" to open the file read-only.","category":"page"},{"location":"modeler_guide/time_series/#Removing-time-series-data","page":"Time Series Data","title":"Removing time series data","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Time series instances can be removed from a system like this:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" remove_time_series!(Deterministic, sys, \"max_active_power\")","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Note: If you are storing time series data in an HDF5 file, this does not actually free up file space (HDF5 behavior). If you want to remove all or most time series instances then consider using clear_time_series!. It will delete the HDF5 file and create a new one. PowerSystems has plans to automate this type of workflow.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" clear_time_series!(sys)","category":"page"},{"location":"modeler_guide/time_series/#Retrieving-time-series-data","page":"Time Series Data","title":"Retrieving time series data","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems provides several methods to retrieve time series data. It is important that you choose the best one for your use case as there are performance implications. When an accessor function is used to create the forecast, the get_time_series_array methods will apply the associated multiplier and return a different value than is stored. If you want to explore the data as it's stored rather than as it's intended for modeling use, refer to the next section.","category":"page"},{"location":"modeler_guide/time_series/#Get-a-TimeArray-for-a-SingleTimeSeries","page":"Time Series Data","title":"Get a TimeArray for a SingleTimeSeries","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" ta = get_time_series_array(\n SingleTimeSeries,\n component,\n \"max_active_power\",\n start_time = DateTime(\"2020-01-01T00:00:00\"),\n len = 24,\n )","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Note: The default behavior is to read all data, so specify start_time and len if you only need a subset of data.","category":"page"},{"location":"modeler_guide/time_series/#Get-a-TimeArray-for-a-Deterministic-forecast","page":"Time Series Data","title":"Get a TimeArray for a Deterministic forecast","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"For forecasts, the interfaces assume that modeling code will access one forecast window at a time. Here's how to get one window:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" ta = get_time_series_array(\n Deterministic,\n component,\n \"max_active_power\",\n start_time = DateTime(\"2020-01-01T00:00:00\"),\n )","category":"page"},{"location":"modeler_guide/time_series/#Data-exploration","page":"Time Series Data","title":"Data exploration","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"If you want to explore the time series data as it is stored in a system then you will want to use the get_time_series function.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Warning: This will load all forecast windows into memory by default. Be aware of how much data is stored.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Note: Unlike the functions above this will only return the exact stored data. It will not apply a scaling factor multiplier.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" forecast = get_time_series(Deterministic, component, \"max_active_power\")","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"You can limit the data returned by specifying start_time and count.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" forecast = get_time_series(\n Deterministic,\n component,\n \"max_active_power\",\n start_time = DateTime(\"2020-01-09T00:00:00\"),\n count = 10,\n )","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Once you have a forecast instance you can access a specific window like this:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" window = get_window(forecast, DateTime(\"2020-01-09T00:00:00\"))","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"or iterate over the look-ahead windows like this:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" for window in iterate_windows(forecast)\n @show window\n end","category":"page"},{"location":"modeler_guide/time_series/#Using-forecast-data-in-simulations","page":"Time Series Data","title":"Using forecast data in simulations","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"The interfaces documented up to this point are useful for the development of scripts and models that use a small amount of forecasting data or do not require accessing time series data multiple times. It is important to understand the performance implications of accessing forecast windows repeatedly like in the case of production cost modeling simulations.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"If each forecast window contains an array of 24 floats and the windows cover an entire year then each retrieval will involve a small disk read. This can slow down a simulation significantly, especially if the underlying storage uses spinning disks.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems provides an alternate interface that pre-fetches data into the system memory with large reads in order to mitigate this potential problem. The mechanism creates a cache of data and makes it available to the user.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"It is highly recommended that you use this interface for modeling implementations. This is particularly relevant for models using large datasets.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" cache = ForecastCache(Deterministic, component, \"max_active_power\")\n window1 = get_next_time_series_array(cache)\n window2 = get_next_time_series_array(cache)\n\n # or\n\n for window in cache\n @show window\n end","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Each iteration on the cache object will deliver the next forecast window. get_next_time_series_array will return nothing when all windows have been delivered.","category":"page"},{"location":"modeler_guide/time_series/#Transform-static-time-series-into-forecasts","page":"Time Series Data","title":"Transform static time series into forecasts","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"A common workflow in developing models is transforming data generated from a realization and stored in a single column into deterministic forecasts to account for the effects of the look-ahead. Usually, this workflow leads to large data duplications in the overlapping windows between forecasts.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems provides a method to transform SingleTimeSeries data into Deterministic forecasts without duplicating any data. The resulting object behaves exactly like a Deterministic. Instead of storing windows at each initial time it provides a view into the existing data at incrementing offsets.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Here's an example:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" # Create static time series data.\n resolution = Dates.Hour(1)\n dates = range(DateTime(\"2020-01-01T00:00:00\"), step = resolution, length = 8760)\n data = TimeArray(dates, ones(8760))\n ts = SingleTimeSeries(\"max_active_power\", data)\n add_time_series!(sys, component, ts)\n\n # Transform it to Deterministic\n transform_single_time_series!(sys, Hour(24), Hour(24))","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"This function transforms all SingleTimeSeries instances stored in the system. You can also call it on a single component.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"You can now access either a Deterministic or the original SingleTimeSeries.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":" ta_forecast = get_time_series_array(\n Deterministic,\n component,\n \"max_active_power\",\n start_time = DateTime(\"2020-01-01T00:00:00\"),\n )\n ta_static = get_time_series_array(SingleTimeSeries, component, \"max_active_power\")","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Note: The actual type of the returned forecast will be DeterministicSingleTimeSeries. This type and Deterministic are subtypes of AbstractDeterministic and implement all of the same methods (i.e., they behave identically).","category":"page"},{"location":"modeler_guide/time_series/#Time-Series-Validation","page":"Time Series Data","title":"Time Series Validation","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems applies validation rules whenever users add time series to a System. It will throw an exception if any rule is violated.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"All time series data, static or forecasts, must have the same resolution.\nAll forecasts must have identical parameters: initial timestamp, horizon, interval, look-ahead window count.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Static time series instances may have different start times and lengths.","category":"page"},{"location":"modeler_guide/time_series/#Data-Format","page":"Time Series Data","title":"Data Format","text":"","category":"section"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Refer to this page for details on how the time series data is stored in HDF5 files.","category":"page"},{"location":"model_library/generated_RenewableNonDispatch/#RenewableNonDispatch","page":"RenewableNonDispatch","title":"RenewableNonDispatch","text":"","category":"section"},{"location":"model_library/generated_RenewableNonDispatch/","page":"RenewableNonDispatch","title":"RenewableNonDispatch","text":"Modules = [PowerSystems]\nPages = [\"generated/RenewableNonDispatch.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.RenewableNonDispatch","page":"RenewableNonDispatch","title":"PowerSystems.RenewableNonDispatch","text":"mutable struct RenewableNonDispatch <: RenewableGen\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n prime_mover_type::PrimeMovers\n power_factor::Float64\n base_power::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA non-dispatchable (i.e., non-curtailable or must-take) renewable generator.\n\nIts output is equal to its max_active_power time series by default. Example use: an aggregation of behind-the-meter distributed energy resources like rooftop solar. For curtailable or downward dispatachable generation, see RenewableDispatch.\n\nRenewable generators do not have a max_active_power parameter, which is instead calculated when calling get_max_active_power()\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used\nreactive_power::Float64: Initial reactive power set point of the unit (MVAR)\nrating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here\npower_factor::Float64:, validation range: (0, 1)\nbase_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_RenewableNonDispatch/#InfrastructureSystems.get_name-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"InfrastructureSystems.get_name","text":"get_name(value::RenewableNonDispatch) -> String\n\n\nGet RenewableNonDispatch name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_active_power-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_active_power","text":"get_active_power(value::RenewableNonDispatch) -> Any\n\n\nGet RenewableNonDispatch active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_available-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_available","text":"get_available(value::RenewableNonDispatch) -> Bool\n\n\nGet RenewableNonDispatch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_base_power-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_base_power","text":"get_base_power(value::RenewableNonDispatch) -> Float64\n\n\nGet RenewableNonDispatch base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_bus-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_bus","text":"get_bus(value::RenewableNonDispatch) -> ACBus\n\n\nGet RenewableNonDispatch bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_dynamic_injector-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::RenewableNonDispatch\n) -> Union{Nothing, DynamicInjection}\n\n\nGet RenewableNonDispatch dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_ext-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_ext","text":"get_ext(value::RenewableNonDispatch) -> Dict{String, Any}\n\n\nGet RenewableNonDispatch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_power_factor-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_power_factor","text":"get_power_factor(value::RenewableNonDispatch) -> Float64\n\n\nGet RenewableNonDispatch power_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_prime_mover_type-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(\n value::RenewableNonDispatch\n) -> PrimeMovers\n\n\nGet RenewableNonDispatch prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_rating-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_rating","text":"get_rating(value::RenewableNonDispatch) -> Any\n\n\nGet RenewableNonDispatch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_reactive_power-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::RenewableNonDispatch) -> Any\n\n\nGet RenewableNonDispatch reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.get_services-Tuple{RenewableNonDispatch}","page":"RenewableNonDispatch","title":"PowerSystems.get_services","text":"get_services(value::RenewableNonDispatch) -> Vector{Service}\n\n\nGet RenewableNonDispatch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.set_active_power!-Tuple{RenewableNonDispatch, Any}","page":"RenewableNonDispatch","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::RenewableNonDispatch, val) -> Any\n\n\nSet RenewableNonDispatch active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.set_available!-Tuple{RenewableNonDispatch, Any}","page":"RenewableNonDispatch","title":"PowerSystems.set_available!","text":"set_available!(value::RenewableNonDispatch, val) -> Any\n\n\nSet RenewableNonDispatch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.set_base_power!-Tuple{RenewableNonDispatch, Any}","page":"RenewableNonDispatch","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::RenewableNonDispatch, val) -> Any\n\n\nSet RenewableNonDispatch base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.set_bus!-Tuple{RenewableNonDispatch, Any}","page":"RenewableNonDispatch","title":"PowerSystems.set_bus!","text":"set_bus!(value::RenewableNonDispatch, val) -> Any\n\n\nSet RenewableNonDispatch bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.set_ext!-Tuple{RenewableNonDispatch, Any}","page":"RenewableNonDispatch","title":"PowerSystems.set_ext!","text":"set_ext!(value::RenewableNonDispatch, val) -> Any\n\n\nSet RenewableNonDispatch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.set_power_factor!-Tuple{RenewableNonDispatch, Any}","page":"RenewableNonDispatch","title":"PowerSystems.set_power_factor!","text":"set_power_factor!(value::RenewableNonDispatch, val) -> Any\n\n\nSet RenewableNonDispatch power_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.set_prime_mover_type!-Tuple{RenewableNonDispatch, Any}","page":"RenewableNonDispatch","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(\n value::RenewableNonDispatch,\n val\n) -> Any\n\n\nSet RenewableNonDispatch prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.set_rating!-Tuple{RenewableNonDispatch, Any}","page":"RenewableNonDispatch","title":"PowerSystems.set_rating!","text":"set_rating!(value::RenewableNonDispatch, val) -> Any\n\n\nSet RenewableNonDispatch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.set_reactive_power!-Tuple{RenewableNonDispatch, Any}","page":"RenewableNonDispatch","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::RenewableNonDispatch, val) -> Any\n\n\nSet RenewableNonDispatch reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableNonDispatch/#PowerSystems.set_services!-Tuple{RenewableNonDispatch, Any}","page":"RenewableNonDispatch","title":"PowerSystems.set_services!","text":"set_services!(value::RenewableNonDispatch, val) -> Any\n\n\nSet RenewableNonDispatch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.OutputCurrentLimiter","page":"OutputCurrentLimiter","title":"PowerSystems.OutputCurrentLimiter","text":"","category":"section"},{"location":"model_library/generated_OutputCurrentLimiter/#HybridOutputCurrentLimiter","page":"OutputCurrentLimiter","title":"HybridOutputCurrentLimiter","text":"","category":"section"},{"location":"model_library/generated_OutputCurrentLimiter/","page":"OutputCurrentLimiter","title":"OutputCurrentLimiter","text":"Modules = [PowerSystems]\nPages = [\"/HybridOutputCurrentLimiter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.HybridOutputCurrentLimiter","page":"OutputCurrentLimiter","title":"PowerSystems.HybridOutputCurrentLimiter","text":"mutable struct HybridOutputCurrentLimiter <: OutputCurrentLimiter\n I_max::Float64\n rv::Float64\n lv::Float64\n ext::Dict{String, Any}\nend\n\nParameters of Hybrid Current Controller Limiter. Regulates the magnitude of the inverter output current, but with a closed loop feedback regulated by a virtual impedance which provides ant-windup. Described in: Novel Hybrid Current Limiter for Grid-Forming Inverter Control During Unbalanced Faults by Baeckland and Seo, 2023 \n\nArguments\n\nI_max::Float64: Maximum limit on current controller input current (device base), validation range: (0, nothing)\nrv::Float64: Real part of the virtual impedance, validation range: (0, nothing)\nlv::Float64: Imaginary part of the virtual impedance, validation range: (0, nothing)\next::Dict{String, Any}: (default: Dict{String, Any}())\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_I_max-Tuple{HybridOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_I_max","text":"get_I_max(value::HybridOutputCurrentLimiter) -> Float64\n\n\nGet HybridOutputCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_ext-Tuple{HybridOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_ext","text":"get_ext(\n value::HybridOutputCurrentLimiter\n) -> Dict{String, Any}\n\n\nGet HybridOutputCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_lv-Tuple{HybridOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_lv","text":"get_lv(value::HybridOutputCurrentLimiter) -> Float64\n\n\nGet HybridOutputCurrentLimiter lv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_rv-Tuple{HybridOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_rv","text":"get_rv(value::HybridOutputCurrentLimiter) -> Float64\n\n\nGet HybridOutputCurrentLimiter rv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_I_max!-Tuple{HybridOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_I_max!","text":"set_I_max!(value::HybridOutputCurrentLimiter, val) -> Any\n\n\nSet HybridOutputCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_ext!-Tuple{HybridOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_ext!","text":"set_ext!(value::HybridOutputCurrentLimiter, val) -> Any\n\n\nSet HybridOutputCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_lv!-Tuple{HybridOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_lv!","text":"set_lv!(value::HybridOutputCurrentLimiter, val) -> Any\n\n\nSet HybridOutputCurrentLimiter lv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_rv!-Tuple{HybridOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_rv!","text":"set_rv!(value::HybridOutputCurrentLimiter, val) -> Any\n\n\nSet HybridOutputCurrentLimiter rv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#InstantaneousOutputCurrentLimiter","page":"OutputCurrentLimiter","title":"InstantaneousOutputCurrentLimiter","text":"","category":"section"},{"location":"model_library/generated_OutputCurrentLimiter/","page":"OutputCurrentLimiter","title":"OutputCurrentLimiter","text":"Modules = [PowerSystems]\nPages = [\"/InstantaneousOutputCurrentLimiter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.InstantaneousOutputCurrentLimiter","page":"OutputCurrentLimiter","title":"PowerSystems.InstantaneousOutputCurrentLimiter","text":"mutable struct InstantaneousOutputCurrentLimiter <: OutputCurrentLimiter\n Id_max::Float64\n Iq_max::Float64\n ext::Dict{String, Any}\nend\n\nParameters of Instantaneous (Square) Current Controller Limiter. Regulates inverter output current on the d and q axis separately\n\nArguments\n\nId_max::Float64: Maximum limit on d-axis current controller input current in pu (DEVICE_BASE), validation range: (0, nothing)\nIq_max::Float64: Maximum limit on d-axis current controller input current in pu (DEVICE_BASE), validation range: (0, nothing)\next::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. See Adding additional fields\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_Id_max-Tuple{InstantaneousOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_Id_max","text":"get_Id_max(\n value::InstantaneousOutputCurrentLimiter\n) -> Float64\n\n\nGet InstantaneousOutputCurrentLimiter Id_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_Iq_max-Tuple{InstantaneousOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_Iq_max","text":"get_Iq_max(\n value::InstantaneousOutputCurrentLimiter\n) -> Float64\n\n\nGet InstantaneousOutputCurrentLimiter Iq_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_ext-Tuple{InstantaneousOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_ext","text":"get_ext(\n value::InstantaneousOutputCurrentLimiter\n) -> Dict{String, Any}\n\n\nGet InstantaneousOutputCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_Id_max!-Tuple{InstantaneousOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_Id_max!","text":"set_Id_max!(\n value::InstantaneousOutputCurrentLimiter,\n val\n) -> Any\n\n\nSet InstantaneousOutputCurrentLimiter Id_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_Iq_max!-Tuple{InstantaneousOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_Iq_max!","text":"set_Iq_max!(\n value::InstantaneousOutputCurrentLimiter,\n val\n) -> Any\n\n\nSet InstantaneousOutputCurrentLimiter Iq_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_ext!-Tuple{InstantaneousOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_ext!","text":"set_ext!(\n value::InstantaneousOutputCurrentLimiter,\n val\n) -> Any\n\n\nSet InstantaneousOutputCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#MagnitudeOutputCurrentLimiter","page":"OutputCurrentLimiter","title":"MagnitudeOutputCurrentLimiter","text":"","category":"section"},{"location":"model_library/generated_OutputCurrentLimiter/","page":"OutputCurrentLimiter","title":"OutputCurrentLimiter","text":"Modules = [PowerSystems]\nPages = [\"/MagnitudeOutputCurrentLimiter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.MagnitudeOutputCurrentLimiter","page":"OutputCurrentLimiter","title":"PowerSystems.MagnitudeOutputCurrentLimiter","text":"mutable struct MagnitudeOutputCurrentLimiter <: OutputCurrentLimiter\n I_max::Float64\n ext::Dict{String, Any}\nend\n\nParameters of Magnitude (Circular) Current Controller Limiter. Regulates only the magnitude of the inverter output current\n\nArguments\n\nI_max::Float64: Maximum limit on current controller input current in pu (DEVICE_BASE), validation range: (0, nothing)\next::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. See Adding additional fields\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_I_max-Tuple{MagnitudeOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_I_max","text":"get_I_max(value::MagnitudeOutputCurrentLimiter) -> Float64\n\n\nGet MagnitudeOutputCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_ext-Tuple{MagnitudeOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_ext","text":"get_ext(\n value::MagnitudeOutputCurrentLimiter\n) -> Dict{String, Any}\n\n\nGet MagnitudeOutputCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_I_max!-Tuple{MagnitudeOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_I_max!","text":"set_I_max!(value::MagnitudeOutputCurrentLimiter, val) -> Any\n\n\nSet MagnitudeOutputCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_ext!-Tuple{MagnitudeOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_ext!","text":"set_ext!(value::MagnitudeOutputCurrentLimiter, val) -> Any\n\n\nSet MagnitudeOutputCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PriorityOutputCurrentLimiter","page":"OutputCurrentLimiter","title":"PriorityOutputCurrentLimiter","text":"","category":"section"},{"location":"model_library/generated_OutputCurrentLimiter/","page":"OutputCurrentLimiter","title":"OutputCurrentLimiter","text":"Modules = [PowerSystems]\nPages = [\"/PriorityOutputCurrentLimiter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.PriorityOutputCurrentLimiter","page":"OutputCurrentLimiter","title":"PowerSystems.PriorityOutputCurrentLimiter","text":"mutable struct PriorityOutputCurrentLimiter <: OutputCurrentLimiter\n I_max::Float64\n ϕ_I::Float64\n ext::Dict{String, Any}\nend\n\nParameters of Priority-Based Current Controller Limiter. Regulates the magnitude of the inverter output current and prioritizes a specific angle for the resultant current signal\n\nArguments\n\nI_max::Float64: Maximum limit on current controller input current in pu (DEVICE_BASE), validation range: (0, nothing)\nϕ_I::Float64: Pre-defined angle (measured against the d-axis) for Iref once limit Imax is hit, validation range: (-1.571, 1.571)\next::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. See Adding additional fields\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_I_max-Tuple{PriorityOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_I_max","text":"get_I_max(value::PriorityOutputCurrentLimiter) -> Float64\n\n\nGet PriorityOutputCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_ext-Tuple{PriorityOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_ext","text":"get_ext(\n value::PriorityOutputCurrentLimiter\n) -> Dict{String, Any}\n\n\nGet PriorityOutputCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_ϕ_I-Tuple{PriorityOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_ϕ_I","text":"get_ϕ_I(value::PriorityOutputCurrentLimiter) -> Float64\n\n\nGet PriorityOutputCurrentLimiter ϕ_I.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_I_max!-Tuple{PriorityOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_I_max!","text":"set_I_max!(value::PriorityOutputCurrentLimiter, val) -> Any\n\n\nSet PriorityOutputCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_ext!-Tuple{PriorityOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_ext!","text":"set_ext!(value::PriorityOutputCurrentLimiter, val) -> Any\n\n\nSet PriorityOutputCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_ϕ_I!-Tuple{PriorityOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_ϕ_I!","text":"set_ϕ_I!(value::PriorityOutputCurrentLimiter, val) -> Any\n\n\nSet PriorityOutputCurrentLimiter ϕ_I.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#SaturationOutputCurrentLimiter","page":"OutputCurrentLimiter","title":"SaturationOutputCurrentLimiter","text":"","category":"section"},{"location":"model_library/generated_OutputCurrentLimiter/","page":"OutputCurrentLimiter","title":"OutputCurrentLimiter","text":"Modules = [PowerSystems]\nPages = [\"/SaturationOutputCurrentLimiter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.SaturationOutputCurrentLimiter","page":"OutputCurrentLimiter","title":"PowerSystems.SaturationOutputCurrentLimiter","text":"mutable struct SaturationOutputCurrentLimiter <: OutputCurrentLimiter\n I_max::Float64\n kw::Float64\n ext::Dict{String, Any}\nend\n\nParameters of Saturation Current Controller Limiter. Regulates the magnitude of the inverter output current, and applies a closed loop feedback regulated by a static gain which provides ant-windup\n\nArguments\n\nI_max::Float64: Maximum limit on current controller input current (device base), validation range: (0, nothing)\nkw::Float64: Defined feedback gain, validation range: (0, nothing)\next::Dict{String, Any}: (default: Dict{String, Any}())\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_I_max-Tuple{SaturationOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_I_max","text":"get_I_max(value::SaturationOutputCurrentLimiter) -> Float64\n\n\nGet SaturationOutputCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_ext-Tuple{SaturationOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_ext","text":"get_ext(\n value::SaturationOutputCurrentLimiter\n) -> Dict{String, Any}\n\n\nGet SaturationOutputCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.get_kw-Tuple{SaturationOutputCurrentLimiter}","page":"OutputCurrentLimiter","title":"PowerSystems.get_kw","text":"get_kw(value::SaturationOutputCurrentLimiter) -> Float64\n\n\nGet SaturationOutputCurrentLimiter kw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_I_max!-Tuple{SaturationOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_I_max!","text":"set_I_max!(\n value::SaturationOutputCurrentLimiter,\n val\n) -> Any\n\n\nSet SaturationOutputCurrentLimiter I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_ext!-Tuple{SaturationOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_ext!","text":"set_ext!(value::SaturationOutputCurrentLimiter, val) -> Any\n\n\nSet SaturationOutputCurrentLimiter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_OutputCurrentLimiter/#PowerSystems.set_kw!-Tuple{SaturationOutputCurrentLimiter, Any}","page":"OutputCurrentLimiter","title":"PowerSystems.set_kw!","text":"set_kw!(value::SaturationOutputCurrentLimiter, val) -> Any\n\n\nSet SaturationOutputCurrentLimiter kw.\n\n\n\n\n\n","category":"method"},{"location":"modeler_guide/parsing/#parsing","page":"Parsing Data","title":"Parsing Data","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems.jl supports the creation of a System from a variety of common data formats:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"MATPOWER (code copied with permission from PowerModels.jl)\nPSS/e RAW Files (code copied with permission from PowerModels.jl)\nPSS/e DYR Files\nPowerSystems table data (CSV Files)","category":"page"},{"location":"modeler_guide/parsing/#pm_data","page":"Parsing Data","title":"MATPOWER / PSS/e","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"The following code will create a System from a MATPOWER or PSS/e file:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"using PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\")\nsys = System(joinpath(file_dir, \"case5.m\"))","category":"page"},{"location":"modeler_guide/parsing/#dyr_data","page":"Parsing Data","title":"PSS/e dynamic data parsing","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PSS/e's dynamic model library is extensive, we currently support parsing a limited amount of models out of the box.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Machine models AVR Models Prime Movers PSS models\nGENSAE IEEET1 HYGOV IEEEST\nGENSAL ESDC1A IEEEG1 \nGENROE ESAC1A GGOV1 \nGENCLS ESST4B \nGENROU EXAC2 \n EXPIC1 \n ESAC6A \n EXAC1 \n SCRX \n ESDC2A ","category":"page"},{"location":"modeler_guide/parsing/#Creating-a-Dynamic-System-using-.RAW-and-.DYR-data","page":"Parsing Data","title":"Creating a Dynamic System using .RAW and .DYR data","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"A PowerSystems.jl system can be created using a .RAW and a .DYR file. In this example we will create the following three bus system using the following RAW file:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"0, 100, 33, 0, 0, 60 / 24-Apr-2020 19:28:39 - MATPOWER 7.0.1-dev\n\n\n 101, 'BUS 1 ', 138, 3, 1, 1, 1, 1.02, 0, 1.1, 0.9, 1.1, 0.9\n 102, 'BUS 2 ', 138, 2, 1, 1, 1, 1.0142, 0, 1.1, 0.9, 1.1, 0.9\n 103, 'BUS 3 ', 138, 2, 1, 1, 1, 1.0059, 0, 1.1, 0.9, 1.1, 0.9\n0 / END OF BUS DATA, BEGIN LOAD DATA\n 101, 1, 1, 1, 1, 100, 20, 0, 0, 0, 0, 1, 1, 0\n 102, 1, 1, 1, 1, 70, 10, 0, 0, 0, 0, 1, 1, 0\n 103, 1, 1, 1, 1, 50, 10, 0, 0, 0, 0, 1, 1, 0\n0 / END OF LOAD DATA, BEGIN FIXED SHUNT DATA\n0 / END OF FIXED SHUNT DATA, BEGIN GENERATOR DATA\n 101, 1, 20, 0, 100, -100, 1.02, 0, 100, 0, 0, 0, 0, 1, 1, 100, 318, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n 102, 1, 100, 0, 100, -100, 1.0142, 0, 100, 0, 0.7, 0, 0, 1, 1, 100, 318, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n 103, 1, 100, 0, 100, -100, 1.0059, 0, 100, 0, 0.2, 0, 0, 1, 1, 100, 318, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n0 / END OF GENERATOR DATA, BEGIN BRANCH DATA\n 101, 103, 1, 0.01000, 0.12, 0.0, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n 101, 102, 1, 0.01000, 0.12, 0.0, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n 102, 103, 1, 0.01000, 0.12, 0.0, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n0 / END OF BRANCH DATA, BEGIN TRANSFORMER DATA\n0 / END OF TRANSFORMER DATA, BEGIN AREA DATA\n0 / END OF AREA DATA, BEGIN TWO-TERMINAL DC DATA\n0 / END OF TWO-TERMINAL DC DATA, BEGIN VOLTAGE SOURCE CONVERTER DATA\n0 / END OF VOLTAGE SOURCE CONVERTER DATA, BEGIN IMPEDANCE CORRECTION DATA\n0 / END OF IMPEDANCE CORRECTION DATA, BEGIN MULTI-TERMINAL DC DATA\n0 / END OF MULTI-TERMINAL DC DATA, BEGIN MULTI-SECTION LINE DATA\n0 / END OF MULTI-SECTION LINE DATA, BEGIN ZONE DATA\n0 / END OF ZONE DATA, BEGIN INTER-AREA TRANSFER DATA\n0 / END OF INTER-AREA TRANSFER DATA, BEGIN OWNER DATA\n0 / END OF OWNER DATA, BEGIN FACTS CONTROL DEVICE DATA\n0 / END OF FACTS CONTROL DEVICE DATA, BEGIN SWITCHED SHUNT DATA\n0 / END OF SWITCHED SHUNT DATA, BEGIN GNE DEVICE DATA\n0 / END OF GNE DEVICE DATA, BEGIN INDUCTION MACHINE DATA\n0 / END OF INDUCTION MACHINE DATA\nQ","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"This system is a three bus system with three generators, three loads and three branches. The dynamic data for the generators is provided in the DYR file:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":" 101 'GENROE' 1 8.000000 0.030000 0.400000 0.050000 6.500000 0.000000 1.800000\n 1.700000 0.300000 0.550000 0.250000 0.200000 0.039200 0.267200 /\n 101 'ESST1A' 1 1 1 0.01 99 -99 1 10 1 1 200 0 4 -4 4 -4 0 0 1 0 3 /\n 102 'GENCLS' 1 0.0 0.0 /\n 103 'GENCLS' 1 3.1 2.0 /","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"That assigns a GENROU generator and a ESST1A voltage regulator at the generator located at bus 101, while classic machine models for the generators located at bus 102 and 103.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"To create the system we can do it passing both files directories:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"RAW_dir = joinpath(file_dir, \"ThreeBusNetwork.raw\")\nDYR_dir = joinpath(file_dir, \"TestGENCLS.dyr\")\ndyn_system = System(RAW_dir, DYR_dir, runchecks = false)","category":"page"},{"location":"modeler_guide/parsing/#Common-Issues","page":"Parsing Data","title":"Common Issues","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Please note that while PSS/e does not enforce unique bus names, PowerSystems.jl does. To reparse bus names to comply with this requirement the bus_name_formatter *kwarg can be used in System() as shown in the example below:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"dyn_system = System(RAW_dir, DYR_dir; bus_name_formatter = x -> strip(string(x[\"name\"])) * \"-\" * string(x[\"index\"]))","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"In this example the anonymous function x -> strip(string(x[\"name\"])) * \"-\" * string(x[\"index\"]) takes the bus name and index from PSSe and concatenates them to produce the name. ","category":"page"},{"location":"modeler_guide/parsing/#table_data","page":"Parsing Data","title":"PowerSystems Table Data","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"This is a custom format that allows users to define power system component data by category and column with custom names, types, and units.","category":"page"},{"location":"modeler_guide/parsing/#Categories","page":"Parsing Data","title":"Categories","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Components for each category must be defined in their own CSV file. The following categories are currently supported:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"branch.csv\nbus.csv (required)\ncolumns specifying area and zone will create a corresponding set of Area and LoadZone objects.\ncolumns specifying max_active_power or max_reactive_power will create PowerLoad objects when nonzero values are encountered and will contribute to the peak_active_power and peak_reactive_power values for the\ncorresponding LoadZone object.\ndc_branch.csv\ngen.csv\nload.csv\nreserves.csv\nstorage.csv","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"These must reside in the directory passed when constructing PowerSystemTableData.","category":"page"},{"location":"modeler_guide/parsing/#parsing_time_series","page":"Parsing Data","title":"Adding Time Series Data","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems requires a metadata file that maps components to their time series data in order to be able to automatically construct time_series from raw data files. The following fields are required for each time array:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"simulation: User description of simulation\nresolution: Resolution of time series in seconds\nmodule: Module that defines the abstract type of the component\ncategory: Type of component. Must map to abstract types defined by the \"module\" entry (Bus, ElectricLoad, Generator, LoadZone, Reserve)\ncomponent_name: Name of component\nname: User-defined name for the time series data.\nnormalization_factor: Controls normalization of the data. Use 1.0 for pre-normalized data. Use 'Max' to divide the time series by the max value in the column. Use any float for a custom scaling factor.\nscaling_factor_multiplier_module: Module that defines the accessor function for the","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"scaling factor","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"scaling_factor_multiplier: Accessor function of the scaling factor\ndata_file: Path to the time series data file","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Notes:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"The \"module\", \"category\", and \"component_name\" entries must be valid arguments to retrieve","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"a component using get_component(${module}.${category}, sys, $name).","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"The \"scalingfactormultipliermodule\" and the \"scalingfactor_multiplier\" entries must","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"be sufficient to return the scaling factor data using ${scaling_factor_multiplier_module}.${scaling_factor_multiplier}(component).","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems supports this metadata in either CSV or JSON formats. Refer to RTS_GMLC for an example.","category":"page"},{"location":"modeler_guide/parsing/#Performance-considerations","page":"Parsing Data","title":"Performance considerations","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"By default PowerSystems stores time series data in HDF5 files. It does not keep all of the data in memory. This means that every time you access a timeseries PowerSystems will have to read the data from storage, which will add latency. If you know ahead of time that all of your data will fit in memory then you can change this behavior by passing `timeseriesinmemory = true` when you create the System.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"If the time series data is stored in HDF5 then PowerSystems will use the tmp filesystem by default. You can change this by passing time_series_directory = X when you create the System. This is required if the time series data is larger than the amount of tmp space available. You can also override the location by setting the environment variable SIIPTIMESERIES_DIRECTORY to another directory.","category":"page"},{"location":"modeler_guide/parsing/#Customization","page":"Parsing Data","title":"Customization","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"The tabular data parser in PowerSystems.jl can be customized to read a variety of datasets by configuring:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"which type of generator (<:Generator) to create based on the fuel and prime mover specifications\nproperty names, units, and per units conversions](@ref csvperunit) in *.csv files","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Here is an example of how to construct a System with all customizations listed in this section:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"data_dir = \"/data/my-data-dir\"\nbase_power = 100.0\ndescriptors = \"./user_descriptors.yaml\"\ntimeseries_metadata_file = \"./timeseries_pointers.json\"\ngenerator_mapping_file = \"./generator_mapping.yaml\"\ndata = PowerSystemTableData(\n data_dir,\n base_power,\n descriptors;\n timeseries_metadata_file = timeseries_metadata_file,\n generator_mapping_file = generator_mapping_file,\n)\nsys = System(data, time_series_in_memory = true)","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Examples configuration files can be found in the RTS-GMLC repo:","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"user_descriptors.yaml\ngenerator_mapping.yaml","category":"page"},{"location":"modeler_guide/parsing/#csv_data","page":"Parsing Data","title":"CSV Data Configurations","text":"","category":"section"},{"location":"modeler_guide/parsing/#csv_genmap","page":"Parsing Data","title":"Custom construction of generators","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems supports custom construction of subtypes of the abstract type Generator based on fuel and type. The parsing code detects these fields in the raw data and then constructs the concrete type listed in the passed generator mapping file. The default file is src/parsers/generator_mapping.yaml. You can override this behavior by specifying your own file when constructing PowerSystemTableData.","category":"page"},{"location":"modeler_guide/parsing/#csv_columns","page":"Parsing Data","title":"Column names","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems provides am input mapping capability that allows you to keep your own column names.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"For example, when parsing raw data for a generator the code expects a column called name. If the raw data instead defines that column as GEN UID then you can change the custom_name field under the generator category to GEN UID in your YAML file.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"To enable the parsing of a custom set of csv files, you can generate a configuration file (such as user_descriptors.yaml) from the defaults, which are stored in src/descriptors/power_system_inputs.json.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"python ./bin/generate_config_file.py ./user_descriptors.yaml","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Next, edit this file with your customizations.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"Note that the user-specific customizations are stored in YAML rather than JSON to allow for easier editing. The next few sections describe changes you can make to this YAML file. Do not edit the default JSON file.","category":"page"},{"location":"modeler_guide/parsing/#csv_per_unit","page":"Parsing Data","title":"Per-unit conversion","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"For more info on the per-unit conventions in PowerSystems.jl, refer to the per-unit section of the system documentation.","category":"page"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems defines whether it expects a column value to be per-unit system base, per-unit device base, or natural units in power_system_inputs.json. If it expects a per-unit convention that differs from your values then you can set the unit_system in user_descriptors.yaml and PowerSystems will automatically convert the values. For example, if you have a max_active_power value stored in natural units (MW), but power_system_inputs.json specifies unit_system: device_base, you can enter unit_system: natural_units in user_descriptors.yaml and PowerSystems will divide the value by the value of the corresponding entry in the column identified by the base_reference field in power_system_inputs.json. You can also override the base_reference setting by adding base_reference: My Column to make device base per-unit conversion by dividing the value by the entry in My Column. System base per-unit conversions always divide the value by the system base_power value instantiated when constructing a System.","category":"page"},{"location":"modeler_guide/parsing/#csv_units","page":"Parsing Data","title":"Unit conversion","text":"","category":"section"},{"location":"modeler_guide/parsing/","page":"Parsing Data","title":"Parsing Data","text":"PowerSystems provides a limited set of unit conversions. For example, if power_system_inputs.json indicates that a value's unit is degrees but your values are in radians then you can set unit: radian in your YAML file. Other valid unit entries include GW, GWh, MW, MWh, kW, and kWh.","category":"page"},{"location":"code_base_developer_guide/developer/#Guidelines-for-Developers","page":"Developer Guide","title":"Guidelines for Developers","text":"","category":"section"},{"location":"code_base_developer_guide/developer/","page":"Developer Guide","title":"Developer Guide","text":"In order to contribute to PowerSystems.jl repository please read the following sections of InfrastructureSystems.jl documentation in detail:","category":"page"},{"location":"code_base_developer_guide/developer/","page":"Developer Guide","title":"Developer Guide","text":"Style Guide\nContributing Guidelines","category":"page"},{"location":"code_base_developer_guide/developer/","page":"Developer Guide","title":"Developer Guide","text":"Pull requests are always welcome to fix bugs or add additional modeling capabilities.","category":"page"},{"location":"code_base_developer_guide/developer/","page":"Developer Guide","title":"Developer Guide","text":"All the code contributions need to include tests with a minimum coverage of 70%","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Creating-a-custom-Component","page":"Adding Types","title":"Creating a custom Component","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/#Type-Hierarchy","page":"Adding Types","title":"Type Hierarchy","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"All structs that correlate to power system components must be subtypes of the Component abstract type. Browse its type hierachy to choose an appropriate supertype for your new struct.","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Interfaces","page":"Adding Types","title":"Interfaces","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Refer to the managing components guide for component requirements.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"In particular, please note the methods supports_time_series (default = false) and supports_supplemental_attributes (default = true) that you may need to implement.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Note: get_internal and get_name are imported into PowerSystems, so you should implement your methods as PowerSystems methods.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Some abstract types define required interface functions in docstring. Be sure to implement each of them for your new type.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Formalized documentation for each abstract type is TBD.","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Specialize-an-Existing-Type","page":"Adding Types","title":"Specialize an Existing Type","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"There are scenarios where you may want to make a new type that is identical to an existing type except for one attribute or behavior, and don't want to duplicate the entire existing type and methods. In programming languages that support inheritance you would derive a new class from the existing class and automatically inherit its fields and methods. Julia doesn't support that. However, you can achieve a similar result with a forwarding macro. The basic idea is that you include the existing type within your struct and then use a macro to automatically forward specific methods to that instance.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"A few PowerSystems structs use the macro InfrastructureSystems.@forward to do this. Refer to the struct RoundRotorQuadratic for an example of how to use this.","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Custom-Rules","page":"Adding Types","title":"Custom Rules","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Some types require special checks before they can be added to or removed from a system. One example is the case where a component includes another component that is also stored in the system. We must ensure that the parent component does not contain a reference to another component that is not already attached to the system.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Similarly, if the child object is removed from the system we must also remove the parent's reference to that child.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"The source file src/base.jl provides functions that you can implement for your new type to manage these scenarios.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"check_component_addition(sys::System, component::Component; kwargs...)\nhandle_component_addition!(sys::System, component::Component; kwargs...)\ncheck_component_removal(sys::System, component::Component; kwargs...)\nhandle_component_removal!(sys::System, component::Component; kwargs...)","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"The functions add_component!() and remove_component!() call the check function before performing actions and then call the handle function afterwards. The default behavior of these functions is to do nothing. Implement versions that take your type in order to add your own checks or perform additional actions.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Beware of the condition where a custom method is already implemented for a supertype of your type.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Note that you can call the helper functions is_attached(component, system) and throw_if_not_attached(component, system).","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Custom-Validation","page":"Adding Types","title":"Custom Validation","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"You can implement three methods to perform custom validation or correction for your type. PowerSystems calls all of these functions in add_component!.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"sanitize_component!(component::Component, sys::System): intended to make standard data corrections (e.g. voltage angle in degrees -> radians)\nvalidate_component(component::Component): intended to check component field values for internal consistency\nvalidate_component_with_system(component::Component, sys::System): intended to check component field values for consistency with system","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Struct-Requirements-for-Serialization-of-custom-components","page":"Adding Types","title":"Struct Requirements for Serialization of custom components","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"One key feature of PowerSystems.jl is the serialization capabilities. Supporting serialization and de-serialization of custom components requires the implementation of several methods. The serialization code converts structs to dictionaries where the struct fields become dictionary keys.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"The code imposes these requirements:","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"The InfrastructureSystems methods serialize and deserialize must be implemented for the struct. InfrastructureSystems implements a method that covers all subtypes of InfrastructureSystemsType. All PowerSystems components should be subtypes of PowerSystems.Component which is a subtype InfrastructureSystemsType, so any new structs should be covered as well.\nAll struct fields must be able to be encoded in JSON format or be covered be covered by serialize and deserialize methods. Basic types, such as numbers and strings or arrays and dictionaries of numbers and strings, should just work. Complex containers with symbols may not.\nStructs relying on the default deserialize method must have a kwarg-only constructor. The deserialization code constructs objects by splatting the dictionary key/value pairs into the constructor.\nStructs that contain other PowerSystem components (like a generator contains a bus) must serialize those components as UUIDs instead of actual values. The deserialization code uses the UUIDs as a mechanism to restore a reference to the actual object rather a new object with identical values. It also significantly reduces the size of the JSON file.","category":"page"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"Refer to InfrastructureSystems.serialize_struct for example behavior. New structs that are not subtypes of InfrastructureSystemsType may be able to call it directly.","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Adding-PowerSystems.jl-as-a-dependency-in-a-modeling-package","page":"Adding Types","title":"Adding PowerSystems.jl as a dependency in a modeling package","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"module MyModelingModule\n\nimport PowerSystems\nimport InfrastructureSystems\nconst PSY = PowerSystems\nconst IS = InfrastructureSystems\n\nexport MyDevice\nexport get_name\n\nmutable struct MyDevice <: PSY.Device\n name::String\n internal::IS.InfrastructureSystemsInternal\nend\n\nfunction MyDevice(name::String)\n return MyDevice(name, IS.InfrastructureSystemsInternal())\nend\n\nPSY.get_name(val::MyDevice) = val.name\n\nend","category":"page"},{"location":"model_developer_guide/adding_custom_types/#Auto-Generating-Custom-Structs","page":"Adding Types","title":"Auto-Generating Custom Structs","text":"","category":"section"},{"location":"model_developer_guide/adding_custom_types/","page":"Adding Types","title":"Adding Types","text":"It is possible to use an advanced future to auto-generate structs in Julia source code files. It is not mandatory to use these tools, but it can be useful if you need to generate multiple custom structs for your model. Please refer to the docstrings for the functions generate_struct and generate_structs. Full details are in the InfrastructureSystems documentation at https://nrel-sienna.github.io/InfrastructureSystems.jl/stable/devguide/autogeneration/","category":"page"},{"location":"model_library/generated_TapTransformer/#TapTransformer","page":"TapTransformer","title":"TapTransformer","text":"","category":"section"},{"location":"model_library/generated_TapTransformer/","page":"TapTransformer","title":"TapTransformer","text":"Modules = [PowerSystems]\nPages = [\"generated/TapTransformer.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TapTransformer/#PowerSystems.TapTransformer","page":"TapTransformer","title":"PowerSystems.TapTransformer","text":"mutable struct TapTransformer <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n reactive_power_flow::Float64\n arc::Arc\n r::Float64\n x::Float64\n primary_shunt::Float64\n tap::Float64\n rating::Union{Nothing, Float64}\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA 2-winding transformer, with a tap changer for variable turns ratio.\n\nThe model uses an equivalent circuit assuming the impedance is on the High Voltage Side of the transformer. The model allocates the iron losses and magnetizing susceptance to the primary side\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nactive_power_flow::Float64: Initial condition of active power flow through the transformer (MW)\nreactive_power_flow::Float64: Initial condition of reactive power flow through the transformer (MVAR)\narc::Arc: An Arc defining this transformer from a bus to another bus\nr::Float64: Resistance in p.u. (SYSTEM_BASE), validation range: (-2, 2)\nx::Float64: Reactance in p.u. (SYSTEM_BASE), validation range: (-2, 4)\nprimary_shunt::Float64: Shunt reactance in p.u. (SYSTEM_BASE), validation range: (0, 2)\ntap::Float64: Normalized tap changer position for voltage control, varying between 0 and 2, with 1 centered at the nominal voltage, validation range: (0, 2)\nrating::Union{Nothing, Float64}: Thermal rating (MVA). Flow through the transformer must be between -rating and rating, validation range: (0, nothing)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TapTransformer/#InfrastructureSystems.get_name-Tuple{TapTransformer}","page":"TapTransformer","title":"InfrastructureSystems.get_name","text":"get_name(value::TapTransformer) -> String\n\n\nGet TapTransformer name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_active_power_flow-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::TapTransformer) -> Any\n\n\nGet TapTransformer active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_arc-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_arc","text":"get_arc(value::TapTransformer) -> Arc\n\n\nGet TapTransformer arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_available-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_available","text":"get_available(value::TapTransformer) -> Bool\n\n\nGet TapTransformer available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_ext-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_ext","text":"get_ext(value::TapTransformer) -> Dict{String, Any}\n\n\nGet TapTransformer ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_primary_shunt-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_primary_shunt","text":"get_primary_shunt(value::TapTransformer) -> Float64\n\n\nGet TapTransformer primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_r-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_r","text":"get_r(value::TapTransformer) -> Float64\n\n\nGet TapTransformer r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_rating-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_rating","text":"get_rating(value::TapTransformer) -> Any\n\n\nGet TapTransformer rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_reactive_power_flow-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(value::TapTransformer) -> Any\n\n\nGet TapTransformer reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_services-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_services","text":"get_services(value::TapTransformer) -> Vector{Service}\n\n\nGet TapTransformer services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_tap-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_tap","text":"get_tap(value::TapTransformer) -> Float64\n\n\nGet TapTransformer tap.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.get_x-Tuple{TapTransformer}","page":"TapTransformer","title":"PowerSystems.get_x","text":"get_x(value::TapTransformer) -> Float64\n\n\nGet TapTransformer x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_active_power_flow!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_arc!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_arc!","text":"set_arc!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_available!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_available!","text":"set_available!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_ext!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_ext!","text":"set_ext!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_primary_shunt!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_primary_shunt!","text":"set_primary_shunt!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_r!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_r!","text":"set_r!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_rating!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_rating!","text":"set_rating!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_reactive_power_flow!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_services!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_services!","text":"set_services!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_tap!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_tap!","text":"set_tap!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer tap.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TapTransformer/#PowerSystems.set_x!-Tuple{TapTransformer, Any}","page":"TapTransformer","title":"PowerSystems.set_x!","text":"set_x!(value::TapTransformer, val) -> Any\n\n\nSet TapTransformer x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#HydroPumpedStorage","page":"HydroPumpedStorage","title":"HydroPumpedStorage","text":"","category":"section"},{"location":"model_library/generated_HydroPumpedStorage/","page":"HydroPumpedStorage","title":"HydroPumpedStorage","text":"Modules = [PowerSystems]\nPages = [\"generated/HydroPumpedStorage.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.HydroPumpedStorage","page":"HydroPumpedStorage","title":"PowerSystems.HydroPumpedStorage","text":"mutable struct HydroPumpedStorage <: HydroGen\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n base_power::Float64\n prime_mover_type::PrimeMovers\n active_power_limits::MinMax\n reactive_power_limits::Union{Nothing, MinMax}\n ramp_limits::Union{Nothing, UpDown}\n time_limits::Union{Nothing, UpDown}\n rating_pump::Float64\n active_power_limits_pump::MinMax\n reactive_power_limits_pump::Union{Nothing, MinMax}\n ramp_limits_pump::Union{Nothing, UpDown}\n time_limits_pump::Union{Nothing, UpDown}\n storage_capacity::UpDown\n inflow::Float64\n outflow::Float64\n initial_storage::UpDown\n storage_target::UpDown\n operation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}\n pump_efficiency::Float64\n conversion_factor::Float64\n status::PumpHydroStatus\n time_at_status::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA hydropower generator with pumped storage and upper and lower reservoirs. \n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used\nreactive_power::Float64: Initial reactive power set point of the unit (MVAR)\nrating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)\nbase_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here\nactive_power_limits::MinMax: Minimum and maximum stable active power levels (MW), validation range: (0, nothing)\nreactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable\nramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min, validation range: (0, nothing)\ntime_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing)\nrating_pump::Float64: Maximum power withdrawal (MVA) of the pump, validation range: (0, nothing)\nactive_power_limits_pump::MinMax:\nreactive_power_limits_pump::Union{Nothing, MinMax}:\nramp_limits_pump::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min of pump, validation range: (0, nothing)\ntime_limits_pump::Union{Nothing, UpDown}: Minimum up and Minimum down time limits of pump in hours, validation range: (0, nothing)\nstorage_capacity::UpDown: Maximum storage capacity in the upper and lower reservoirs (units can be p.u-hr or m^3), validation range: (0, nothing)\ninflow::Float64: Baseline inflow into the upper reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing)\noutflow::Float64: Baseline outflow from the lower reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing)\ninitial_storage::UpDown: Initial storage capacity in the upper and lower reservoir (units can be p.u-hr or m^3), validation range: (0, nothing)\nstorage_target::UpDown: (default: (up=1.0, down=1.0)) Storage target of upper reservoir at the end of simulation as ratio of storage capacity\noperation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}: (default: HydroGenerationCost(nothing)) Operating cost of generation\npump_efficiency::Float64: (default: 1.0) Pumping efficiency [0, 1.0], validation range: (0, 1)\nconversion_factor::Float64: (default: 1.0) Conversion factor from flow/volume to energy: m^3 -> p.u-hr\nstatus::PumpHydroStatus: (default: PumpHydroStatus.OFF) Initial commitment condition at the start of a simulation (PumpHydroStatus.PUMP, PumpHydroStatus.GEN, or PumpHydroStatus.OFF)\ntime_at_status::Float64: (default: INFINITE_TIME) Time (e.g., Hours(6)) the generator has been generating, pumping, or off, as indicated by status\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_HydroPumpedStorage/#InfrastructureSystems.get_name-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"InfrastructureSystems.get_name","text":"get_name(value::HydroPumpedStorage) -> String\n\n\nGet HydroPumpedStorage name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_active_power-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_active_power","text":"get_active_power(value::HydroPumpedStorage) -> Any\n\n\nGet HydroPumpedStorage active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_active_power_limits-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::HydroPumpedStorage\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet HydroPumpedStorage active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_active_power_limits_pump-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_active_power_limits_pump","text":"get_active_power_limits_pump(\n value::HydroPumpedStorage\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet HydroPumpedStorage active_power_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_available-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_available","text":"get_available(value::HydroPumpedStorage) -> Bool\n\n\nGet HydroPumpedStorage available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_base_power-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_base_power","text":"get_base_power(value::HydroPumpedStorage) -> Float64\n\n\nGet HydroPumpedStorage base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_bus-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_bus","text":"get_bus(value::HydroPumpedStorage) -> ACBus\n\n\nGet HydroPumpedStorage bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_conversion_factor-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_conversion_factor","text":"get_conversion_factor(value::HydroPumpedStorage) -> Float64\n\n\nGet HydroPumpedStorage conversion_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_dynamic_injector-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::HydroPumpedStorage\n) -> Union{Nothing, DynamicInjection}\n\n\nGet HydroPumpedStorage dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_ext-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_ext","text":"get_ext(value::HydroPumpedStorage) -> Dict{String, Any}\n\n\nGet HydroPumpedStorage ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_inflow-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_inflow","text":"get_inflow(value::HydroPumpedStorage) -> Any\n\n\nGet HydroPumpedStorage inflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_initial_storage-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_initial_storage","text":"get_initial_storage(\n value::HydroPumpedStorage\n) -> NamedTuple{(:up, :down), <:Tuple{Any, Any}}\n\n\nGet HydroPumpedStorage initial_storage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_operation_cost-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::HydroPumpedStorage\n) -> Union{HydroGenerationCost, MarketBidCost, StorageCost}\n\n\nGet HydroPumpedStorage operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_outflow-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_outflow","text":"get_outflow(value::HydroPumpedStorage) -> Float64\n\n\nGet HydroPumpedStorage outflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_prime_mover_type-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(\n value::HydroPumpedStorage\n) -> PrimeMovers\n\n\nGet HydroPumpedStorage prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_pump_efficiency-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_pump_efficiency","text":"get_pump_efficiency(value::HydroPumpedStorage) -> Float64\n\n\nGet HydroPumpedStorage pump_efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_ramp_limits-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_ramp_limits","text":"get_ramp_limits(\n value::HydroPumpedStorage\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet HydroPumpedStorage ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_ramp_limits_pump-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_ramp_limits_pump","text":"get_ramp_limits_pump(\n value::HydroPumpedStorage\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet HydroPumpedStorage ramp_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_rating-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_rating","text":"get_rating(value::HydroPumpedStorage) -> Any\n\n\nGet HydroPumpedStorage rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_rating_pump-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_rating_pump","text":"get_rating_pump(value::HydroPumpedStorage) -> Any\n\n\nGet HydroPumpedStorage rating_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_reactive_power-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::HydroPumpedStorage) -> Any\n\n\nGet HydroPumpedStorage reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_reactive_power_limits-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::HydroPumpedStorage\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HydroPumpedStorage reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_reactive_power_limits_pump-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_reactive_power_limits_pump","text":"get_reactive_power_limits_pump(\n value::HydroPumpedStorage\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HydroPumpedStorage reactive_power_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_services-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_services","text":"get_services(value::HydroPumpedStorage) -> Vector{Service}\n\n\nGet HydroPumpedStorage services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_status-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_status","text":"get_status(\n value::HydroPumpedStorage\n) -> PowerSystems.PumpHydroStatusModule.PumpHydroStatus\n\n\nGet HydroPumpedStorage status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_storage_capacity-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_storage_capacity","text":"get_storage_capacity(\n value::HydroPumpedStorage\n) -> NamedTuple{(:up, :down), <:Tuple{Any, Any}}\n\n\nGet HydroPumpedStorage storage_capacity.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_storage_target-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_storage_target","text":"get_storage_target(\n value::HydroPumpedStorage\n) -> @NamedTuple{up::Float64, down::Float64}\n\n\nGet HydroPumpedStorage storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_time_at_status-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_time_at_status","text":"get_time_at_status(value::HydroPumpedStorage) -> Float64\n\n\nGet HydroPumpedStorage time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_time_limits-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_time_limits","text":"get_time_limits(\n value::HydroPumpedStorage\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet HydroPumpedStorage time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.get_time_limits_pump-Tuple{HydroPumpedStorage}","page":"HydroPumpedStorage","title":"PowerSystems.get_time_limits_pump","text":"get_time_limits_pump(\n value::HydroPumpedStorage\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet HydroPumpedStorage time_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_active_power!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_active_power_limits!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_active_power_limits_pump!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_active_power_limits_pump!","text":"set_active_power_limits_pump!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage active_power_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_available!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_available!","text":"set_available!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_base_power!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_bus!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_bus!","text":"set_bus!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_conversion_factor!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_conversion_factor!","text":"set_conversion_factor!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage conversion_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_ext!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_ext!","text":"set_ext!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_inflow!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_inflow!","text":"set_inflow!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage inflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_initial_storage!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_initial_storage!","text":"set_initial_storage!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage initial_storage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_operation_cost!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_outflow!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_outflow!","text":"set_outflow!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage outflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_prime_mover_type!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_pump_efficiency!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_pump_efficiency!","text":"set_pump_efficiency!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage pump_efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_ramp_limits!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_ramp_limits!","text":"set_ramp_limits!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_ramp_limits_pump!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_ramp_limits_pump!","text":"set_ramp_limits_pump!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage ramp_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_rating!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_rating!","text":"set_rating!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_rating_pump!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_rating_pump!","text":"set_rating_pump!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage rating_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_reactive_power!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_reactive_power_limits!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_reactive_power_limits_pump!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_reactive_power_limits_pump!","text":"set_reactive_power_limits_pump!(\n value::HydroPumpedStorage,\n val\n) -> Any\n\n\nSet HydroPumpedStorage reactive_power_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_services!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_services!","text":"set_services!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_status!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_status!","text":"set_status!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_storage_capacity!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_storage_capacity!","text":"set_storage_capacity!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage storage_capacity.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_storage_target!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_storage_target!","text":"set_storage_target!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_time_at_status!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_time_at_status!","text":"set_time_at_status!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_time_limits!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_time_limits!","text":"set_time_limits!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroPumpedStorage/#PowerSystems.set_time_limits_pump!-Tuple{HydroPumpedStorage, Any}","page":"HydroPumpedStorage","title":"PowerSystems.set_time_limits_pump!","text":"set_time_limits_pump!(value::HydroPumpedStorage, val) -> Any\n\n\nSet HydroPumpedStorage time_limits_pump.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#ACBus","page":"ACBus","title":"ACBus","text":"","category":"section"},{"location":"model_library/generated_ACBus/","page":"ACBus","title":"ACBus","text":"Modules = [PowerSystems]\nPages = [\"generated/ACBus.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_ACBus/#PowerSystems.ACBus","page":"ACBus","title":"PowerSystems.ACBus","text":"mutable struct ACBus <: Bus\n number::Int\n name::String\n bustype::Union{Nothing, ACBusTypes}\n angle::Union{Nothing, Float64}\n magnitude::Union{Nothing, Float64}\n voltage_limits::Union{Nothing, MinMax}\n base_voltage::Union{Nothing, Float64}\n area::Union{Nothing, Area}\n load_zone::Union{Nothing, LoadZone}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nAn AC bus\n\nArguments\n\nnumber::Int: A unique bus identification number (positive integer)\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\nbustype::Union{Nothing, ACBusTypes}: Used to describe the connectivity and behavior of this bus. Options are listed here.\nangle::Union{Nothing, Float64}: angle of the bus in radians, validation range: (-1.571, 1.571)\nmagnitude::Union{Nothing, Float64}: voltage as a multiple of base_voltage, validation range: voltage_limits\nvoltage_limits::Union{Nothing, MinMax}: limits on the voltage variation as multiples of base_voltage\nbase_voltage::Union{Nothing, Float64}: the base voltage in kV, validation range: (0, nothing)\narea::Union{Nothing, Area}: (default: nothing) the area containing the bus\nload_zone::Union{Nothing, LoadZone}: (default: nothing) the load zone containing the bus\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_ACBus/#InfrastructureSystems.get_name-Tuple{ACBus}","page":"ACBus","title":"InfrastructureSystems.get_name","text":"get_name(value::ACBus) -> String\n\n\nGet ACBus name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_angle-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_angle","text":"get_angle(value::ACBus) -> Union{Nothing, Float64}\n\n\nGet ACBus angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_area-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_area","text":"get_area(value::ACBus) -> Union{Nothing, Area}\n\n\nGet ACBus area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_base_voltage-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_base_voltage","text":"get_base_voltage(value::ACBus) -> Union{Nothing, Float64}\n\n\nGet ACBus base_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_bustype-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_bustype","text":"get_bustype(value::ACBus) -> Union{Nothing, ACBusTypes}\n\n\nGet ACBus bustype.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_ext-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_ext","text":"get_ext(value::ACBus) -> Dict{String, Any}\n\n\nGet ACBus ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_load_zone-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_load_zone","text":"get_load_zone(value::ACBus) -> Union{Nothing, LoadZone}\n\n\nGet ACBus load_zone.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_magnitude-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_magnitude","text":"get_magnitude(value::ACBus) -> Union{Nothing, Float64}\n\n\nGet ACBus magnitude.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_number-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_number","text":"get_number(value::ACBus) -> Int64\n\n\nGet ACBus number.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.get_voltage_limits-Tuple{ACBus}","page":"ACBus","title":"PowerSystems.get_voltage_limits","text":"get_voltage_limits(\n value::ACBus\n) -> Union{Nothing, @NamedTuple{min::Float64, max::Float64}}\n\n\nGet ACBus voltage_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_angle!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_angle!","text":"set_angle!(value::ACBus, val) -> Any\n\n\nSet ACBus angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_area!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_area!","text":"set_area!(value::ACBus, val) -> Area\n\n\nSet ACBus area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_base_voltage!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_base_voltage!","text":"set_base_voltage!(value::ACBus, val) -> Any\n\n\nSet ACBus base_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_bustype!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_bustype!","text":"set_bustype!(value::ACBus, val) -> Any\n\n\nSet ACBus bustype.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_ext!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_ext!","text":"set_ext!(value::ACBus, val) -> Any\n\n\nSet ACBus ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_load_zone!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_load_zone!","text":"set_load_zone!(value::ACBus, val) -> LoadZone\n\n\nSet ACBus load_zone.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_magnitude!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_magnitude!","text":"set_magnitude!(value::ACBus, val) -> Any\n\n\nSet ACBus magnitude.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_number!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_number!","text":"set_number!(value::ACBus, val) -> Any\n\n\nSet ACBus number.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ACBus/#PowerSystems.set_voltage_limits!-Tuple{ACBus, Any}","page":"ACBus","title":"PowerSystems.set_voltage_limits!","text":"set_voltage_limits!(value::ACBus, val) -> Any\n\n\nSet ACBus voltage_limits.\n\n\n\n\n\n","category":"method"},{"location":"code_base_developer_guide/adding_new_types/#Adding-PowerSystems-Types","page":"Adding New Types","title":"Adding PowerSystems Types","text":"","category":"section"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"This page describes how developers should add types to PowerSystems.jl Refer to the managing components guide first.","category":"page"},{"location":"code_base_developer_guide/adding_new_types/#autogen","page":"Adding New Types","title":"Auto-generating Structs","text":"","category":"section"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"Most PowerSystems.jl structs are auto-generated from the JSON descriptor file src/descriptors/power_system_structs.json. You can add your new struct here or write it manually when contributing code to the repository","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"If all you need is the basic struct definition and getter/setter functions then you will likely find the auto-generation helpful.","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"If you will need to write specialized functions for the type then you will probably want to write it manually.","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"Refer to this link for more information.","category":"page"},{"location":"code_base_developer_guide/adding_new_types/#Testing-the-addition-of-new-struct-to-the-code-base","page":"Adding New Types","title":"Testing the addition of new struct to the code base","text":"","category":"section"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"In order to merge new structs to the code base, your struct needs to pass several tests.","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"addition to System\nretrieval from System\nserialization/de-serialization","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"The following code block is an example of the code that the new struct needs to pass","category":"page"},{"location":"code_base_developer_guide/adding_new_types/","page":"Adding New Types","title":"Adding New Types","text":"using PowerSystems\n\nsys = System(100.0)\ndevice = NewType(data)\n\n# add your component to the system\nadd_component!(sys, device)\nretrived_device = get_component(NewType, sys, \"component_name\")\n\n# Serialize\nto_json(sys, \"sys.json\")\n\n# Re-create the system and find your component.\nsys2 = System(\"sys.json\")\nserialized_device = get_component(NewType, sys, \"component_name\")\n\n@test get_name(retrieved_device) == get_name(serialized_device)","category":"page"},{"location":"model_library/generated_EnergyReservoirStorage/#EnergyReservoirStorage","page":"EnergyReservoirStorage","title":"EnergyReservoirStorage","text":"","category":"section"},{"location":"model_library/generated_EnergyReservoirStorage/","page":"EnergyReservoirStorage","title":"EnergyReservoirStorage","text":"Modules = [PowerSystems]\nPages = [\"generated/EnergyReservoirStorage.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.EnergyReservoirStorage","page":"EnergyReservoirStorage","title":"PowerSystems.EnergyReservoirStorage","text":"mutable struct EnergyReservoirStorage <: Storage\n name::String\n available::Bool\n bus::ACBus\n prime_mover_type::PrimeMovers\n storage_technology_type::StorageTech\n storage_capacity::Float64\n storage_level_limits::MinMax\n initial_storage_capacity_level::Float64\n rating::Float64\n active_power::Float64\n input_active_power_limits::MinMax\n output_active_power_limits::MinMax\n efficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}\n reactive_power::Float64\n reactive_power_limits::Union{Nothing, MinMax}\n base_power::Float64\n operation_cost::StorageCost\n conversion_factor::Float64\n storage_target::Float64\n cycle_limits::Int\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nAn energy storage device, modeled as a generic energy reservoir.\n\nThis is suitable for modeling storage charging and discharging with average efficiency losses, ignoring the physical dynamics of the storage unit. A variety of energy storage types and chemistries can be modeled with this approach. For pumped hydro storage, alternatively see HydroPumpedStorage\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here\nstorage_technology_type::StorageTech: Storage Technology Complementary to EIA 923\nstorage_capacity::Float64: Maximum storage capacity (can be in units of, e.g., MWh for batteries or liters for hydrogen), validation range: (0, nothing)\nstorage_level_limits::MinMax: Minimum and maximum allowable storage levels [0, 1], which can be used to model derates or other restrictions, such as state-of-charge restrictions on battery cycling, validation range: (0, 1)\ninitial_storage_capacity_level::Float64: Initial storage capacity level as a ratio [0, 1.0] of storage_capacity, validation range: (0, 1)\nrating::Float64: Maximum output power rating of the unit (MVA)\nactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used\ninput_active_power_limits::MinMax: Minimum and maximum limits on the input active power (i.e., charging), validation range: (0, nothing)\noutput_active_power_limits::MinMax: Minimum and maximum limits on the output active power (i.e., discharging), validation range: (0, nothing)\nefficiency::NamedTuple{(:in, :out), Tuple{Float64, Float64}}: Average efficiency [0, 1] in (charging/filling) and out (discharging/consuming) of the storage system, validation range: (0, 1)\nreactive_power::Float64: Initial reactive power set point of the unit (MVAR), validation range: reactive_power_limits\nreactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable\nbase_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)\noperation_cost::StorageCost: (default: StorageCost(nothing)) Operating cost of storage\nconversion_factor::Float64: (default: 1.0) Conversion factor of storage_capacity to MWh, if different than 1.0. For example, X MWh/liter hydrogen\nstorage_target::Float64: (default: 0.0) Storage target at the end of simulation as ratio of storage capacity\ncycle_limits::Int: (default: 1e4) Storage Maximum number of cycles per year\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_EnergyReservoirStorage/#InfrastructureSystems.get_name-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"InfrastructureSystems.get_name","text":"get_name(value::EnergyReservoirStorage) -> String\n\n\nGet EnergyReservoirStorage name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_active_power-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_active_power","text":"get_active_power(value::EnergyReservoirStorage) -> Any\n\n\nGet EnergyReservoirStorage active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_available-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_available","text":"get_available(value::EnergyReservoirStorage) -> Bool\n\n\nGet EnergyReservoirStorage available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_base_power-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_base_power","text":"get_base_power(value::EnergyReservoirStorage) -> Float64\n\n\nGet EnergyReservoirStorage base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_bus-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_bus","text":"get_bus(value::EnergyReservoirStorage) -> ACBus\n\n\nGet EnergyReservoirStorage bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_conversion_factor-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_conversion_factor","text":"get_conversion_factor(\n value::EnergyReservoirStorage\n) -> Float64\n\n\nGet EnergyReservoirStorage conversion_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_cycle_limits-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_cycle_limits","text":"get_cycle_limits(value::EnergyReservoirStorage) -> Int64\n\n\nGet EnergyReservoirStorage cycle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_dynamic_injector-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::EnergyReservoirStorage\n) -> Union{Nothing, DynamicInjection}\n\n\nGet EnergyReservoirStorage dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_efficiency-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_efficiency","text":"get_efficiency(\n value::EnergyReservoirStorage\n) -> @NamedTuple{in::Float64, out::Float64}\n\n\nGet EnergyReservoirStorage efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_ext-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_ext","text":"get_ext(value::EnergyReservoirStorage) -> Dict{String, Any}\n\n\nGet EnergyReservoirStorage ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_initial_storage_capacity_level-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_initial_storage_capacity_level","text":"get_initial_storage_capacity_level(\n value::EnergyReservoirStorage\n) -> Float64\n\n\nGet EnergyReservoirStorage initial_storage_capacity_level.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_input_active_power_limits-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_input_active_power_limits","text":"get_input_active_power_limits(\n value::EnergyReservoirStorage\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet EnergyReservoirStorage input_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_operation_cost-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::EnergyReservoirStorage\n) -> StorageCost\n\n\nGet EnergyReservoirStorage operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_output_active_power_limits-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_output_active_power_limits","text":"get_output_active_power_limits(\n value::EnergyReservoirStorage\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet EnergyReservoirStorage output_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_prime_mover_type-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(\n value::EnergyReservoirStorage\n) -> PrimeMovers\n\n\nGet EnergyReservoirStorage prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_rating-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_rating","text":"get_rating(value::EnergyReservoirStorage) -> Any\n\n\nGet EnergyReservoirStorage rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_reactive_power-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::EnergyReservoirStorage) -> Any\n\n\nGet EnergyReservoirStorage reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_reactive_power_limits-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::EnergyReservoirStorage\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet EnergyReservoirStorage reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_services-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_services","text":"get_services(\n value::EnergyReservoirStorage\n) -> Vector{Service}\n\n\nGet EnergyReservoirStorage services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_storage_capacity-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_storage_capacity","text":"get_storage_capacity(value::EnergyReservoirStorage) -> Any\n\n\nGet EnergyReservoirStorage storage_capacity.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_storage_level_limits-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_storage_level_limits","text":"get_storage_level_limits(\n value::EnergyReservoirStorage\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EnergyReservoirStorage storage_level_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_storage_target-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_storage_target","text":"get_storage_target(value::EnergyReservoirStorage) -> Float64\n\n\nGet EnergyReservoirStorage storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.get_storage_technology_type-Tuple{EnergyReservoirStorage}","page":"EnergyReservoirStorage","title":"PowerSystems.get_storage_technology_type","text":"get_storage_technology_type(\n value::EnergyReservoirStorage\n) -> StorageTech\n\n\nGet EnergyReservoirStorage storage_technology_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_active_power!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::EnergyReservoirStorage, val) -> Any\n\n\nSet EnergyReservoirStorage active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_available!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_available!","text":"set_available!(value::EnergyReservoirStorage, val) -> Any\n\n\nSet EnergyReservoirStorage available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_base_power!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::EnergyReservoirStorage, val) -> Any\n\n\nSet EnergyReservoirStorage base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_bus!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_bus!","text":"set_bus!(value::EnergyReservoirStorage, val) -> Any\n\n\nSet EnergyReservoirStorage bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_conversion_factor!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_conversion_factor!","text":"set_conversion_factor!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage conversion_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_cycle_limits!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_cycle_limits!","text":"set_cycle_limits!(value::EnergyReservoirStorage, val) -> Any\n\n\nSet EnergyReservoirStorage cycle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_efficiency!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_efficiency!","text":"set_efficiency!(value::EnergyReservoirStorage, val) -> Any\n\n\nSet EnergyReservoirStorage efficiency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_ext!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_ext!","text":"set_ext!(value::EnergyReservoirStorage, val) -> Any\n\n\nSet EnergyReservoirStorage ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_initial_storage_capacity_level!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_initial_storage_capacity_level!","text":"set_initial_storage_capacity_level!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage initial_storage_capacity_level.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_input_active_power_limits!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_input_active_power_limits!","text":"set_input_active_power_limits!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage input_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_operation_cost!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_output_active_power_limits!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_output_active_power_limits!","text":"set_output_active_power_limits!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage output_active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_prime_mover_type!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_rating!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_rating!","text":"set_rating!(value::EnergyReservoirStorage, val) -> Any\n\n\nSet EnergyReservoirStorage rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_reactive_power!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_reactive_power_limits!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_services!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_services!","text":"set_services!(value::EnergyReservoirStorage, val) -> Any\n\n\nSet EnergyReservoirStorage services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_storage_capacity!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_storage_capacity!","text":"set_storage_capacity!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage storage_capacity.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_storage_level_limits!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_storage_level_limits!","text":"set_storage_level_limits!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage storage_level_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_storage_target!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_storage_target!","text":"set_storage_target!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_EnergyReservoirStorage/#PowerSystems.set_storage_technology_type!-Tuple{EnergyReservoirStorage, Any}","page":"EnergyReservoirStorage","title":"PowerSystems.set_storage_technology_type!","text":"set_storage_technology_type!(\n value::EnergyReservoirStorage,\n val\n) -> Any\n\n\nSet EnergyReservoirStorage storage_technology_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#MonitoredLine","page":"MonitoredLine","title":"MonitoredLine","text":"","category":"section"},{"location":"model_library/generated_MonitoredLine/","page":"MonitoredLine","title":"MonitoredLine","text":"Modules = [PowerSystems]\nPages = [\"generated/MonitoredLine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.MonitoredLine","page":"MonitoredLine","title":"PowerSystems.MonitoredLine","text":"mutable struct MonitoredLine <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n reactive_power_flow::Float64\n arc::Arc\n r::Float64\n x::Float64\n b::FromTo\n flow_limits::FromTo_ToFrom\n rating::Float64\n angle_limits::MinMax\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nAn AC transmission line with additional power flow constraints specified by the system operator, more restrictive than the line's thermal limits.\n\nFor example, monitored lines can be used to restrict line flow following a contingency elsewhere in the network. See the flow_limits parameter. If monitoring is not needed, see Line\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nactive_power_flow::Float64: Initial condition of active power flow on the line (MW)\nreactive_power_flow::Float64: Initial condition of reactive power flow on the line (MVAR)\narc::Arc: An Arc defining this line from a bus to another bus\nr::Float64: Resistance in pu (SYSTEM_BASE), validation range: (0, 4)\nx::Float64: Reactance in pu (SYSTEM_BASE), validation range: (0, 4)\nb::FromTo: Shunt susceptance in pu (SYSTEM_BASE), specified both on the from and to ends of the line. These are commonly modeled with the same value, validation range: (0, 2)\nflow_limits::FromTo_ToFrom: Minimum and maximum permissable flow on the line (MVA), if different from the thermal rating defined in rating\nrating::Float64: Thermal rating (MVA). Flow through the transformer must be between -rating and rating\nangle_limits::MinMax: Minimum and maximum angle limits (radians), validation range: (-1.571, 1.571)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_MonitoredLine/#InfrastructureSystems.get_name-Tuple{MonitoredLine}","page":"MonitoredLine","title":"InfrastructureSystems.get_name","text":"get_name(value::MonitoredLine) -> String\n\n\nGet MonitoredLine name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_active_power_flow-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::MonitoredLine) -> Any\n\n\nGet MonitoredLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_angle_limits-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_angle_limits","text":"get_angle_limits(\n value::MonitoredLine\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet MonitoredLine angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_arc-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_arc","text":"get_arc(value::MonitoredLine) -> Arc\n\n\nGet MonitoredLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_available-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_available","text":"get_available(value::MonitoredLine) -> Bool\n\n\nGet MonitoredLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_b-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_b","text":"get_b(\n value::MonitoredLine\n) -> @NamedTuple{from::Float64, to::Float64}\n\n\nGet MonitoredLine b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_ext-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_ext","text":"get_ext(value::MonitoredLine) -> Dict{String, Any}\n\n\nGet MonitoredLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_flow_limits-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_flow_limits","text":"get_flow_limits(\n value::MonitoredLine\n) -> NamedTuple{(:from_to, :to_from), <:Tuple{Any, Any}}\n\n\nGet MonitoredLine flow_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_r-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_r","text":"get_r(value::MonitoredLine) -> Float64\n\n\nGet MonitoredLine r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_rating-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_rating","text":"get_rating(value::MonitoredLine) -> Any\n\n\nGet MonitoredLine rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_reactive_power_flow-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(value::MonitoredLine) -> Any\n\n\nGet MonitoredLine reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_services-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_services","text":"get_services(value::MonitoredLine) -> Vector{Service}\n\n\nGet MonitoredLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.get_x-Tuple{MonitoredLine}","page":"MonitoredLine","title":"PowerSystems.get_x","text":"get_x(value::MonitoredLine) -> Float64\n\n\nGet MonitoredLine x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_active_power_flow!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_angle_limits!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_angle_limits!","text":"set_angle_limits!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine angle_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_arc!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_arc!","text":"set_arc!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_available!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_available!","text":"set_available!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_b!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_b!","text":"set_b!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine b.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_ext!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_ext!","text":"set_ext!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_flow_limits!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_flow_limits!","text":"set_flow_limits!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine flow_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_r!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_r!","text":"set_r!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_rating!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_rating!","text":"set_rating!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_reactive_power_flow!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_services!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_services!","text":"set_services!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_MonitoredLine/#PowerSystems.set_x!-Tuple{MonitoredLine, Any}","page":"MonitoredLine","title":"PowerSystems.set_x!","text":"set_x!(value::MonitoredLine, val) -> Any\n\n\nSet MonitoredLine x.\n\n\n\n\n\n","category":"method"},{"location":"tutorials/serialize_data/#Serializing-PowerSystem-Data","page":"Serialize Data","title":"Serializing PowerSystem Data","text":"","category":"section"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"tutorials/serialize_data/#Introduction","page":"Serialize Data","title":"Introduction","text":"","category":"section"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"PowerSystems.jl supports serializing/deserializing data with JSON. This provides an example of how to write and read a System to/from disk.","category":"page"},{"location":"tutorials/serialize_data/#Dependencies","page":"Serialize Data","title":"Dependencies","text":"","category":"section"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"Let's use a dataset from the tabular data parsing tutorial:","category":"page"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"using PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\"); #hide \nsys = System(joinpath(file_dir, \"case5_re.m\"))","category":"page"},{"location":"tutorials/serialize_data/#Write-data-to-a-temporary-directory","page":"Serialize Data","title":"Write data to a temporary directory","text":"","category":"section"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"folder = mktempdir();\npath = joinpath(folder, \"system.json\")\nprintln(\"Serializing to $path\")\nto_json(sys, path)","category":"page"},{"location":"tutorials/serialize_data/#Read-the-JSON-file-and-create-a-new-System","page":"Serialize Data","title":"Read the JSON file and create a new System","text":"","category":"section"},{"location":"tutorials/serialize_data/","page":"Serialize Data","title":"Serialize Data","text":"sys2 = System(path)","category":"page"},{"location":"model_library/dynamic_inverter/#DynamicInverter","page":"Dynamic Inverter","title":"DynamicInverter","text":"","category":"section"},{"location":"model_library/dynamic_inverter/","page":"Dynamic Inverter","title":"Dynamic Inverter","text":"Modules = [PowerSystems]\nPages = [\"dynamic_inverter.jl\"]\nOrder = [:type, :function]\nPublic = true","category":"page"},{"location":"model_library/dynamic_inverter/#PowerSystems.DynamicInverter","page":"Dynamic Inverter","title":"PowerSystems.DynamicInverter","text":"mutable struct DynamicInverter{\n C <: Converter,\n O <: OuterControl,\n IC <: InnerControl,\n DC <: DCSource,\n P <: FrequencyEstimator,\n F <: Filter,\n} <: DynamicInjection\n name::String\n ω_ref::Float64\n converter::C\n outer_control::O\n inner_control::IC\n dc_source::DC\n freq_estimator::P\n filter::F\n limiter::Union{nothing, OutputCurrentLimiter}\n base_power::Float64\n n_states::Int\n states::Vector{Symbol}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA dynamic inverter is composed by 6 components, namely a Converter, an Outer Control, an Inner Control, a DC Source, a Frequency Estimator and a Filter. It requires a StaticInjection device that is attached to it.\n\nArguments\n\nname::String: Name of inverter.\nω_ref::Float64: Frequency reference set-point in pu.\nconverter <: Converter: Converter model for the PWM transformation.\nouter_control <: OuterControl: Outer-control controller model.\ninner_control <: InnerControl: Inner-control controller model.\ndc_source <: DCSource: DC Source model.\nfreq_estimator <: FrequencyEstimator: Frequency Estimator (typically a PLL) model.\nfilter <: Filter: Filter model.\nlimiter <: Union{nothing, OutputCurrentLimiter}: Inverter Inner Control Limiter model\nbase_power::Float64: Base power\nn_states::Int: Number of states (will depend on the components).\nstates::Vector{Symbol}: Vector of states (will depend on the components).\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AGC/#AGC","page":"AGC","title":"AGC","text":"","category":"section"},{"location":"model_library/generated_AGC/","page":"AGC","title":"AGC","text":"Modules = [PowerSystems]\nPages = [\"generated/AGC.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AGC/#PowerSystems.AGC","page":"AGC","title":"PowerSystems.AGC","text":"mutable struct AGC <: Service\n name::String\n available::Bool\n bias::Float64\n K_p::Float64\n K_i::Float64\n K_d::Float64\n delta_t::Float64\n area::Union{Nothing, Area}\n initial_ace::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nAutomatic generation control (AGC) for the system or a certain Area within the system.\n\nThis model uses a proportional–integral–derivative (PID) control to simulate a \"smooth\" response of the AGC to the area control error (ACE). Refer to \"AGC Simulation Model for Large Renewable Energy Penetration Studies.\"\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbias::Float64: Area frequency bias in MW/Hz\nK_p::Float64: PID Proportional Constant\nK_i::Float64: PID Integral Constant\nK_d::Float64: PID Derivative Constant\ndelta_t::Float64: PID Discretization period [Seconds]\narea::Union{Nothing, Area}: (default: nothing) the area controlled by the AGC\ninitial_ace::Float64: (default: 0.0) Initial condition for ACE\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AGC/#InfrastructureSystems.get_name-Tuple{AGC}","page":"AGC","title":"InfrastructureSystems.get_name","text":"get_name(value::AGC) -> String\n\n\nGet AGC name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_K_d-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_K_d","text":"get_K_d(value::AGC) -> Float64\n\n\nGet AGC K_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_K_i-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_K_i","text":"get_K_i(value::AGC) -> Float64\n\n\nGet AGC K_i.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_K_p-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_K_p","text":"get_K_p(value::AGC) -> Float64\n\n\nGet AGC K_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_area-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_area","text":"get_area(value::AGC) -> Union{Nothing, Area}\n\n\nGet AGC area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_available-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_available","text":"get_available(value::AGC) -> Bool\n\n\nGet AGC available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_bias-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_bias","text":"get_bias(value::AGC) -> Float64\n\n\nGet AGC bias.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_delta_t-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_delta_t","text":"get_delta_t(value::AGC) -> Float64\n\n\nGet AGC delta_t.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_ext-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_ext","text":"get_ext(value::AGC) -> Dict{String, Any}\n\n\nGet AGC ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.get_initial_ace-Tuple{AGC}","page":"AGC","title":"PowerSystems.get_initial_ace","text":"get_initial_ace(value::AGC) -> Float64\n\n\nGet AGC initial_ace.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_K_d!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_K_d!","text":"set_K_d!(value::AGC, val) -> Any\n\n\nSet AGC K_d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_K_i!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_K_i!","text":"set_K_i!(value::AGC, val) -> Any\n\n\nSet AGC K_i.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_K_p!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_K_p!","text":"set_K_p!(value::AGC, val) -> Any\n\n\nSet AGC K_p.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_area!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_area!","text":"set_area!(value::AGC, val) -> Any\n\n\nSet AGC area.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_available!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_available!","text":"set_available!(value::AGC, val) -> Any\n\n\nSet AGC available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_bias!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_bias!","text":"set_bias!(value::AGC, val) -> Any\n\n\nSet AGC bias.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_delta_t!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_delta_t!","text":"set_delta_t!(value::AGC, val) -> Any\n\n\nSet AGC delta_t.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_ext!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_ext!","text":"set_ext!(value::AGC, val) -> Any\n\n\nSet AGC ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AGC/#PowerSystems.set_initial_ace!-Tuple{AGC, Any}","page":"AGC","title":"PowerSystems.set_initial_ace!","text":"set_initial_ace!(value::AGC, val) -> Any\n\n\nSet AGC initial_ace.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#Transformer2W","page":"Transformer2W","title":"Transformer2W","text":"","category":"section"},{"location":"model_library/generated_Transformer2W/","page":"Transformer2W","title":"Transformer2W","text":"Modules = [PowerSystems]\nPages = [\"generated/Transformer2W.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Transformer2W/#PowerSystems.Transformer2W","page":"Transformer2W","title":"PowerSystems.Transformer2W","text":"mutable struct Transformer2W <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n reactive_power_flow::Float64\n arc::Arc\n r::Float64\n x::Float64\n primary_shunt::Float64\n rating::Union{Nothing, Float64}\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA basic 2-winding transformer.\n\nThe model uses an equivalent circuit assuming the impedance is on the High Voltage Side of the transformer. The model allocates the iron losses and magnetizing susceptance to the primary side\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nactive_power_flow::Float64: Initial condition of active power flow through the transformer (MW)\nreactive_power_flow::Float64: Initial condition of reactive power flow through the transformer (MVAR)\narc::Arc: An Arc defining this transformer from a bus to another bus\nr::Float64: Resistance in pu (SYSTEM_BASE), validation range: (-2, 4)\nx::Float64: Reactance in pu (SYSTEM_BASE), validation range: (-2, 4)\nprimary_shunt::Float64: Shunt reactance in pu (SYSTEM_BASE), validation range: (0, 2)\nrating::Union{Nothing, Float64}: Thermal rating (MVA). Flow through the transformer must be between -rating and rating, validation range: (0, nothing)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Transformer2W/#InfrastructureSystems.get_name-Tuple{Transformer2W}","page":"Transformer2W","title":"InfrastructureSystems.get_name","text":"get_name(value::Transformer2W) -> String\n\n\nGet Transformer2W name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_active_power_flow-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::Transformer2W) -> Any\n\n\nGet Transformer2W active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_arc-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_arc","text":"get_arc(value::Transformer2W) -> Arc\n\n\nGet Transformer2W arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_available-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_available","text":"get_available(value::Transformer2W) -> Bool\n\n\nGet Transformer2W available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_ext-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_ext","text":"get_ext(value::Transformer2W) -> Dict{String, Any}\n\n\nGet Transformer2W ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_primary_shunt-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_primary_shunt","text":"get_primary_shunt(value::Transformer2W) -> Float64\n\n\nGet Transformer2W primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_r-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_r","text":"get_r(value::Transformer2W) -> Float64\n\n\nGet Transformer2W r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_rating-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_rating","text":"get_rating(value::Transformer2W) -> Any\n\n\nGet Transformer2W rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_reactive_power_flow-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_reactive_power_flow","text":"get_reactive_power_flow(value::Transformer2W) -> Any\n\n\nGet Transformer2W reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_services-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_services","text":"get_services(value::Transformer2W) -> Vector{Service}\n\n\nGet Transformer2W services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.get_x-Tuple{Transformer2W}","page":"Transformer2W","title":"PowerSystems.get_x","text":"get_x(value::Transformer2W) -> Float64\n\n\nGet Transformer2W x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_active_power_flow!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_arc!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_arc!","text":"set_arc!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_available!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_available!","text":"set_available!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_ext!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_ext!","text":"set_ext!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_primary_shunt!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_primary_shunt!","text":"set_primary_shunt!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W primary_shunt.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_r!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_r!","text":"set_r!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_rating!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_rating!","text":"set_rating!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_reactive_power_flow!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_reactive_power_flow!","text":"set_reactive_power_flow!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W reactive_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_services!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_services!","text":"set_services!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Transformer2W/#PowerSystems.set_x!-Tuple{Transformer2W, Any}","page":"Transformer2W","title":"PowerSystems.set_x!","text":"set_x!(value::Transformer2W, val) -> Any\n\n\nSet Transformer2W x.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#HydroEnergyReservoir","page":"HydroEnergyReservoir","title":"HydroEnergyReservoir","text":"","category":"section"},{"location":"model_library/generated_HydroEnergyReservoir/","page":"HydroEnergyReservoir","title":"HydroEnergyReservoir","text":"Modules = [PowerSystems]\nPages = [\"generated/HydroEnergyReservoir.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.HydroEnergyReservoir","page":"HydroEnergyReservoir","title":"PowerSystems.HydroEnergyReservoir","text":"mutable struct HydroEnergyReservoir <: HydroGen\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n prime_mover_type::PrimeMovers\n active_power_limits::MinMax\n reactive_power_limits::Union{Nothing, MinMax}\n ramp_limits::Union{Nothing, UpDown}\n time_limits::Union{Nothing, UpDown}\n base_power::Float64\n storage_capacity::Float64\n inflow::Float64\n initial_storage::Float64\n operation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}\n storage_target::Float64\n conversion_factor::Float64\n status::Bool\n time_at_status::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA hydropower generator with an upper reservoir, offering some energy storage and operational flexibility.\n\nFor hydro generators with pumped storage, see HydroPumpedStorage\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used\nreactive_power::Float64: Initial reactive power set point of the unit (MVAR), validation range: reactive_power_limits\nrating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here\nactive_power_limits::MinMax: Minimum and maximum stable active power levels (MW)\nreactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable\nramp_limits::Union{Nothing, UpDown}: ramp up and ramp down limits in MW/min, validation range: (0, nothing)\ntime_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing)\nbase_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)\nstorage_capacity::Float64: Maximum storage capacity in the reservoir (units can be p.u-hr or m^3), validation range: (0, nothing)\ninflow::Float64: Baseline inflow into the reservoir (units can be p.u. or m^3/hr), validation range: (0, nothing)\ninitial_storage::Float64: Initial storage capacity in the reservoir (units can be p.u-hr or m^3), validation range: (0, nothing)\noperation_cost::Union{HydroGenerationCost, StorageCost, MarketBidCost}: (default: HydroGenerationCost(nothing)) Operating cost of generation\nstorage_target::Float64: (default: 1.0) Storage target at the end of simulation as a fraction of storage capacity\nconversion_factor::Float64: (default: 1.0) Conversion factor from flow/volume to energy: m^3 -> p.u-hr\nstatus::Bool: (default: false) Initial commitment condition at the start of a simulation (true = on or false = off)\ntime_at_status::Float64: (default: INFINITE_TIME) Time (e.g., Hours(6)) the generator has been on or off, as indicated by status\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_HydroEnergyReservoir/#InfrastructureSystems.get_name-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"InfrastructureSystems.get_name","text":"get_name(value::HydroEnergyReservoir) -> String\n\n\nGet HydroEnergyReservoir name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_active_power-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_active_power","text":"get_active_power(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_active_power_limits-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::HydroEnergyReservoir\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet HydroEnergyReservoir active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_available-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_available","text":"get_available(value::HydroEnergyReservoir) -> Bool\n\n\nGet HydroEnergyReservoir available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_base_power-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_base_power","text":"get_base_power(value::HydroEnergyReservoir) -> Float64\n\n\nGet HydroEnergyReservoir base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_bus-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_bus","text":"get_bus(value::HydroEnergyReservoir) -> ACBus\n\n\nGet HydroEnergyReservoir bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_conversion_factor-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_conversion_factor","text":"get_conversion_factor(\n value::HydroEnergyReservoir\n) -> Float64\n\n\nGet HydroEnergyReservoir conversion_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_dynamic_injector-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::HydroEnergyReservoir\n) -> Union{Nothing, DynamicInjection}\n\n\nGet HydroEnergyReservoir dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_ext-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_ext","text":"get_ext(value::HydroEnergyReservoir) -> Dict{String, Any}\n\n\nGet HydroEnergyReservoir ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_inflow-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_inflow","text":"get_inflow(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir inflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_initial_storage-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_initial_storage","text":"get_initial_storage(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir initial_storage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_operation_cost-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::HydroEnergyReservoir\n) -> Union{HydroGenerationCost, MarketBidCost, StorageCost}\n\n\nGet HydroEnergyReservoir operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_prime_mover_type-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(\n value::HydroEnergyReservoir\n) -> PrimeMovers\n\n\nGet HydroEnergyReservoir prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_ramp_limits-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_ramp_limits","text":"get_ramp_limits(\n value::HydroEnergyReservoir\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet HydroEnergyReservoir ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_rating-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_rating","text":"get_rating(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_reactive_power-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_reactive_power_limits-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::HydroEnergyReservoir\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet HydroEnergyReservoir reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_services-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_services","text":"get_services(value::HydroEnergyReservoir) -> Vector{Service}\n\n\nGet HydroEnergyReservoir services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_status-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_status","text":"get_status(value::HydroEnergyReservoir) -> Bool\n\n\nGet HydroEnergyReservoir status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_storage_capacity-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_storage_capacity","text":"get_storage_capacity(value::HydroEnergyReservoir) -> Any\n\n\nGet HydroEnergyReservoir storage_capacity.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_storage_target-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_storage_target","text":"get_storage_target(value::HydroEnergyReservoir) -> Float64\n\n\nGet HydroEnergyReservoir storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_time_at_status-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_time_at_status","text":"get_time_at_status(value::HydroEnergyReservoir) -> Float64\n\n\nGet HydroEnergyReservoir time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.get_time_limits-Tuple{HydroEnergyReservoir}","page":"HydroEnergyReservoir","title":"PowerSystems.get_time_limits","text":"get_time_limits(\n value::HydroEnergyReservoir\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet HydroEnergyReservoir time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_active_power!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_active_power_limits!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_available!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_available!","text":"set_available!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_base_power!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_bus!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_bus!","text":"set_bus!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_conversion_factor!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_conversion_factor!","text":"set_conversion_factor!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir conversion_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_ext!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_ext!","text":"set_ext!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_inflow!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_inflow!","text":"set_inflow!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir inflow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_initial_storage!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_initial_storage!","text":"set_initial_storage!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir initial_storage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_operation_cost!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_prime_mover_type!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_ramp_limits!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_ramp_limits!","text":"set_ramp_limits!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_rating!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_rating!","text":"set_rating!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_reactive_power!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_reactive_power_limits!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_services!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_services!","text":"set_services!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_status!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_status!","text":"set_status!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_storage_capacity!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_storage_capacity!","text":"set_storage_capacity!(\n value::HydroEnergyReservoir,\n val\n) -> Any\n\n\nSet HydroEnergyReservoir storage_capacity.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_storage_target!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_storage_target!","text":"set_storage_target!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir storage_target.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_time_at_status!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_time_at_status!","text":"set_time_at_status!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_HydroEnergyReservoir/#PowerSystems.set_time_limits!-Tuple{HydroEnergyReservoir, Any}","page":"HydroEnergyReservoir","title":"PowerSystems.set_time_limits!","text":"set_time_limits!(value::HydroEnergyReservoir, val) -> Any\n\n\nSet HydroEnergyReservoir time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/dynamic_generator/#DynamicGenerator","page":"Dynamic Generator","title":"DynamicGenerator","text":"","category":"section"},{"location":"model_library/dynamic_generator/","page":"Dynamic Generator","title":"Dynamic Generator","text":"Modules = [PowerSystems]\nPages = [\"dynamic_generator.jl\"]\nOrder = [:type, :function]\nPublic = true","category":"page"},{"location":"model_library/dynamic_generator/#PowerSystems.DynamicGenerator","page":"Dynamic Generator","title":"PowerSystems.DynamicGenerator","text":"mutable struct DynamicGenerator{\n M <: Machine,\n S <: Shaft,\n A <: AVR,\n TG <: TurbineGov,\n P <: PSS,\n} <: DynamicInjection\n name::String\n ω_ref::Float64\n machine::M\n shaft::S\n avr::A\n prime_mover::TG\n pss::P\n base_power::Float64\n n_states::Int\n states::Vector{Symbol}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA dynamic generator is composed by 5 components, namely a Machine, a Shaft, an Automatic Voltage Regulator (AVR), a Prime Mover (o Turbine Governor) and Power System Stabilizer (PSS). It requires a StaticInjection device that is attached to it.\n\nArguments\n\nname::String: Name of generator.\nω_ref::Float64: Frequency reference set-point in pu.\nmachine <: Machine: Machine model for modeling the electro-magnetic phenomena.\nshaft <: Shaft: Shaft model for modeling the electro-mechanical phenomena.\navr <: AVR: AVR model of the excitacion system.\nprime_mover <: TurbineGov: Prime Mover and Turbine Governor model for mechanical power.\npss <: PSS: Power System Stabilizer model.\nbase_power::Float64: Base power\nn_states::Int: Number of states (will depend on the components).\nstates::Vector{Symbol}: Vector of states (will depend on the components).\next::Dict{String, Any}\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_RenewableDispatch/#RenewableDispatch","page":"RenewableDispatch","title":"RenewableDispatch","text":"","category":"section"},{"location":"model_library/generated_RenewableDispatch/","page":"RenewableDispatch","title":"RenewableDispatch","text":"Modules = [PowerSystems]\nPages = [\"generated/RenewableDispatch.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.RenewableDispatch","page":"RenewableDispatch","title":"PowerSystems.RenewableDispatch","text":"mutable struct RenewableDispatch <: RenewableGen\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n prime_mover_type::PrimeMovers\n reactive_power_limits::Union{Nothing, MinMax}\n power_factor::Float64\n operation_cost::Union{RenewableGenerationCost, MarketBidCost}\n base_power::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA renewable (e.g., wind or solar) generator whose output can be curtailed to satisfy power system constraints.\n\nThese generators can also participate in reserves markets, including upwards reserves by proactively curtailing some available power (based on its max_active_power time series). Example uses include: a utility-scale wind or solar generator whose PPA allows curtailment. For non-curtailable or must-take renewables, see RenewableNonDispatch.\n\nRenewable generators do not have a max_active_power parameter, which is instead calculated when calling get_max_active_power()\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used\nreactive_power::Float64: Initial reactive power set point of the unit (MVAR)\nrating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here\nreactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable\npower_factor::Float64:, validation range: (0, 1)\noperation_cost::Union{RenewableGenerationCost, MarketBidCost}: Operating cost of generation\nbase_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_RenewableDispatch/#InfrastructureSystems.get_name-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"InfrastructureSystems.get_name","text":"get_name(value::RenewableDispatch) -> String\n\n\nGet RenewableDispatch name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_active_power-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_active_power","text":"get_active_power(value::RenewableDispatch) -> Any\n\n\nGet RenewableDispatch active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_available-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_available","text":"get_available(value::RenewableDispatch) -> Bool\n\n\nGet RenewableDispatch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_base_power-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_base_power","text":"get_base_power(value::RenewableDispatch) -> Float64\n\n\nGet RenewableDispatch base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_bus-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_bus","text":"get_bus(value::RenewableDispatch) -> ACBus\n\n\nGet RenewableDispatch bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_dynamic_injector-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::RenewableDispatch\n) -> Union{Nothing, DynamicInjection}\n\n\nGet RenewableDispatch dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_ext-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_ext","text":"get_ext(value::RenewableDispatch) -> Dict{String, Any}\n\n\nGet RenewableDispatch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_operation_cost-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::RenewableDispatch\n) -> Union{MarketBidCost, RenewableGenerationCost}\n\n\nGet RenewableDispatch operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_power_factor-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_power_factor","text":"get_power_factor(value::RenewableDispatch) -> Float64\n\n\nGet RenewableDispatch power_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_prime_mover_type-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(\n value::RenewableDispatch\n) -> PrimeMovers\n\n\nGet RenewableDispatch prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_rating-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_rating","text":"get_rating(value::RenewableDispatch) -> Any\n\n\nGet RenewableDispatch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_reactive_power-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::RenewableDispatch) -> Any\n\n\nGet RenewableDispatch reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_reactive_power_limits-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::RenewableDispatch\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet RenewableDispatch reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.get_services-Tuple{RenewableDispatch}","page":"RenewableDispatch","title":"PowerSystems.get_services","text":"get_services(value::RenewableDispatch) -> Vector{Service}\n\n\nGet RenewableDispatch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_active_power!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_available!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_available!","text":"set_available!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_base_power!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_bus!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_bus!","text":"set_bus!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_ext!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_ext!","text":"set_ext!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_operation_cost!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_power_factor!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_power_factor!","text":"set_power_factor!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch power_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_prime_mover_type!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_rating!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_rating!","text":"set_rating!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_reactive_power!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_reactive_power_limits!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::RenewableDispatch,\n val\n) -> Any\n\n\nSet RenewableDispatch reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_RenewableDispatch/#PowerSystems.set_services!-Tuple{RenewableDispatch, Any}","page":"RenewableDispatch","title":"PowerSystems.set_services!","text":"set_services!(value::RenewableDispatch, val) -> Any\n\n\nSet RenewableDispatch services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#TwoTerminalVSCDCLine","page":"TwoTerminalVSCDCLine","title":"TwoTerminalVSCDCLine","text":"","category":"section"},{"location":"model_library/generated_TwoTerminalVSCDCLine/","page":"TwoTerminalVSCDCLine","title":"TwoTerminalVSCDCLine","text":"Modules = [PowerSystems]\nPages = [\"generated/TwoTerminalVSCDCLine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.TwoTerminalVSCDCLine","page":"TwoTerminalVSCDCLine","title":"PowerSystems.TwoTerminalVSCDCLine","text":"mutable struct TwoTerminalVSCDCLine <: ACBranch\n name::String\n available::Bool\n active_power_flow::Float64\n arc::Arc\n rectifier_tap_limits::MinMax\n rectifier_xrc::Float64\n rectifier_firing_angle::MinMax\n inverter_tap_limits::MinMax\n inverter_xrc::Float64\n inverter_extinction_angle::MinMax\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA Voltage Sourced Converter (VSC)-HVDC transmission line.\n\nAs implemented in \"Power System Modelling and Scripting\" by Federico Milano, Chapter 18, Page 397. This model is suitable for dynamic simulations\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nactive_power_flow::Float64: Initial condition of active power flow on the line (MW)\narc::Arc: An Arc defining this line from a bus to another bus\nrectifier_tap_limits::MinMax: Minimum and maximum rectifier tap limits as a ratio between the primary and secondary side voltages\nrectifier_xrc::Float64: Rectifier commutation reactance in p.u. (DEVICE_BASE)\nrectifier_firing_angle::MinMax: Minimum and maximum rectifier firing angle (α) (radians)\ninverter_tap_limits::MinMax: Minimum and maximum inverter tap limits as a ratio between the primary and secondary side voltages\ninverter_xrc::Float64: Inverter commutation reactance in p.u. (DEVICE_BASE)\ninverter_extinction_angle::MinMax: Minimum and maximum inverter extinction angle (γ) (radians)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#InfrastructureSystems.get_name-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"InfrastructureSystems.get_name","text":"get_name(value::TwoTerminalVSCDCLine) -> String\n\n\nGet TwoTerminalVSCDCLine name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_active_power_flow-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::TwoTerminalVSCDCLine) -> Any\n\n\nGet TwoTerminalVSCDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_arc-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_arc","text":"get_arc(value::TwoTerminalVSCDCLine) -> Arc\n\n\nGet TwoTerminalVSCDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_available-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_available","text":"get_available(value::TwoTerminalVSCDCLine) -> Bool\n\n\nGet TwoTerminalVSCDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_ext-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_ext","text":"get_ext(value::TwoTerminalVSCDCLine) -> Dict{String, Any}\n\n\nGet TwoTerminalVSCDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_inverter_extinction_angle-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_inverter_extinction_angle","text":"get_inverter_extinction_angle(\n value::TwoTerminalVSCDCLine\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TwoTerminalVSCDCLine inverter_extinction_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_inverter_tap_limits-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_inverter_tap_limits","text":"get_inverter_tap_limits(\n value::TwoTerminalVSCDCLine\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TwoTerminalVSCDCLine inverter_tap_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_inverter_xrc-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_inverter_xrc","text":"get_inverter_xrc(value::TwoTerminalVSCDCLine) -> Float64\n\n\nGet TwoTerminalVSCDCLine inverter_xrc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_rectifier_firing_angle-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_rectifier_firing_angle","text":"get_rectifier_firing_angle(\n value::TwoTerminalVSCDCLine\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TwoTerminalVSCDCLine rectifier_firing_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_rectifier_tap_limits-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_rectifier_tap_limits","text":"get_rectifier_tap_limits(\n value::TwoTerminalVSCDCLine\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet TwoTerminalVSCDCLine rectifier_tap_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_rectifier_xrc-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_rectifier_xrc","text":"get_rectifier_xrc(value::TwoTerminalVSCDCLine) -> Float64\n\n\nGet TwoTerminalVSCDCLine rectifier_xrc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.get_services-Tuple{TwoTerminalVSCDCLine}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.get_services","text":"get_services(value::TwoTerminalVSCDCLine) -> Vector{Service}\n\n\nGet TwoTerminalVSCDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_active_power_flow!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_arc!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_arc!","text":"set_arc!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_available!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_available!","text":"set_available!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_ext!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_ext!","text":"set_ext!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_inverter_extinction_angle!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_inverter_extinction_angle!","text":"set_inverter_extinction_angle!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine inverter_extinction_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_inverter_tap_limits!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_inverter_tap_limits!","text":"set_inverter_tap_limits!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine inverter_tap_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_inverter_xrc!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_inverter_xrc!","text":"set_inverter_xrc!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine inverter_xrc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_rectifier_firing_angle!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_rectifier_firing_angle!","text":"set_rectifier_firing_angle!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine rectifier_firing_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_rectifier_tap_limits!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_rectifier_tap_limits!","text":"set_rectifier_tap_limits!(\n value::TwoTerminalVSCDCLine,\n val\n) -> Any\n\n\nSet TwoTerminalVSCDCLine rectifier_tap_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_rectifier_xrc!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_rectifier_xrc!","text":"set_rectifier_xrc!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine rectifier_xrc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TwoTerminalVSCDCLine/#PowerSystems.set_services!-Tuple{TwoTerminalVSCDCLine, Any}","page":"TwoTerminalVSCDCLine","title":"PowerSystems.set_services!","text":"set_services!(value::TwoTerminalVSCDCLine, val) -> Any\n\n\nSet TwoTerminalVSCDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"modeler_guide/modeling_with_JuMP/#modeling_with_jump","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"","category":"section"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"This page shows a minimal example of PowerSystems.jl used to develop and Economic Dispatch model. The code shows the stages to develop modeling code","category":"page"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"Make the data set from power flow and time series data,\nSerialize the data,\nPass the data and algorithm to the model.","category":"page"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"One of the main uses of `PowerSystems.jl is not having re-run the data generation for every model execution. The model code shows an example of populating the constraints and cost functions using accessor functions inside the model function. The example concludes by reading the data created earlier and passing the algorithm with the data.","category":"page"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"using PowerSystems\nconst PSY = PowerSystems\nusing JuMP\nusing Ipopt\nusing PowerSystemCaseBuilder","category":"page"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"The first step is to load the test data used throughout the rest of these tutorials (or set DATA_DIR as appropriate if it already exists).","category":"page"},{"location":"modeler_guide/modeling_with_JuMP/","page":"Modeling with JuMP","title":"Modeling with JuMP","text":"system_data = build_system(PSISystems, \"c_sys5_pjm\")\n\nfunction ed_model(system::System, optimizer)\n ed_m = Model(optimizer)\n time_periods = 1:24\n thermal_gens_names = get_name.(get_components(ThermalStandard, system))\n @variable(ed_m, pg[g in thermal_gens_names, t in time_periods] >= 0)\n\n for g in get_components(ThermalStandard, system), t in time_periods\n name = get_name(g)\n @constraint(ed_m, pg[name, t] >= get_active_power_limits(g).min)\n @constraint(ed_m, pg[name, t] <= get_active_power_limits(g).max)\n end\n\n net_load = zeros(length(time_periods))\n for g in get_components(RenewableGen, system)\n net_load -= get_time_series_values(SingleTimeSeries, g, \"max_active_power\")[time_periods]\n end\n\n for g in get_components(StaticLoad, system)\n net_load += get_time_series_values(SingleTimeSeries, g, \"max_active_power\")[time_periods]\n end\n\n for t in time_periods\n @constraint(ed_m, sum(pg[g, t] for g in thermal_gens_names) == net_load[t])\n end\n\n @objective(ed_m, Min, sum(\n pg[get_name(g), t]^2*get_cost(get_variable(get_operation_cost(g)))[1] +\n pg[get_name(g), t]*get_cost(get_variable(get_operation_cost(g)))[2]\n for g in get_components(ThermalGen, system), t in time_periods\n )\n )\n optimize!(ed_m)\n return ed_m\nend\n\nresults = ed_model(system_data, Ipopt.Optimizer)","category":"page"},{"location":"modeler_guide/system_dynamic_data/#Creating-a-System-with-Dynamic-devices","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"You can access example data in the Power Systems Test Data Repository. Most of these systems are available to use using PowerSystemCaseBuilder.jl.","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"using PowerSystems\nconst PSY = PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\")","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Although PowerSystems.jl is not constrained to only PSS/e files, commonly the data available comes in a pair of files: One for the static data power flow case and a second one with the dynamic components information. However, PowerSystems.jl is able to take any power flow case and specify dynamic components to it.","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"The following describes the system creation for the one machine infinite bus case using custom component specifications.","category":"page"},{"location":"modeler_guide/system_dynamic_data/#One-Machine-Infinite-Bus-Example","page":"Creating a System with Dynamic devices","title":"One Machine Infinite Bus Example","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"First load data from any format (see Constructing a System from RAW data for details. In this example we will load a PTI power flow data format (.raw file) as follows:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"0, 100, 33, 0, 0, 60 / 24-Apr-2020 17:05:49 - MATPOWER 7.0.1-dev\n\n\n 101, 'BUS 1 ', 230, 3, 1, 1, 1, 1.05, 0, 1.06, 0.94, 1.06, 0.94\n 102, 'BUS 2 ', 230, 2, 1, 1, 1, 1.04, 0, 1.06, 0.94, 1.06, 0.94\n0 / END OF BUS DATA, BEGIN LOAD DATA\n0 / END OF LOAD DATA, BEGIN FIXED SHUNT DATA\n0 / END OF FIXED SHUNT DATA, BEGIN GENERATOR DATA\n 102, 1, 50, 0, 100, -100, 1.00, 0, 100, 0, 1, 0, 0, 1, 1, 100, 100, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n0 / END OF GENERATOR DATA, BEGIN BRANCH DATA\n 101, 102, 1, 0.00, 0.05, 0.000, 100, 100, 100, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n0 / END OF BRANCH DATA, BEGIN TRANSFORMER DATA\n0 / END OF TRANSFORMER DATA, BEGIN AREA DATA\n0 / END OF AREA DATA, BEGIN TWO-TERMINAL DC DATA\n0 / END OF TWO-TERMINAL DC DATA, BEGIN VOLTAGE SOURCE CONVERTER DATA\n0 / END OF VOLTAGE SOURCE CONVERTER DATA, BEGIN IMPEDANCE CORRECTION DATA\n0 / END OF IMPEDANCE CORRECTION DATA, BEGIN MULTI-TERMINAL DC DATA\n0 / END OF MULTI-TERMINAL DC DATA, BEGIN MULTI-SECTION LINE DATA\n0 / END OF MULTI-SECTION LINE DATA, BEGIN ZONE DATA\n0 / END OF ZONE DATA, BEGIN INTER-AREA TRANSFER DATA\n0 / END OF INTER-AREA TRANSFER DATA, BEGIN OWNER DATA\n0 / END OF OWNER DATA, BEGIN FACTS CONTROL DEVICE DATA\n0 / END OF FACTS CONTROL DEVICE DATA, BEGIN SWITCHED SHUNT DATA\n0 / END OF SWITCHED SHUNT DATA, BEGIN GNE DEVICE DATA\n0 / END OF GNE DEVICE DATA, BEGIN INDUCTION MACHINE DATA\n0 / END OF INDUCTION MACHINE DATA\nQ","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Based on the description provided in PTI files, this is a two-bus system, on which the bus 101 (bus 1) is the reference bus at 1.05 pu, and bus 102 (bus 2) is PV bus, to be set at 1.04 pu. There is one 100 MVA generator connected at bus 2, producing 50 MW. There is an equivalent line connecting buses 1 and 2 with a reactance of 005 pu.","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"We can load this data file first","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"omib_sys = System(joinpath(file_dir, \"OMIB.raw\"), runchecks = false)","category":"page"},{"location":"modeler_guide/system_dynamic_data/#Dynamic-Generator","page":"Creating a System with Dynamic devices","title":"Dynamic Generator","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"We are now interested in attaching to the system the dynamic component that will be modeling our dynamic generator. The data can be added by directly passing a .dyr file, but in this example we want to add custom dynamic data.","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Dynamic generator devices are composed by 5 components, namely, machine, shaft, avr, tg and pss (see DynamicGenerator). So we will be adding functions to create all of its components and the generator itself. The example code creates all the components for a DynamicGenerator based on specific models for its components. This result will be a classic machine model without AVR, Turbine Governor and PSS.","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"#Machine\nmachine_classic = BaseMachine(\n R = 0.0,\n Xd_p = 0.2995,\n eq_p = 0.7087,\n)\n\n#Shaft\nshaft_damping = SingleMass(\n H = 3.148,\n D = 2.0,\n)\n\n#AVR\navr_none = AVRFixed(Vf = 0.0)\n\n#TurbineGovernor\ntg_none = TGFixed(efficiency = 1.0)\n\n#PSS\npss_none = PSSFixed(V_pss = 0.0);","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Then we can collect all the dynamic components and create the dynamic generator and assign it to a static generator of choice. In this example we will add it to the generator \"generator-102-1\" as follows:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"#Collect the static gen in the system\nstatic_gen = get_component(Generator, omib_sys, \"generator-102-1\")\n#Creates the dynamic generator\ndyn_gen = DynamicGenerator(\n name = get_name(static_gen),\n ω_ref = 1.0,\n machine = machine_classic,\n shaft = shaft_damping,\n avr = avr_none,\n prime_mover = tg_none,\n pss = pss_none,\n )\n#Add the dynamic generator the system\nadd_component!(omib_sys, dyn_gen, static_gen)","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Once the data is created, we can export our system data such that it can be reloaded later:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"to_json(omib_sys, \"YOUR_DIR/omib_sys.json\")","category":"page"},{"location":"modeler_guide/system_dynamic_data/#Example-with-Dynamic-Inverter","page":"Creating a System with Dynamic devices","title":"Example with Dynamic Inverter","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"We will now create a three bus system with one inverter and one generator. In order to do so, we will parse the following file ThreebusInverter.raw:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"0, 100, 33, 0, 0, 60 / 24-Apr-2020 19:28:39 - MATPOWER 7.0.1-dev\n\n\n 101, 'BUS 1 ', 138, 3, 1, 1, 1, 1.02, 0, 1.1, 0.9, 1.1, 0.9\n 102, 'BUS 2 ', 138, 2, 1, 1, 1, 1.0142, 0, 1.1, 0.9, 1.1, 0.9\n 103, 'BUS 3 ', 138, 2, 1, 1, 1, 1.0059, 0, 1.1, 0.9, 1.1, 0.9\n0 / END OF BUS DATA, BEGIN LOAD DATA\n 101, 1, 1, 1, 1, 50, 10, 0, 0, 0, 0, 1, 1, 0\n 102, 1, 1, 1, 1, 100, 30, 0, 0, 0, 0, 1, 1, 0\n 103, 1, 1, 1, 1, 30, 10, 0, 0, 0, 0, 1, 1, 0\n0 / END OF LOAD DATA, BEGIN FIXED SHUNT DATA\n0 / END OF FIXED SHUNT DATA, BEGIN GENERATOR DATA\n 102, 1, 70, 0, 100, -100, 1.0142, 0, 100, 0, 1, 0, 0, 1, 1, 100, 318, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n 103, 1, 80, 0, 100, -100, 1.0059, 0, 100, 0, 1, 0, 0, 1, 1, 100, 318, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1\n0 / END OF GENERATOR DATA, BEGIN BRANCH DATA\n 101, 103, 1, 0.01000, 0.12, 0.2, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n 101, 102, 1, 0.01000, 0.12, 0.2, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n 102, 103, 1, 0.02000, 0.9, 1.0, 250, 250, 250, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1\n0 / END OF BRANCH DATA, BEGIN TRANSFORMER DATA\n0 / END OF TRANSFORMER DATA, BEGIN AREA DATA\n0 / END OF AREA DATA, BEGIN TWO-TERMINAL DC DATA\n0 / END OF TWO-TERMINAL DC DATA, BEGIN VOLTAGE SOURCE CONVERTER DATA\n0 / END OF VOLTAGE SOURCE CONVERTER DATA, BEGIN IMPEDANCE CORRECTION DATA\n0 / END OF IMPEDANCE CORRECTION DATA, BEGIN MULTI-TERMINAL DC DATA\n0 / END OF MULTI-TERMINAL DC DATA, BEGIN MULTI-SECTION LINE DATA\n0 / END OF MULTI-SECTION LINE DATA, BEGIN ZONE DATA\n0 / END OF ZONE DATA, BEGIN INTER-AREA TRANSFER DATA\n0 / END OF INTER-AREA TRANSFER DATA, BEGIN OWNER DATA\n0 / END OF OWNER DATA, BEGIN FACTS CONTROL DEVICE DATA\n0 / END OF FACTS CONTROL DEVICE DATA, BEGIN SWITCHED SHUNT DATA\n0 / END OF SWITCHED SHUNT DATA, BEGIN GNE DEVICE DATA\n0 / END OF GNE DEVICE DATA, BEGIN INDUCTION MACHINE DATA\n0 / END OF INDUCTION MACHINE DATA\nQ","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"That describes a three bus connected system, with generators connected at bus 2 and 3, and loads in three buses. We can load the system and attach an infinite source on the reference bus:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"threebus_sys = System(joinpath(file_dir, \"ThreeBusInverter.raw\"), runchecks = false)","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"We will connect a OneDOneQMachine machine at bus 102, and a Virtual Synchronous Generator Inverter at bus 103. An inverter is composed by a converter, outer control, inner control, dc source, frequency estimator and a filter (see DynamicInverter).","category":"page"},{"location":"modeler_guide/system_dynamic_data/#Dynamic-Inverter-definition","page":"Creating a System with Dynamic devices","title":"Dynamic Inverter definition","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"We will create specific components of the inverter as follows:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"#Define converter as an AverageConverter\nconverter_high_power = AverageConverter(rated_voltage = 138.0, rated_current = 100.0)\n\n#Define Outer Control as a composition of Virtual Inertia + Reactive Power Droop\nouter_cont = OuterControl(\n active_power_control = VirtualInertia(Ta = 2.0, kd = 400.0, kω = 20.0),\n reactive_power_control = ReactivePowerDroop(kq = 0.2, ωf = 1000.0),\n)\n\n#Define an Inner Control as a Voltage+Current Controler with Virtual Impedance:\ninner_cont = VoltageModeControl(\n kpv = 0.59, #Voltage controller proportional gain\n kiv = 736.0, #Voltage controller integral gain\n kffv = 0.0, #Binary variable enabling the voltage feed-forward in output of current controllers\n rv = 0.0, #Virtual resistance in pu\n lv = 0.2, #Virtual inductance in pu\n kpc = 1.27, #Current controller proportional gain\n kic = 14.3, #Current controller integral gain\n kffi = 0.0, #Binary variable enabling the current feed-forward in output of current controllers\n ωad = 50.0, #Active damping low pass filter cut-off frequency\n kad = 0.2, #Active damping gain\n)\n\n#Define DC Source as a FixedSource:\ndc_source_lv = FixedDCSource(voltage = 600.0)\n\n#Define a Frequency Estimator as a PLL based on Vikram Kaura and Vladimir Blaskoc 1997 paper:\npll = KauraPLL(\n ω_lp = 500.0, #Cut-off frequency for LowPass filter of PLL filter.\n kp_pll = 0.084, #PLL proportional gain\n ki_pll = 4.69, #PLL integral gain\n)\n\n#Define an LCL filter:\nfilt = LCLFilter(lf = 0.08, rf = 0.003, cf = 0.074, lg = 0.2, rg = 0.01)","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Similarly we will construct a dynamic generator as follows:","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"#Create the machine\nmachine_oneDoneQ = OneDOneQMachine(\n R = 0.0,\n Xd = 1.3125,\n Xq = 1.2578,\n Xd_p = 0.1813,\n Xq_p = 0.25,\n Td0_p = 5.89,\n Tq0_p = 0.6,\n)\n\n#Shaft\nshaft_no_damping = SingleMass(\n H = 3.01,\n D = 0.0,\n)\n\n#AVR: Type I: Resembles a DC1 AVR\navr_type1 = AVRTypeI(\n Ka = 20.0,\n Ke = 0.01,\n Kf = 0.063,\n Ta = 0.2,\n Te = 0.314,\n Tf = 0.35,\n Tr = 0.001,\n Va_lim = (min = -5.0, max = 5.0),\n Ae = 0.0039, #1st ceiling coefficient\n Be = 1.555, #2nd ceiling coefficient\n)\n\n#No TG\ntg_none = TGFixed(efficiency = 1.0)\n\n#No PSS\npss_none = PSSFixed(V_pss = 0.0);","category":"page"},{"location":"modeler_guide/system_dynamic_data/#Add-the-components-to-the-System","page":"Creating a System with Dynamic devices","title":"Add the components to the System","text":"","category":"section"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"for g in get_components(Generator, threebus_sys)\n #Find the generator at bus 102\n if get_number(get_bus(g)) == 102\n #Create the dynamic generator\n case_gen = DynamicGenerator(\n name = get_name(g),\n ω_ref = 1.0,\n machine = machine_oneDoneQ,\n shaft = shaft_no_damping,\n avr = avr_type1,\n prime_mover = tg_none,\n pss = pss_none,\n )\n #Attach the dynamic generator to the system\n add_component!(threebus_sys, case_gen, g)\n #Find the generator at bus 103\n elseif get_number(get_bus(g)) == 103\n #Create the dynamic inverter\n case_inv = DynamicInverter(\n name = get_name(g),\n ω_ref = 1.0,\n converter = converter_high_power,\n outer_control = outer_cont,\n inner_control = inner_cont,\n dc_source = dc_source_lv,\n freq_estimator = pll,\n filter = filt,\n )\n #Attach the dynamic inverter to the system\n add_component!(threebus_sys, case_inv, g)\n end\nend\n\n# We can check that the system has the Dynamic Inverter and Generator\nthreebus_sys","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"Finally we can seraliaze the system data for later reloading","category":"page"},{"location":"modeler_guide/system_dynamic_data/","page":"Creating a System with Dynamic devices","title":"Creating a System with Dynamic devices","text":"to_json(threebus_sys, \"YOUR_DIR/threebus_sys.json\")","category":"page"},{"location":"tutorials/add_forecasts/#Add-time-series-to-System","page":"Add Forecasts","title":"Add time series to System","text":"","category":"section"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"tutorials/add_forecasts/#Introduction","page":"Add Forecasts","title":"Introduction","text":"","category":"section"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"An example of how to parse add time series data to a System using PowerSystems.jl","category":"page"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"For example, a System created by parsing a MATPOWER file doesn't contain any time series data. So a user may want to add time series to the System.","category":"page"},{"location":"tutorials/add_forecasts/#Dependencies","page":"Add Forecasts","title":"Dependencies","text":"","category":"section"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"Let's use the 5-bus dataset we parsed in the MATPOWER example","category":"page"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"using PowerSystems\nusing JSON3\n\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\"); #hide\nsys = System(joinpath(file_dir, \"case5_re.m\"))","category":"page"},{"location":"tutorials/add_forecasts/#Define-pointers-to-time-series-files","page":"Add Forecasts","title":"Define pointers to time series files","text":"","category":"section"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"For example, if we want to add a bunch of time series files, say one for each load and one for each renewable generator, we need to define pointers to each .csv file containing the time series in the following format (PowerSystems.jl also supports a CSV format for this file). We will use Artifacts for the following data.","category":"page"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"using PowerSystemCaseBuilder #hide\nDATA_DIR = PowerSystemCaseBuilder.DATA_DIR #hide\nFORECASTS_DIR = joinpath(DATA_DIR, \"5-Bus\", \"5bus_ts\"); #hide\nfname = joinpath(FORECASTS_DIR, \"timeseries_pointers_da.json\")\nopen(fname, \"r\") do f\n JSON3.@pretty JSON3.read(f)\nend","category":"page"},{"location":"tutorials/add_forecasts/#Read-and-assign-time-series-to-System-using-these-parameters.","page":"Add Forecasts","title":"Read and assign time series to System using these parameters.","text":"","category":"section"},{"location":"tutorials/add_forecasts/","page":"Add Forecasts","title":"Add Forecasts","text":"add_time_series!(sys, fname)\nsys","category":"page"},{"location":"model_library/generated_Source/#Source","page":"Source","title":"Source","text":"","category":"section"},{"location":"model_library/generated_Source/","page":"Source","title":"Source","text":"Modules = [PowerSystems]\nPages = [\"generated/Source.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Source/#PowerSystems.Source","page":"Source","title":"PowerSystems.Source","text":"mutable struct Source <: StaticInjection\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n R_th::Float64\n X_th::Float64\n internal_voltage::Float64\n internal_angle::Float64\n dynamic_injector::Union{Nothing, DynamicInjection}\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nAn infinite bus with a constant voltage output.\n\nCommonly used in dynamics simulations to represent a very large machine on a single bus\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used\nreactive_power::Float64: Initial reactive power set point of the unit (MVAR)\nR_th::Float64: Source Thevenin resistance, validation range: (0, nothing)\nX_th::Float64: Source Thevenin reactance, validation range: (0, nothing)\ninternal_voltage::Float64: (default: 1.0) Internal Voltage (pu), validation range: (0, nothing)\ninternal_angle::Float64: (default: 0.0) Internal Angle\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Source/#InfrastructureSystems.get_name-Tuple{Source}","page":"Source","title":"InfrastructureSystems.get_name","text":"get_name(value::Source) -> String\n\n\nGet Source name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_R_th-Tuple{Source}","page":"Source","title":"PowerSystems.get_R_th","text":"get_R_th(value::Source) -> Float64\n\n\nGet Source R_th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_X_th-Tuple{Source}","page":"Source","title":"PowerSystems.get_X_th","text":"get_X_th(value::Source) -> Float64\n\n\nGet Source X_th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_active_power-Tuple{Source}","page":"Source","title":"PowerSystems.get_active_power","text":"get_active_power(value::Source) -> Float64\n\n\nGet Source active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_available-Tuple{Source}","page":"Source","title":"PowerSystems.get_available","text":"get_available(value::Source) -> Bool\n\n\nGet Source available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_bus-Tuple{Source}","page":"Source","title":"PowerSystems.get_bus","text":"get_bus(value::Source) -> ACBus\n\n\nGet Source bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_dynamic_injector-Tuple{Source}","page":"Source","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::Source\n) -> Union{Nothing, DynamicInjection}\n\n\nGet Source dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_ext-Tuple{Source}","page":"Source","title":"PowerSystems.get_ext","text":"get_ext(value::Source) -> Dict{String, Any}\n\n\nGet Source ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_internal_angle-Tuple{Source}","page":"Source","title":"PowerSystems.get_internal_angle","text":"get_internal_angle(value::Source) -> Float64\n\n\nGet Source internal_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_internal_voltage-Tuple{Source}","page":"Source","title":"PowerSystems.get_internal_voltage","text":"get_internal_voltage(value::Source) -> Float64\n\n\nGet Source internal_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_reactive_power-Tuple{Source}","page":"Source","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::Source) -> Float64\n\n\nGet Source reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.get_services-Tuple{Source}","page":"Source","title":"PowerSystems.get_services","text":"get_services(value::Source) -> Vector{Service}\n\n\nGet Source services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_R_th!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_R_th!","text":"set_R_th!(value::Source, val) -> Any\n\n\nSet Source R_th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_X_th!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_X_th!","text":"set_X_th!(value::Source, val) -> Any\n\n\nSet Source X_th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_active_power!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::Source, val) -> Any\n\n\nSet Source active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_available!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_available!","text":"set_available!(value::Source, val) -> Any\n\n\nSet Source available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_bus!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_bus!","text":"set_bus!(value::Source, val) -> Any\n\n\nSet Source bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_ext!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_ext!","text":"set_ext!(value::Source, val) -> Any\n\n\nSet Source ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_internal_angle!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_internal_angle!","text":"set_internal_angle!(value::Source, val) -> Any\n\n\nSet Source internal_angle.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_internal_voltage!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_internal_voltage!","text":"set_internal_voltage!(value::Source, val) -> Any\n\n\nSet Source internal_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_reactive_power!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::Source, val) -> Any\n\n\nSet Source reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Source/#PowerSystems.set_services!-Tuple{Source, Any}","page":"Source","title":"PowerSystems.set_services!","text":"set_services!(value::Source, val) -> Any\n\n\nSet Source services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#FixedAdmittance","page":"FixedAdmittance","title":"FixedAdmittance","text":"","category":"section"},{"location":"model_library/generated_FixedAdmittance/","page":"FixedAdmittance","title":"FixedAdmittance","text":"Modules = [PowerSystems]\nPages = [\"generated/FixedAdmittance.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.FixedAdmittance","page":"FixedAdmittance","title":"PowerSystems.FixedAdmittance","text":"mutable struct FixedAdmittance <: ElectricLoad\n name::String\n available::Bool\n bus::ACBus\n Y::Complex{Float64}\n dynamic_injector::Union{Nothing, DynamicInjection}\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA fixed admittance.\n\nMost often used in dynamics or AC power flow studies as a source of reactive power\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nY::Complex{Float64}: Fixed admittance in p.u. (SYSTEM_BASE)\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection model for admittance\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_FixedAdmittance/#InfrastructureSystems.get_name-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"InfrastructureSystems.get_name","text":"get_name(value::FixedAdmittance) -> String\n\n\nGet FixedAdmittance name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_Y-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_Y","text":"get_Y(value::FixedAdmittance) -> ComplexF64\n\n\nGet FixedAdmittance Y.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_available-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_available","text":"get_available(value::FixedAdmittance) -> Bool\n\n\nGet FixedAdmittance available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_bus-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_bus","text":"get_bus(value::FixedAdmittance) -> ACBus\n\n\nGet FixedAdmittance bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_dynamic_injector-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::FixedAdmittance\n) -> Union{Nothing, DynamicInjection}\n\n\nGet FixedAdmittance dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_ext-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_ext","text":"get_ext(value::FixedAdmittance) -> Dict{String, Any}\n\n\nGet FixedAdmittance ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.get_services-Tuple{FixedAdmittance}","page":"FixedAdmittance","title":"PowerSystems.get_services","text":"get_services(value::FixedAdmittance) -> Vector{Service}\n\n\nGet FixedAdmittance services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_Y!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_Y!","text":"set_Y!(value::FixedAdmittance, val) -> Any\n\n\nSet FixedAdmittance Y.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_available!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_available!","text":"set_available!(value::FixedAdmittance, val) -> Any\n\n\nSet FixedAdmittance available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_bus!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_bus!","text":"set_bus!(value::FixedAdmittance, val) -> Any\n\n\nSet FixedAdmittance bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_ext!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_ext!","text":"set_ext!(value::FixedAdmittance, val) -> Any\n\n\nSet FixedAdmittance ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FixedAdmittance/#PowerSystems.set_services!-Tuple{FixedAdmittance, Any}","page":"FixedAdmittance","title":"PowerSystems.set_services!","text":"set_services!(value::FixedAdmittance, val) -> Any\n\n\nSet FixedAdmittance services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#InterconnectingConverter","page":"InterconnectingConverter","title":"InterconnectingConverter","text":"","category":"section"},{"location":"model_library/generated_InterconnectingConverter/","page":"InterconnectingConverter","title":"InterconnectingConverter","text":"Modules = [PowerSystems]\nPages = [\"generated/InterconnectingConverter.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.InterconnectingConverter","page":"InterconnectingConverter","title":"PowerSystems.InterconnectingConverter","text":"mutable struct InterconnectingConverter <: StaticInjection\n name::String\n available::Bool\n bus::ACBus\n dc_bus::DCBus\n active_power::Float64\n rating::Float64\n active_power_limits::MinMax\n base_power::Float64\n loss_function::Union{LinearCurve, QuadraticCurve}\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nInterconnecting Power Converter (IPC) for transforming power from an ACBus to a DCBus\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus on the AC side of this converter\ndc_bus::DCBus: Bus on the DC side of this converter\nactive_power::Float64: Active power (MW) on the DC side, validation range: active_power_limits\nrating::Float64: Maximum output power rating of the converter (MVA), validation range: (0, nothing)\nactive_power_limits::MinMax: Minimum and maximum stable active power levels (MW)\nbase_power::Float64: Base power of the converter in MVA, validation range: (0, nothing)\nloss_function::Union{LinearCurve, QuadraticCurve}: (default: LinearCurve(0.0)) Linear or quadratic loss function with respect to the converter current\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InterconnectingConverter/#InfrastructureSystems.get_name-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"InfrastructureSystems.get_name","text":"get_name(value::InterconnectingConverter) -> String\n\n\nGet InterconnectingConverter name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_active_power-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_active_power","text":"get_active_power(value::InterconnectingConverter) -> Any\n\n\nGet InterconnectingConverter active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_active_power_limits-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::InterconnectingConverter\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet InterconnectingConverter active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_available-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_available","text":"get_available(value::InterconnectingConverter) -> Bool\n\n\nGet InterconnectingConverter available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_base_power-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_base_power","text":"get_base_power(value::InterconnectingConverter) -> Float64\n\n\nGet InterconnectingConverter base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_bus-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_bus","text":"get_bus(value::InterconnectingConverter) -> ACBus\n\n\nGet InterconnectingConverter bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_dc_bus-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_dc_bus","text":"get_dc_bus(value::InterconnectingConverter) -> DCBus\n\n\nGet InterconnectingConverter dc_bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_dynamic_injector-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::InterconnectingConverter\n) -> Union{Nothing, DynamicInjection}\n\n\nGet InterconnectingConverter dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_ext-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_ext","text":"get_ext(\n value::InterconnectingConverter\n) -> Dict{String, Any}\n\n\nGet InterconnectingConverter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_loss_function-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_loss_function","text":"get_loss_function(\n value::InterconnectingConverter\n) -> Union{LinearCurve, QuadraticCurve}\n\n\nGet InterconnectingConverter loss_function.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_rating-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_rating","text":"get_rating(value::InterconnectingConverter) -> Any\n\n\nGet InterconnectingConverter rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.get_services-Tuple{InterconnectingConverter}","page":"InterconnectingConverter","title":"PowerSystems.get_services","text":"get_services(\n value::InterconnectingConverter\n) -> Vector{Service}\n\n\nGet InterconnectingConverter services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_active_power!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_active_power!","text":"set_active_power!(\n value::InterconnectingConverter,\n val\n) -> Any\n\n\nSet InterconnectingConverter active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_active_power_limits!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(\n value::InterconnectingConverter,\n val\n) -> Any\n\n\nSet InterconnectingConverter active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_available!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_available!","text":"set_available!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_base_power!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_bus!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_bus!","text":"set_bus!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_dc_bus!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_dc_bus!","text":"set_dc_bus!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter dc_bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_ext!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_ext!","text":"set_ext!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_loss_function!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_loss_function!","text":"set_loss_function!(\n value::InterconnectingConverter,\n val\n) -> Any\n\n\nSet InterconnectingConverter loss_function.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_rating!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_rating!","text":"set_rating!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InterconnectingConverter/#PowerSystems.set_services!-Tuple{InterconnectingConverter, Any}","page":"InterconnectingConverter","title":"PowerSystems.set_services!","text":"set_services!(value::InterconnectingConverter, val) -> Any\n\n\nSet InterconnectingConverter services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#TModelHVDCLine","page":"TModelHVDCLine","title":"TModelHVDCLine","text":"","category":"section"},{"location":"model_library/generated_TModelHVDCLine/","page":"TModelHVDCLine","title":"TModelHVDCLine","text":"Modules = [PowerSystems]\nPages = [\"generated/TModelHVDCLine.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.TModelHVDCLine","page":"TModelHVDCLine","title":"PowerSystems.TModelHVDCLine","text":"mutable struct TModelHVDCLine <: DCBranch\n name::String\n available::Bool\n active_power_flow::Float64\n arc::Arc\n r::Float64\n l::Float64\n c::Float64\n active_power_limits_from::MinMax\n active_power_limits_to::MinMax\n services::Vector{Service}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA High Voltage DC transmission line for modeling DC transmission networks.\n\nThis line must be connected to a DCBus on each end. It uses a T-Model of the line impedance. This is suitable for operational simulations with a multi-terminal DC network\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nactive_power_flow::Float64: Initial condition of active power flow on the line (MW)\narc::Arc: An Arc defining this line from a bus to another bus\nr::Float64: Total series Resistance in p.u. (SYSTEM_BASE), split equally on both sides of the shunt capacitance\nl::Float64: Total series Inductance in p.u. (SYSTEM_BASE), split equally on both sides of the shunt capacitance\nc::Float64: Shunt capacitance in p.u. (SYSTEM_BASE)\nactive_power_limits_from::MinMax: Minimum and maximum active power flows to the FROM node (MW)\nactive_power_limits_to::MinMax: Minimum and maximum active power flows to the TO node (MW)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TModelHVDCLine/#InfrastructureSystems.get_name-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"InfrastructureSystems.get_name","text":"get_name(value::TModelHVDCLine) -> String\n\n\nGet TModelHVDCLine name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_active_power_flow-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_active_power_flow","text":"get_active_power_flow(value::TModelHVDCLine) -> Any\n\n\nGet TModelHVDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_active_power_limits_from-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_active_power_limits_from","text":"get_active_power_limits_from(\n value::TModelHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TModelHVDCLine active_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_active_power_limits_to-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_active_power_limits_to","text":"get_active_power_limits_to(\n value::TModelHVDCLine\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TModelHVDCLine active_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_arc-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_arc","text":"get_arc(value::TModelHVDCLine) -> Arc\n\n\nGet TModelHVDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_available-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_available","text":"get_available(value::TModelHVDCLine) -> Bool\n\n\nGet TModelHVDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_c-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_c","text":"get_c(value::TModelHVDCLine) -> Float64\n\n\nGet TModelHVDCLine c.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_ext-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_ext","text":"get_ext(value::TModelHVDCLine) -> Dict{String, Any}\n\n\nGet TModelHVDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_l-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_l","text":"get_l(value::TModelHVDCLine) -> Float64\n\n\nGet TModelHVDCLine l.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_r-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_r","text":"get_r(value::TModelHVDCLine) -> Float64\n\n\nGet TModelHVDCLine r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.get_services-Tuple{TModelHVDCLine}","page":"TModelHVDCLine","title":"PowerSystems.get_services","text":"get_services(value::TModelHVDCLine) -> Vector{Service}\n\n\nGet TModelHVDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_active_power_flow!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_active_power_flow!","text":"set_active_power_flow!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine active_power_flow.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_active_power_limits_from!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_active_power_limits_from!","text":"set_active_power_limits_from!(\n value::TModelHVDCLine,\n val\n) -> Any\n\n\nSet TModelHVDCLine active_power_limits_from.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_active_power_limits_to!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_active_power_limits_to!","text":"set_active_power_limits_to!(\n value::TModelHVDCLine,\n val\n) -> Any\n\n\nSet TModelHVDCLine active_power_limits_to.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_arc!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_arc!","text":"set_arc!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine arc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_available!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_available!","text":"set_available!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_c!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_c!","text":"set_c!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine c.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_ext!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_ext!","text":"set_ext!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_l!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_l!","text":"set_l!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine l.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_r!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_r!","text":"set_r!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine r.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TModelHVDCLine/#PowerSystems.set_services!-Tuple{TModelHVDCLine, Any}","page":"TModelHVDCLine","title":"PowerSystems.set_services!","text":"set_services!(value::TModelHVDCLine, val) -> Any\n\n\nSet TModelHVDCLine services.\n\n\n\n\n\n","category":"method"},{"location":"modeler_guide/example_dynamic_data/#Dynamic-Devices","page":"Dynamic Devices","title":"Dynamic Devices","text":"","category":"section"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"Each sub-type is composed of the corresponding dynamic components that define the model. As a result, it is possible to flexibly define dynamic data models and methods according to the analysis requirements. DynamicInjection components use parametric a parametric type pattern to materialize the full specification of the dynamic injection model with parameters. This design enable the use of parametric methods to specify the mathematical model of the dynamic components separately.","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"DynamicInjection components also implement some additional information useful for the modeling like the usual states assumed by the model and the number. These values are derived from the documentation associated with the model, for instance PSS/e models provide parameters, states and variables. Although PowerSystems.jl doesn't assume a specific mathematical model for the components, the default values for these parameters are derived directly from the data model source.","category":"page"},{"location":"modeler_guide/example_dynamic_data/#Dynamic-Generator","page":"Dynamic Devices","title":"Dynamic Generator","text":"","category":"section"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"Each generator is a data structure that is defined by the following components:","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"Machine: That defines the stator electro-magnetic dynamics.\nShaft: That describes the rotor electro-mechanical dynamics.\nAutomatic Voltage Regulator: Electromotive dynamics to model an AVR controller.\nPower System Stabilizer: Control dynamics to define an stabilization signal for the AVR.\nPrime Mover and Turbine Governor: Thermo-mechanical dynamics and associated controllers.","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"Each inverter is a data structure that is defined by the following components:","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"DC Source: Defines the dynamics of the DC side of the converter.\nFrequency Estimator: That describes how the frequency of the grid can be estimated using the grid voltages. Typically a phase-locked loop (PLL).\nOuter Loop Control: That describes the active and reactive power control dynamics.\nInner Loop Control: That can describe virtual impedance, voltage control and current control dynamics.\nConverter: That describes the dynamics of the pulse width modulation (PWM) or space vector modulation (SVM).\nFilter: Used to connect the converter output to the grid.","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"","category":"page"},{"location":"modeler_guide/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"⠀","category":"page"},{"location":"tutorials/parse_tabular_data/#Parsing-Tabular-Data","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"tutorials/parse_tabular_data/#Introduction","page":"Parsing Tabular Data","title":"Introduction","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"An example of how to parse tabular files (CSV) files similar to the format established in the RTS-GMLC and create a System using PowerSystems.jl","category":"page"},{"location":"tutorials/parse_tabular_data/#Dependencies","page":"Parsing Tabular Data","title":"Dependencies","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"using PowerSystems\nusing TimeSeries\nusing Dates","category":"page"},{"location":"tutorials/parse_tabular_data/#Fetch-Data","page":"Parsing Tabular Data","title":"Fetch Data","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"PowerSystems.jl links to some test data that is suitable for this example. Let's get the test data using Artifacts. You can find the repository of the data of the GMLC system here:","category":"page"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"using PowerSystemCaseBuilder #hide\nDATA_DIR = PowerSystemCaseBuilder.DATA_DIR #hide\n# include download methods\nRTS_GMLC_DIR = joinpath(DATA_DIR, \"RTS_GMLC\")","category":"page"},{"location":"tutorials/parse_tabular_data/#The-tabular-data-format-relies-on-a-folder-containing-*.csv-files-and-a-user_descriptors.yaml-file","page":"Parsing Tabular Data","title":"The tabular data format relies on a folder containing *.csv files and a user_descriptors.yaml file","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"First, we'll read the tabular data","category":"page"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"rawsys = PowerSystems.PowerSystemTableData(\n RTS_GMLC_DIR,\n 100.0,\n joinpath(RTS_GMLC_DIR, \"user_descriptors.yaml\"),\n timeseries_metadata_file = joinpath(RTS_GMLC_DIR, \"timeseries_pointers.json\"),\n generator_mapping_file = joinpath(RTS_GMLC_DIR, \"generator_mapping_multi_start.yaml\"),\n)","category":"page"},{"location":"tutorials/parse_tabular_data/#Create-a-System","page":"Parsing Tabular Data","title":"Create a System","text":"","category":"section"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"Next, we'll create a System from the rawsys data. Since a System is predicated on a time series resolution and the rawsys data includes both 5-minute and 1-hour resolution time series, we also need to specify which time series we want to include in the System. The time_series_resolution kwarg filters to only include time series with a matching resolution.","category":"page"},{"location":"tutorials/parse_tabular_data/","page":"Parsing Tabular Data","title":"Parsing Tabular Data","text":"sys = System(rawsys; time_series_resolution = Dates.Hour(1));\nhorizon = Dates.Hour(24);\ninterval = Dates.Hour(24);\ntransform_single_time_series!(sys, horizon, interval);\nsys","category":"page"},{"location":"modeler_guide/type_structure/#type_structure","page":"Type Structure","title":"Type Structure","text":"","category":"section"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"The abstract hierarchy enables categorization of the devices by their operational characteristics and modeling requirements.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"For instance, generation is classified by the distinctive data requirements for modeling in three categories: ThermalGen, RenewableGen, and HydroGen.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"As a result of this design, developers can define model logic entirely based on abstract types and create generic code to support modeling technologies that are not yet implemented in the package.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"PowerSystems.jl has a category Topology of topological components (e.g., ACBus, Arc), separate from the physical components.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"The hierarchy also includes components absent in standard data models, such as services. The services category includes reserves, transfers and AGC. The power of PowerSystems.jl lies in providing the abstraction without an implicit mathematical representation of the component.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"In the Basics tutorial, you can find a more detailed introduction to the type system and how to manipulate data.","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"","category":"page"},{"location":"modeler_guide/type_structure/","page":"Type Structure","title":"Type Structure","text":"⠀","category":"page"},{"location":"model_library/generated_AVR/#AVR","page":"AVR","title":"AVR","text":"","category":"section"},{"location":"model_library/generated_AVR/#AVRFixed","page":"AVR","title":"AVRFixed","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/AVRFixed.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.AVRFixed","page":"AVR","title":"PowerSystems.AVRFixed","text":"mutable struct AVRFixed <: AVR\n Vf::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a AVR that returns a fixed voltage to the rotor winding\n\nArguments\n\nVf::Float64: Fixed voltage field applied to the rotor winding in pu (DEVICE_BASE), validation range: (0, nothing)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) Fixed AVR has no states\nn_states::Int: (Do not modify.) Fixed AVR has no states\nstates_types::Vector{StateTypes}: (Do not modify.) Fixed AVR has no states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::AVRFixed) -> Float64\n\n\nGet AVRFixed V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vf-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_Vf","text":"get_Vf(value::AVRFixed) -> Float64\n\n\nGet AVRFixed Vf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::AVRFixed) -> Dict{String, Any}\n\n\nGet AVRFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::AVRFixed) -> Int64\n\n\nGet AVRFixed n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::AVRFixed) -> Vector{Symbol}\n\n\nGet AVRFixed states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{AVRFixed}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::AVRFixed) -> Vector{StateTypes}\n\n\nGet AVRFixed states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{AVRFixed, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::AVRFixed, val) -> Any\n\n\nSet AVRFixed V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vf!-Tuple{AVRFixed, Any}","page":"AVR","title":"PowerSystems.set_Vf!","text":"set_Vf!(value::AVRFixed, val) -> Any\n\n\nSet AVRFixed Vf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{AVRFixed, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::AVRFixed, val) -> Any\n\n\nSet AVRFixed ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{AVRFixed, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::AVRFixed, val) -> Any\n\n\nSet AVRFixed states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#AVRSimple","page":"AVR","title":"AVRSimple","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/AVRSimple.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.AVRSimple","page":"AVR","title":"PowerSystems.AVRSimple","text":"mutable struct AVRSimple <: AVR\n Kv::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a simple proportional AVR in the derivative of EMF i.e. an integrator controller on EMF\n\nArguments\n\nKv::Float64: Proportional Gain, validation range: (0, nothing)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVf: field voltage\n\nn_states::Int: (Do not modify.) Fixed AVR has 1 state\nstates_types::Vector{StateTypes}: (Do not modify.) Simple AVR has 1 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kv-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_Kv","text":"get_Kv(value::AVRSimple) -> Float64\n\n\nGet AVRSimple Kv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::AVRSimple) -> Float64\n\n\nGet AVRSimple V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::AVRSimple) -> Dict{String, Any}\n\n\nGet AVRSimple ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::AVRSimple) -> Int64\n\n\nGet AVRSimple n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::AVRSimple) -> Vector{Symbol}\n\n\nGet AVRSimple states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{AVRSimple}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::AVRSimple) -> Vector{StateTypes}\n\n\nGet AVRSimple states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kv!-Tuple{AVRSimple, Any}","page":"AVR","title":"PowerSystems.set_Kv!","text":"set_Kv!(value::AVRSimple, val) -> Any\n\n\nSet AVRSimple Kv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{AVRSimple, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::AVRSimple, val) -> Any\n\n\nSet AVRSimple V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{AVRSimple, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::AVRSimple, val) -> Any\n\n\nSet AVRSimple ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{AVRSimple, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::AVRSimple, val) -> Any\n\n\nSet AVRSimple states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#AVRTypeI","page":"AVR","title":"AVRTypeI","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/AVRTypeI.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.AVRTypeI","page":"AVR","title":"PowerSystems.AVRTypeI","text":"mutable struct AVRTypeI <: AVR\n Ka::Float64\n Ke::Float64\n Kf::Float64\n Ta::Float64\n Te::Float64\n Tf::Float64\n Tr::Float64\n Va_lim::MinMax\n Ae::Float64\n Be::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of an Automatic Voltage Regulator Type I - Resembles IEEE Type DC1\n\nArguments\n\nKa::Float64: Amplifier Gain, validation range: (0, nothing)\nKe::Float64: Field circuit integral deviation, validation range: (0, nothing)\nKf::Float64: Stabilizer Gain in s * pu/pu, validation range: (0, nothing)\nTa::Float64: Amplifier Time Constant in s, validation range: (0, nothing)\nTe::Float64: Field Circuit Time Constant in s, validation range: (0, nothing)\nTf::Float64: Stabilizer Time Constant in s, validation range: (0, nothing)\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing)\nVa_lim::MinMax: Limits for pi controler (Va_min, Va_max)\nAe::Float64: 1st ceiling coefficient, validation range: (0, nothing)\nBe::Float64: 2nd ceiling coefficient, validation range: (0, nothing)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVf: Voltage field,\nVr1: Amplifier State,\nVr2: Stabilizing Feedback State,\nVm: Measured voltage\n\nn_states::Int: (Do not modify.) The AVR Type I has 4 states\nstates_types::Vector{StateTypes}: (Do not modify.) AVR Type I has 4 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ae-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Ae","text":"get_Ae(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Ae.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Be-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Be","text":"get_Be(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Be.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::AVRTypeI) -> Float64\n\n\nGet AVRTypeI V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::AVRTypeI\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet AVRTypeI Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::AVRTypeI) -> Dict{String, Any}\n\n\nGet AVRTypeI ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::AVRTypeI) -> Int64\n\n\nGet AVRTypeI n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::AVRTypeI) -> Vector{Symbol}\n\n\nGet AVRTypeI states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{AVRTypeI}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::AVRTypeI) -> Vector{StateTypes}\n\n\nGet AVRTypeI states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ae!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Ae!","text":"set_Ae!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Ae.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Be!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Be!","text":"set_Be!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Be.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{AVRTypeI, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::AVRTypeI, val) -> Any\n\n\nSet AVRTypeI states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#AVRTypeII","page":"AVR","title":"AVRTypeII","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/AVRTypeII.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.AVRTypeII","page":"AVR","title":"PowerSystems.AVRTypeII","text":"mutable struct AVRTypeII <: AVR\n K0::Float64\n T1::Float64\n T2::Float64\n T3::Float64\n T4::Float64\n Te::Float64\n Tr::Float64\n Va_lim::MinMax\n Ae::Float64\n Be::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of an Automatic Voltage Regulator Type II - Typical static exciter model\n\nArguments\n\nK0::Float64: Regulator Gain, validation range: (0, nothing)\nT1::Float64: First Pole in s, validation range: (0, nothing)\nT2::Float64: First zero in s, validation range: (0, nothing)\nT3::Float64: First Pole in s, validation range: (0, nothing)\nT4::Float64: First zero in s, validation range: (0, nothing)\nTe::Float64: Field Circuit Time Constant in s, validation range: (0, nothing)\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing)\nVa_lim::MinMax: Limits for pi controler (Va_min, Va_max)\nAe::Float64: 1st ceiling coefficient, validation range: (0, nothing)\nBe::Float64: 2nd ceiling coefficient, validation range: (0, nothing)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVf: Voltage field,\nVr1: First Lead-Lag state,\nVr2: Second lead-lag state,\nVm: Measured voltage\n\nn_states::Int: (Do not modify.) AVR Type II has 4 states\nstates_types::Vector{StateTypes}: (Do not modify.) AVR Type II has 4 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ae-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_Ae","text":"get_Ae(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII Ae.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Be-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_Be","text":"get_Be(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII Be.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K0-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_K0","text":"get_K0(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII K0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_T1-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_T1","text":"get_T1(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_T2-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_T2","text":"get_T2(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_T3-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_T3","text":"get_T3(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_T4-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_T4","text":"get_T4(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::AVRTypeII) -> Float64\n\n\nGet AVRTypeII V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::AVRTypeII\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet AVRTypeII Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::AVRTypeII) -> Dict{String, Any}\n\n\nGet AVRTypeII ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::AVRTypeII) -> Int64\n\n\nGet AVRTypeII n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::AVRTypeII) -> Vector{Symbol}\n\n\nGet AVRTypeII states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{AVRTypeII}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::AVRTypeII) -> Vector{StateTypes}\n\n\nGet AVRTypeII states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ae!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_Ae!","text":"set_Ae!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII Ae.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Be!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_Be!","text":"set_Be!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII Be.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K0!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_K0!","text":"set_K0!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII K0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_T1!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_T1!","text":"set_T1!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_T2!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_T2!","text":"set_T2!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_T3!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_T3!","text":"set_T3!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_T4!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_T4!","text":"set_T4!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{AVRTypeII, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::AVRTypeII, val) -> Any\n\n\nSet AVRTypeII states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESAC1A","page":"AVR","title":"ESAC1A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESAC1A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESAC1A","page":"AVR","title":"PowerSystems.ESAC1A","text":"mutable struct ESAC1A <: AVR\n Tr::Float64\n Tb::Float64\n Tc::Float64\n Ka::Float64\n Ta::Float64\n Va_lim::MinMax\n Te::Float64\n Kf::Float64\n Tf::Float64\n Kc::Float64\n Kd::Float64\n Ke::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n Vr_lim::MinMax\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nThis excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A Excitacion System. This model corresponds to ESAC1A in PSSE and PSLF\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)\nTb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20)\nTc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20)\nKa::Float64: Regulator output gain, validation range: (0, 1000)\nTa::Float64: Regulator output time constant in s, validation range: (0, 10)\nVa_lim::MinMax: Limits for regulator output (Va_min, Va_max)\nTe::Float64: Exciter field time constant in s, validation range: (eps(), 2)\nKf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3)\nTf::Float64: Rate feedback time constant, validation range: (eps(), 1.5)\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)\nKd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1)\nKe::Float64: Exciter field proportional constant, validation range: (0, 1)\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nVr_lim::MinMax: Limits for exciter field voltage: (Vr_min, Vr_max)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(x) = B(x - A)^2/x\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed terminal voltage,\nVr1: Lead-lag state,\nVr2: Regulator output state,\nVe: Integrator output state,\nVr3: Feedback output state\n\nn_states::Int: (Do not modify.) ESAC1A has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) ESAC1A has 5 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::ESAC1A) -> Tuple{Float64, Float64}\n\n\nGet ESAC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::ESAC1A) -> Tuple{Float64, Float64}\n\n\nGet ESAC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESAC1A) -> Float64\n\n\nGet ESAC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESAC1A) -> Float64\n\n\nGet ESAC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::ESAC1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESAC1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESAC1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESAC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESAC1A) -> Dict{String, Any}\n\n\nGet ESAC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESAC1A) -> Int64\n\n\nGet ESAC1A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::ESAC1A\n) -> Tuple{Float64, Float64}\n\n\nGet ESAC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESAC1A) -> Vector{Symbol}\n\n\nGet ESAC1A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESAC1A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESAC1A) -> Vector{StateTypes}\n\n\nGet ESAC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESAC1A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESAC1A, val) -> Any\n\n\nSet ESAC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESAC6A","page":"AVR","title":"ESAC6A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESAC6A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESAC6A","page":"AVR","title":"PowerSystems.ESAC6A","text":"mutable struct ESAC6A <: AVR\n Tr::Float64\n Ka::Float64\n Ta::Float64\n Tk::Float64\n Tb::Float64\n Tc::Float64\n Va_lim::MinMax\n Vr_lim::MinMax\n Te::Float64\n VFE_lim::Float64\n Kh::Float64\n VH_max::Float64\n Th::Float64\n Tj::Float64\n Kc::Float64\n Kd::Float64\n Ke::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nModified AC6A. Used to represent field-controlled alternator-rectifier excitation systems with system-supplied electronic voltage regulators. Parameters of IEEE Std 421.5 Type AC6A Excitacion System. ESAC6A in PSSE and PSLF\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)\nKa::Float64: Regulator output gain, validation range: (0, 1000)\nTa::Float64: Regulator output lag time constant in s, validation range: (0, 10)\nTk::Float64: Voltage Regulator lead time constant, validation range: (0, 10)\nTb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20)\nTc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20)\nVa_lim::MinMax: Limits for regulator output (Va_min, Va_max)\nVr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)\nTe::Float64: Exciter field time constant, validation range: (eps(), 2)\nVFE_lim::Float64: Exciter field current limiter reference, validation range: (-5, 20)\nKh::Float64: Exciter field current regulator feedback gain, validation range: (0, 100)\nVH_max::Float64: Exciter field current limiter maximum output, validation range: (0, 100)\nTh::Float64: Exciter field current limiter denominator (lag) time constant, validation range: (0, 1)\nTj::Float64: Exciter field current limiter numerator (lead) time constant, validation range: (0, 1)\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)\nKd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 2)\nKe::Float64: Exciter field proportional constant, validation range: (0, 2)\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed terminal voltage,\nVr1: Lead-lag state,\nVr2: Regulator output state,\nVe: Integrator output state,\nVr3: Feedback output state\n\nn_states::Int: (Do not modify.) ESAC6A has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) ESAC6A has 5 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::ESAC6A) -> Tuple{Float64, Float64}\n\n\nGet ESAC6A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kh-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Kh","text":"get_Kh(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Kh.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::ESAC6A) -> Tuple{Float64, Float64}\n\n\nGet ESAC6A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Th-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Th","text":"get_Th(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tj-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Tj","text":"get_Tj(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Tj.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tk-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Tk","text":"get_Tk(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Tk.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESAC6A) -> Float64\n\n\nGet ESAC6A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_VFE_lim-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_VFE_lim","text":"get_VFE_lim(value::ESAC6A) -> Float64\n\n\nGet ESAC6A VFE_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_VH_max-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_VH_max","text":"get_VH_max(value::ESAC6A) -> Float64\n\n\nGet ESAC6A VH_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESAC6A) -> Float64\n\n\nGet ESAC6A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::ESAC6A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESAC6A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESAC6A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESAC6A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESAC6A) -> Dict{String, Any}\n\n\nGet ESAC6A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESAC6A) -> Int64\n\n\nGet ESAC6A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::ESAC6A\n) -> Tuple{Float64, Float64}\n\n\nGet ESAC6A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESAC6A) -> Vector{Symbol}\n\n\nGet ESAC6A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESAC6A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESAC6A) -> Vector{StateTypes}\n\n\nGet ESAC6A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kh!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Kh!","text":"set_Kh!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Kh.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Th!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Th!","text":"set_Th!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Th.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tj!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Tj!","text":"set_Tj!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Tj.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tk!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Tk!","text":"set_Tk!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Tk.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_VFE_lim!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_VFE_lim!","text":"set_VFE_lim!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A VFE_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_VH_max!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_VH_max!","text":"set_VH_max!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A VH_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESAC6A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESAC6A, val) -> Any\n\n\nSet ESAC6A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESDC1A","page":"AVR","title":"ESDC1A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESDC1A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESDC1A","page":"AVR","title":"PowerSystems.ESDC1A","text":"mutable struct ESDC1A <: AVR\n Tr::Float64\n Ka::Float64\n Ta::Float64\n Tb::Float64\n Tc::Float64\n Vr_lim::MinMax\n Ke::Float64\n Te::Float64\n Kf::Float64\n Tf::Float64\n switch::Int\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nSelf-excited shunt fields with the voltage regulator operating in a mode commonly termed buck-boost. Parameters of IEEE Std 421.5 Type DC1A Excitacion System. This model corresponds to ESDC1A in PSSE and PSLF\n\nArguments\n\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5)\nKa::Float64: Amplifier Gain, validation range: (10, 500)\nTa::Float64: Amplifier Time Constant in s, validation range: (0, 1)\nTb::Float64: Regulator input Time Constant in s, validation range: (0, nothing)\nTc::Float64: Regulator input Time Constant in s, validation range: (0, nothing)\nVr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)\nKe::Float64: Exciter constant related to self-excited field, validation range: (0, nothing)\nTe::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 1)\nKf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3)\nTf::Float64: Excitation control system stabilizer time constant, validation range: (eps(), nothing)\nswitch::Int: Switch, validation range: (0, 1)\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVt: Terminal Voltage,\nVr1: input lead lag,\nVr2: Regulator Output,\nVf: Exciter Output, \nVr3: Rate feedback integrator\n\nn_states::Int: (Do not modify.) The ESDC1A has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) ESDC1A has 5 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::ESDC1A) -> Tuple{Float64, Float64}\n\n\nGet ESDC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::ESDC1A) -> Tuple{Float64, Float64}\n\n\nGet ESDC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESDC1A) -> Float64\n\n\nGet ESDC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESDC1A) -> Float64\n\n\nGet ESDC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESDC1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESDC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESDC1A) -> Dict{String, Any}\n\n\nGet ESDC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESDC1A) -> Int64\n\n\nGet ESDC1A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::ESDC1A\n) -> Tuple{Float64, Float64}\n\n\nGet ESDC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESDC1A) -> Vector{Symbol}\n\n\nGet ESDC1A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESDC1A) -> Vector{StateTypes}\n\n\nGet ESDC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_switch-Tuple{ESDC1A}","page":"AVR","title":"PowerSystems.get_switch","text":"get_switch(value::ESDC1A) -> Int64\n\n\nGet ESDC1A switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_switch!-Tuple{ESDC1A, Any}","page":"AVR","title":"PowerSystems.set_switch!","text":"set_switch!(value::ESDC1A, val) -> Any\n\n\nSet ESDC1A switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESDC2A","page":"AVR","title":"ESDC2A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESDC2A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESDC2A","page":"AVR","title":"PowerSystems.ESDC2A","text":"mutable struct ESDC2A <: AVR\n Tr::Float64\n Ka::Float64\n Ta::Float64\n Tb::Float64\n Tc::Float64\n Vr_lim::MinMax\n Ke::Float64\n Te::Float64\n Kf::Float64\n Tf::Float64\n switch::Int\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIs used to represent field-controlled dc commutator exciters with continuously acting voltage regulators having power supplies derived from the generator or auxiliaries bus. Parameters of IEEE Std 421.5 Type DC2A Excitacion System. This model corresponds to ESDC2A in PSSE and PSLF\n\nArguments\n\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5)\nKa::Float64: Amplifier Gain, validation range: (10, 500)\nTa::Float64: Amplifier Time Constant in s, validation range: (0, 1)\nTb::Float64: Regulator input Time Constant in s, validation range: (0, nothing)\nTc::Float64: Regulator input Time Constant in s, validation range: (0, nothing)\nVr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)\nKe::Float64: Exciter constant related to self-excited field, validation range: (-1, 1)\nTe::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 2)\nKf::Float64: Excitation control system stabilizer gain, validation range: (0, 0.3)\nTf::Float64: Excitation control system stabilizer time constant. Appropiate Data: 5.0 <= Tf/Kf <= 15.0, validation range: (eps(), 1.5)\nswitch::Int: Switch, validation range: (0, 1)\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVt: Terminal Voltage,\nVr1: input lead lag,\nVr2: Regulator Output,\nVf: Exciter Output, \nVr3: Rate feedback integrator\n\nn_states::Int: (Do not modify.) The ESDC2A has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) ESDC2A has 5 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::ESDC2A) -> Tuple{Float64, Float64}\n\n\nGet ESDC2A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::ESDC2A) -> Tuple{Float64, Float64}\n\n\nGet ESDC2A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESDC2A) -> Float64\n\n\nGet ESDC2A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESDC2A) -> Float64\n\n\nGet ESDC2A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESDC2A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESDC2A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESDC2A) -> Dict{String, Any}\n\n\nGet ESDC2A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESDC2A) -> Int64\n\n\nGet ESDC2A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::ESDC2A\n) -> Tuple{Float64, Float64}\n\n\nGet ESDC2A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESDC2A) -> Vector{Symbol}\n\n\nGet ESDC2A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESDC2A) -> Vector{StateTypes}\n\n\nGet ESDC2A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_switch-Tuple{ESDC2A}","page":"AVR","title":"PowerSystems.get_switch","text":"get_switch(value::ESDC2A) -> Int64\n\n\nGet ESDC2A switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_switch!-Tuple{ESDC2A, Any}","page":"AVR","title":"PowerSystems.set_switch!","text":"set_switch!(value::ESDC2A, val) -> Any\n\n\nSet ESDC2A switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESST1A","page":"AVR","title":"ESST1A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESST1A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESST1A","page":"AVR","title":"PowerSystems.ESST1A","text":"mutable struct ESST1A <: AVR\n UEL_flags::Int\n PSS_flags::Int\n Tr::Float64\n Vi_lim::Tuple{Float64, Float64}\n Tc::Float64\n Tb::Float64\n Tc1::Float64\n Tb1::Float64\n Ka::Float64\n Ta::Float64\n Va_lim::MinMax\n Vr_lim::MinMax\n Kc::Float64\n Kf::Float64\n Tf::Float64\n K_lr::Float64\n I_lr::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nThis excitation system supplies power through a transformer from the generator terminals and its regulated by a controlled rectifier (via thyristors). Parameters of IEEE Std 421.5 Type ST1A Excitacion System. ESST1A in PSSE and PSLF\n\nArguments\n\nUEL_flags::Int: Code input for Underexcitization limiter (UEL) entry. Not supported, validation range: (1, 3)\nPSS_flags::Int: Code input for Power System Stabilizer (PSS) or (VOS) entry, validation range: (1, 2)\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.1)\nVi_lim::Tuple{Float64, Float64}: Voltage error limits (regulator input) (Vimin, Vimax)\nTc::Float64: First regulator denominator (lead) time constant in s, validation range: (0, 10)\nTb::Float64: First regulator denominator (lag) time constant in s, validation range: (0, 20)\nTc1::Float64: Second regulator denominator (lead) time constant in s, validation range: (0, 10)\nTb1::Float64: Second regulator denominator (lead) time constant in s, validation range: (0, 20)\nKa::Float64: Voltage regulator gain, validation range: (50, 1000)\nTa::Float64: Voltage regulator time constant in s, validation range: (0, 0.5)\nVa_lim::MinMax: Limits for regulator output (Va_min, Va_max)\nVr_lim::MinMax: Limits for exciter output (Vr_min, Vr_max)\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 0.3)\nKf::Float64: Rate feedback gain, validation range: (0, 0.3)\nTf::Float64: Rate feedback time constant in s, validation range: (eps(), 1.5)\nK_lr::Float64: Exciter output current limiter gain, validation range: (0, 5)\nI_lr::Float64: Exciter output current limit reference, validation range: (0, 5)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed terminal voltage,\nVr1: First Lead-lag state,\nVr2: Second lead-lag state,\nVa: Regulator output state,\nVr3: Feedback output state\n\nn_states::Int: (Do not modify.) ST1A has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) ST1A has 5 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_I_lr-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_I_lr","text":"get_I_lr(value::ESST1A) -> Float64\n\n\nGet ESST1A I_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_lr-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_K_lr","text":"get_K_lr(value::ESST1A) -> Float64\n\n\nGet ESST1A K_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESST1A) -> Float64\n\n\nGet ESST1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::ESST1A) -> Float64\n\n\nGet ESST1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::ESST1A) -> Float64\n\n\nGet ESST1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_PSS_flags-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_PSS_flags","text":"get_PSS_flags(value::ESST1A) -> Int64\n\n\nGet ESST1A PSS_flags.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESST1A) -> Float64\n\n\nGet ESST1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::ESST1A) -> Float64\n\n\nGet ESST1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb1-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tb1","text":"get_Tb1(value::ESST1A) -> Float64\n\n\nGet ESST1A Tb1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::ESST1A) -> Float64\n\n\nGet ESST1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc1-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tc1","text":"get_Tc1(value::ESST1A) -> Float64\n\n\nGet ESST1A Tc1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::ESST1A) -> Float64\n\n\nGet ESST1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESST1A) -> Float64\n\n\nGet ESST1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_UEL_flags-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_UEL_flags","text":"get_UEL_flags(value::ESST1A) -> Int64\n\n\nGet ESST1A UEL_flags.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESST1A) -> Float64\n\n\nGet ESST1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::ESST1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESST1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vi_lim-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Vi_lim","text":"get_Vi_lim(value::ESST1A) -> Tuple{Float64, Float64}\n\n\nGet ESST1A Vi_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESST1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESST1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESST1A) -> Dict{String, Any}\n\n\nGet ESST1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESST1A) -> Int64\n\n\nGet ESST1A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESST1A) -> Vector{Symbol}\n\n\nGet ESST1A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESST1A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESST1A) -> Vector{StateTypes}\n\n\nGet ESST1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_I_lr!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_I_lr!","text":"set_I_lr!(value::ESST1A, val) -> Any\n\n\nSet ESST1A I_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_lr!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_K_lr!","text":"set_K_lr!(value::ESST1A, val) -> Any\n\n\nSet ESST1A K_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_PSS_flags!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_PSS_flags!","text":"set_PSS_flags!(value::ESST1A, val) -> Any\n\n\nSet ESST1A PSS_flags.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb1!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tb1!","text":"set_Tb1!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tb1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc1!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tc1!","text":"set_Tc1!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tc1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_UEL_flags!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_UEL_flags!","text":"set_UEL_flags!(value::ESST1A, val) -> Any\n\n\nSet ESST1A UEL_flags.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESST1A, val) -> Any\n\n\nSet ESST1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vi_lim!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Vi_lim!","text":"set_Vi_lim!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Vi_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESST1A, val) -> Any\n\n\nSet ESST1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESST1A, val) -> Any\n\n\nSet ESST1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESST1A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESST1A, val) -> Any\n\n\nSet ESST1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#ESST4B","page":"AVR","title":"ESST4B","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESST4B.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESST4B","page":"AVR","title":"PowerSystems.ESST4B","text":"mutable struct ESST4B <: AVR\n Tr::Float64\n K_pr::Float64\n K_ir::Float64\n Vr_lim::MinMax\n Ta::Float64\n K_pm::Float64\n K_im::Float64\n Vm_lim::MinMax\n Kg::Float64\n Kp::Float64\n Ki::Float64\n VB_max::Float64\n Kc::Float64\n Xl::Float64\n θp::Float64\n V_ref::Float64\n θp_rad::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nIn these excitation systems, voltage (and also current in compounded systems) is transformed to an appropriate level. Rectifiers, either controlled or non-controlled, provide the necessary direct current for the generator field. Parameters of IEEE Std 421.5 Type ST4B Excitacion System. ESST4B in PSSE and PSLF\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)\nK_pr::Float64: Regulator propotional gain, validation range: (0, 75)\nK_ir::Float64: Regulator integral gain, validation range: (0, 75)\nVr_lim::MinMax: Voltage regulator limits (Vimin, Vimax)\nTa::Float64: Voltage regulator time constant in s, validation range: (0, 1)\nK_pm::Float64: Voltage regulator proportional gain output, validation range: (0, 1.2)\nK_im::Float64: Voltage regulator integral gain output, validation range: (0, 18)\nVm_lim::MinMax: Limits for inner loop output (Vm_min, Vm_max)\nKg::Float64: Feedback gain constant of the inner loop field regulator, validation range: (0, 1.1)\nKp::Float64: Potential circuit (voltage) gain coefficient, validation range: (0, 10)\nKi::Float64: Compound circuit (current) gain coefficient, validation range: (0, 1.1)\nVB_max::Float64: Maximum available exciter voltage, validation range: (1, 20)\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)\nXl::Float64: Reactance associated with potential source, validation range: (0, 0.5)\nθp::Float64: Potential circuit phase angle (degrees), validation range: (-90, 90)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\nθp_rad::Float64: (default: θp*π*inv(180)) (Do not modify.) Potential circuit phase angle (radians)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed terminal voltage,\nVt: Sensed Terminal Voltage,\nVr1: Regulator Integrator,\nVr2: Regulator Output,\nVm: Output integrator\n\nn_states::Int: (Do not modify.) ST4B has 4 states\nstates_types::Vector{StateTypes}: (Do not modify.) ST4B has 4 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_im-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_K_im","text":"get_K_im(value::ESST4B) -> Float64\n\n\nGet ESST4B K_im.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_ir-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_K_ir","text":"get_K_ir(value::ESST4B) -> Float64\n\n\nGet ESST4B K_ir.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_pm-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_K_pm","text":"get_K_pm(value::ESST4B) -> Float64\n\n\nGet ESST4B K_pm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_pr-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_K_pr","text":"get_K_pr(value::ESST4B) -> Float64\n\n\nGet ESST4B K_pr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::ESST4B) -> Float64\n\n\nGet ESST4B Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kg-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Kg","text":"get_Kg(value::ESST4B) -> Float64\n\n\nGet ESST4B Kg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ki-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Ki","text":"get_Ki(value::ESST4B) -> Float64\n\n\nGet ESST4B Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kp-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Kp","text":"get_Kp(value::ESST4B) -> Float64\n\n\nGet ESST4B Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESST4B) -> Float64\n\n\nGet ESST4B Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESST4B) -> Float64\n\n\nGet ESST4B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_VB_max-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_VB_max","text":"get_VB_max(value::ESST4B) -> Float64\n\n\nGet ESST4B VB_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESST4B) -> Float64\n\n\nGet ESST4B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vm_lim-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Vm_lim","text":"get_Vm_lim(\n value::ESST4B\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESST4B Vm_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESST4B\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESST4B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Xl-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_Xl","text":"get_Xl(value::ESST4B) -> Float64\n\n\nGet ESST4B Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESST4B) -> Dict{String, Any}\n\n\nGet ESST4B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESST4B) -> Int64\n\n\nGet ESST4B n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESST4B) -> Vector{Symbol}\n\n\nGet ESST4B states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESST4B) -> Vector{StateTypes}\n\n\nGet ESST4B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_θp-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_θp","text":"get_θp(value::ESST4B) -> Float64\n\n\nGet ESST4B θp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_θp_rad-Tuple{ESST4B}","page":"AVR","title":"PowerSystems.get_θp_rad","text":"get_θp_rad(value::ESST4B) -> Float64\n\n\nGet ESST4B θp_rad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_im!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_K_im!","text":"set_K_im!(value::ESST4B, val) -> Any\n\n\nSet ESST4B K_im.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_ir!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_K_ir!","text":"set_K_ir!(value::ESST4B, val) -> Any\n\n\nSet ESST4B K_ir.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_pm!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_K_pm!","text":"set_K_pm!(value::ESST4B, val) -> Any\n\n\nSet ESST4B K_pm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_pr!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_K_pr!","text":"set_K_pr!(value::ESST4B, val) -> Any\n\n\nSet ESST4B K_pr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kg!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Kg!","text":"set_Kg!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Kg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ki!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Ki!","text":"set_Ki!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kp!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Kp!","text":"set_Kp!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_VB_max!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_VB_max!","text":"set_VB_max!(value::ESST4B, val) -> Any\n\n\nSet ESST4B VB_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESST4B, val) -> Any\n\n\nSet ESST4B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vm_lim!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Vm_lim!","text":"set_Vm_lim!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Vm_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Xl!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_Xl!","text":"set_Xl!(value::ESST4B, val) -> Any\n\n\nSet ESST4B Xl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESST4B, val) -> Any\n\n\nSet ESST4B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESST4B, val) -> Any\n\n\nSet ESST4B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_θp!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_θp!","text":"set_θp!(value::ESST4B, val) -> Any\n\n\nSet ESST4B θp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_θp_rad!-Tuple{ESST4B, Any}","page":"AVR","title":"PowerSystems.set_θp_rad!","text":"set_θp_rad!(value::ESST4B, val) -> Any\n\n\nSet ESST4B θp_rad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EXAC1","page":"AVR","title":"EXAC1","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EXAC1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.EXAC1","page":"AVR","title":"PowerSystems.EXAC1","text":"mutable struct EXAC1 <: AVR\n Tr::Float64\n Tb::Float64\n Tc::Float64\n Ka::Float64\n Ta::Float64\n Vr_lim::MinMax\n Te::Float64\n Kf::Float64\n Tf::Float64\n Kc::Float64\n Kd::Float64\n Ke::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nModified ESAC1A. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A. EXAC1 in PSSE and PSLF\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)\nTb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20)\nTc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20)\nKa::Float64: Regulator output gain, validation range: (0, 1000)\nTa::Float64: Regulator output time constant in s, validation range: (0, 10)\nVr_lim::MinMax: Limits for regulator output (Vr_min, Vr_max)\nTe::Float64: Exciter field time constant in s, validation range: (eps(), 2)\nKf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3)\nTf::Float64: Rate feedback time constant, validation range: (eps(), 1.5)\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)\nKd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1)\nKe::Float64: Exciter field proportional constant, validation range: (0, 1)\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed terminal voltage,\nVr1: Lead-lag state,\nVr2: Regulator output state,\nVe: Integrator output state,\nVr3: Feedback output state\n\nn_states::Int: (Do not modify.) EXAC1 has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) EXAC1 has 5 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::EXAC1) -> Tuple{Float64, Float64}\n\n\nGet EXAC1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::EXAC1) -> Float64\n\n\nGet EXAC1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::EXAC1) -> Float64\n\n\nGet EXAC1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::EXAC1) -> Float64\n\n\nGet EXAC1 Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::EXAC1) -> Float64\n\n\nGet EXAC1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::EXAC1) -> Float64\n\n\nGet EXAC1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::EXAC1) -> Tuple{Float64, Float64}\n\n\nGet EXAC1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::EXAC1) -> Float64\n\n\nGet EXAC1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::EXAC1) -> Float64\n\n\nGet EXAC1 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::EXAC1) -> Float64\n\n\nGet EXAC1 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::EXAC1) -> Float64\n\n\nGet EXAC1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::EXAC1) -> Float64\n\n\nGet EXAC1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::EXAC1) -> Float64\n\n\nGet EXAC1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::EXAC1) -> Float64\n\n\nGet EXAC1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::EXAC1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXAC1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::EXAC1) -> Dict{String, Any}\n\n\nGet EXAC1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::EXAC1) -> Int64\n\n\nGet EXAC1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::EXAC1\n) -> Tuple{Float64, Float64}\n\n\nGet EXAC1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::EXAC1) -> Vector{Symbol}\n\n\nGet EXAC1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{EXAC1}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::EXAC1) -> Vector{StateTypes}\n\n\nGet EXAC1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{EXAC1, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::EXAC1, val) -> Any\n\n\nSet EXAC1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EXAC1A","page":"AVR","title":"EXAC1A","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EXAC1A.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.EXAC1A","page":"AVR","title":"PowerSystems.EXAC1A","text":"mutable struct EXAC1A <: AVR\n Tr::Float64\n Tb::Float64\n Tc::Float64\n Ka::Float64\n Ta::Float64\n Va_lim::MinMax\n Te::Float64\n Kf::Float64\n Tf::Float64\n Kc::Float64\n Kd::Float64\n Ke::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n Vr_lim::MinMax\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nModified ESAC1A. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC1A Excitacion System. EXAC1A in PSSE and PSLF\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)\nTb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20)\nTc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20)\nKa::Float64: Regulator output gain, validation range: (0, 1000)\nTa::Float64: Regulator output time constant in s, validation range: (0, 10)\nVa_lim::MinMax: Limits for regulator output (Va_min, Va_max)\nTe::Float64: Exciter field time constant in s, validation range: (eps(), 2)\nKf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3)\nTf::Float64: Rate feedback time constant, validation range: (eps(), 1.5)\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)\nKd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1)\nKe::Float64: Exciter field proportional constant, validation range: (0, 1)\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nVr_lim::MinMax: Limits for exciter field voltage: (Vr_min, Vr_max)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(x) = B(x - A)^2/x\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed terminal voltage,\nVr1: Lead-lag state,\nVr2: Regulator output state,\nVe: Integrator output state,\nVr3: Feedback output state\n\nn_states::Int: (Do not modify.) EXAC1A has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) EXAC1A has 5 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::EXAC1A) -> Tuple{Float64, Float64}\n\n\nGet EXAC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::EXAC1A) -> Tuple{Float64, Float64}\n\n\nGet EXAC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::EXAC1A) -> Float64\n\n\nGet EXAC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::EXAC1A) -> Float64\n\n\nGet EXAC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::EXAC1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXAC1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::EXAC1A\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXAC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::EXAC1A) -> Dict{String, Any}\n\n\nGet EXAC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::EXAC1A) -> Int64\n\n\nGet EXAC1A n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::EXAC1A\n) -> Tuple{Float64, Float64}\n\n\nGet EXAC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::EXAC1A) -> Vector{Symbol}\n\n\nGet EXAC1A states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{EXAC1A}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::EXAC1A) -> Vector{StateTypes}\n\n\nGet EXAC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{EXAC1A, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::EXAC1A, val) -> Any\n\n\nSet EXAC1A states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EXAC2","page":"AVR","title":"EXAC2","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EXAC2.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.EXAC2","page":"AVR","title":"PowerSystems.EXAC2","text":"mutable struct EXAC2 <: AVR\n Tr::Float64\n Tb::Float64\n Tc::Float64\n Ka::Float64\n Ta::Float64\n Va_lim::MinMax\n Kb::Float64\n Vr_lim::MinMax\n Te::Float64\n Kl::Float64\n Kh::Float64\n Kf::Float64\n Tf::Float64\n Kc::Float64\n Kd::Float64\n Ke::Float64\n V_lr::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nModified AC2. This excitation systems consists of an alternator main exciter feeding its output via non-controlled rectifiers. The exciter does not employ self-excitation, and the voltage regulator power is taken from a source that is not affected by external transients. Parameters of IEEE Std 421.5 Type AC2A Excitacion System. The alternator main exciter is used, feeding its output via non-controlled rectifiers. The Type AC2C model is similar to that of Type AC1C except for the inclusion of exciter time constant compensation and exciter field current limiting elements. EXAC2 in PSSE and PSLF\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)\nTb::Float64: Regulator denominator (lag) time constant in s, validation range: (0, 20)\nTc::Float64: Regulator numerator (lead) time constant in s, validation range: (0, 20)\nKa::Float64: Regulator output gain, validation range: (0, 1000)\nTa::Float64: Regulator output time constant in s, validation range: (0, 10)\nVa_lim::MinMax: Limits for regulator output (Va_min, Va_max)\nKb::Float64: Second Stage regulator gain, validation range: (eps(), 500)\nVr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)\nTe::Float64: Exciter field time constant, validation range: (eps(), 2)\nKl::Float64: Exciter field current limiter gain, validation range: (0, 1.1)\nKh::Float64: Exciter field current regulator feedback gain, validation range: (0, 1.1)\nKf::Float64: Rate feedback excitation system stabilizer gain, validation range: (0, 0.3)\nTf::Float64: Rate feedback time constant, validation range: (eps(), nothing)\nKc::Float64: Rectifier loading factor proportional to commutating reactance, validation range: (0, 1)\nKd::Float64: Demagnetizing factor, function of exciter alternator reactances, validation range: (0, 1)\nKe::Float64: Exciter field proportional constant, validation range: (0, 1)\nV_lr::Float64: Maximum exciter field current, validation range: (0, nothing)\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed terminal voltage,\nVr1: Lead-lag state,\nVr2: Regulator output state,\nVe: Integrator output state,\nVr3: Feedback output state\n\nn_states::Int: (Do not modify.) EXAC2 has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) EXAC2 has 5 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::EXAC2) -> Tuple{Float64, Float64}\n\n\nGet EXAC2 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::EXAC2) -> Float64\n\n\nGet EXAC2 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kb-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kb","text":"get_Kb(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::EXAC2) -> Float64\n\n\nGet EXAC2 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kh-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kh","text":"get_Kh(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kh.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kl-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Kl","text":"get_Kl(value::EXAC2) -> Float64\n\n\nGet EXAC2 Kl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::EXAC2) -> Tuple{Float64, Float64}\n\n\nGet EXAC2 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::EXAC2) -> Float64\n\n\nGet EXAC2 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::EXAC2) -> Float64\n\n\nGet EXAC2 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::EXAC2) -> Float64\n\n\nGet EXAC2 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::EXAC2) -> Float64\n\n\nGet EXAC2 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::EXAC2) -> Float64\n\n\nGet EXAC2 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::EXAC2) -> Float64\n\n\nGet EXAC2 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_lr-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_V_lr","text":"get_V_lr(value::EXAC2) -> Float64\n\n\nGet EXAC2 V_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::EXAC2) -> Float64\n\n\nGet EXAC2 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::EXAC2\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXAC2 Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::EXAC2\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXAC2 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::EXAC2) -> Dict{String, Any}\n\n\nGet EXAC2 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::EXAC2) -> Int64\n\n\nGet EXAC2 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::EXAC2\n) -> Tuple{Float64, Float64}\n\n\nGet EXAC2 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::EXAC2) -> Vector{Symbol}\n\n\nGet EXAC2 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{EXAC2}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::EXAC2) -> Vector{StateTypes}\n\n\nGet EXAC2 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kb!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kb!","text":"set_Kb!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kh!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kh!","text":"set_Kh!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kh.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kl!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Kl!","text":"set_Kl!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Kl.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_lr!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_V_lr!","text":"set_V_lr!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 V_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{EXAC2, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::EXAC2, val) -> Any\n\n\nSet EXAC2 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EXPIC1","page":"AVR","title":"EXPIC1","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EXPIC1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.EXPIC1","page":"AVR","title":"PowerSystems.EXPIC1","text":"mutable struct EXPIC1 <: AVR\n Tr::Float64\n Ka::Float64\n Ta::Float64\n Va_lim::MinMax\n Ta_2::Float64\n Ta_3::Float64\n Ta_4::Float64\n Vr_lim::MinMax\n Kf::Float64\n Tf_1::Float64\n Tf_2::Float64\n Efd_lim::MinMax\n Ke::Float64\n Te::Float64\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n Kp::Float64\n Ki::Float64\n Kc::Float64\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nGeneric Proportional/Integral Excitation System\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, 0.5)\nKa::Float64: Voltage regulator gain, validation range: (1, 500)\nTa::Float64: Voltage regulator time constant in s, validation range: (0, 10)\nVa_lim::MinMax: Limits for pi controler (Vr_min, Vr_max)\nTa_2::Float64: Voltage regulator time constant in s, validation range: (0, nothing)\nTa_3::Float64: Voltage regulator time constant in s, validation range: (0, nothing)\nTa_4::Float64: Voltage regulator time constant in s, validation range: (0, nothing)\nVr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)\nKf::Float64: Rate feedback gain, validation range: (0, 0.3)\nTf_1::Float64: Rate Feedback time constant in s, validation range: (eps(), 15)\nTf_2::Float64: Rate Feedback time constant in s, validation range: (0, 5)\nEfd_lim::MinMax: Field Voltage regulator limits (regulator output) (Efdmin, Efdmax)\nKe::Float64: Exciter constant, validation range: (0, 1)\nTe::Float64: Exciter time constant, validation range: (0, 2)\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nKp::Float64: Potential source gain, validation range: (0, 5)\nKi::Float64: current source gain, validation range: (0, 1.1)\nKc::Float64: Exciter regulation factor, validation range: (0, 2)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed terminal voltage,\nVr1: First Lead-lag state,\nVr2: Second regulator lead-lag state,\nVr2: Third regulator lead-lag state \nVf: Exciter output \nVr3: First feedback integrator,\nVr4: second feedback integrator\n\nn_states::Int: (Do not modify.) EXPIC1 has 6 states\nstates_types::Vector{StateTypes}: (Do not modify.) EXPIC has 6 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::EXPIC1) -> Tuple{Float64, Float64}\n\n\nGet EXPIC1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Efd_lim-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Efd_lim","text":"get_Efd_lim(\n value::EXPIC1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXPIC1 Efd_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ki-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ki","text":"get_Ki(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kp-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Kp","text":"get_Kp(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::EXPIC1) -> Tuple{Float64, Float64}\n\n\nGet EXPIC1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta_2-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ta_2","text":"get_Ta_2(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ta_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta_3-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ta_3","text":"get_Ta_3(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ta_3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta_4-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Ta_4","text":"get_Ta_4(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Ta_4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf_1-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Tf_1","text":"get_Tf_1(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Tf_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf_2-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Tf_2","text":"get_Tf_2(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Tf_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::EXPIC1) -> Float64\n\n\nGet EXPIC1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::EXPIC1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXPIC1 Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::EXPIC1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXPIC1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::EXPIC1) -> Dict{String, Any}\n\n\nGet EXPIC1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::EXPIC1) -> Int64\n\n\nGet EXPIC1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::EXPIC1\n) -> Tuple{Float64, Float64}\n\n\nGet EXPIC1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::EXPIC1) -> Vector{Symbol}\n\n\nGet EXPIC1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{EXPIC1}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::EXPIC1) -> Vector{StateTypes}\n\n\nGet EXPIC1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Efd_lim!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Efd_lim!","text":"set_Efd_lim!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Efd_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ki!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ki!","text":"set_Ki!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kp!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Kp!","text":"set_Kp!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta_2!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ta_2!","text":"set_Ta_2!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ta_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta_3!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ta_3!","text":"set_Ta_3!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ta_3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta_4!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Ta_4!","text":"set_Ta_4!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Ta_4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf_1!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Tf_1!","text":"set_Tf_1!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Tf_1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf_2!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Tf_2!","text":"set_Tf_2!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Tf_2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{EXPIC1, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::EXPIC1, val) -> Any\n\n\nSet EXPIC1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#IEEET1","page":"AVR","title":"IEEET1","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/IEEET1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.IEEET1","page":"AVR","title":"PowerSystems.IEEET1","text":"mutable struct IEEET1 <: AVR\n Tr::Float64\n Ka::Float64\n Ta::Float64\n Vr_lim::MinMax\n Ke::Float64\n Te::Float64\n Kf::Float64\n Tf::Float64\n switch::Int\n E_sat::Tuple{Float64, Float64}\n Se::Tuple{Float64, Float64}\n V_ref::Float64\n saturation_coeffs::Tuple{Float64, Float64}\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\n1968 IEEE type 1 excitation system model\n\nArguments\n\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, 0.5)\nKa::Float64: Amplifier Gain, validation range: (10, 500)\nTa::Float64: Amplifier Time Constant in s, validation range: (0, 1)\nVr_lim::MinMax: Voltage regulator limits (regulator output) (Vimin, Vimax)\nKe::Float64: Exciter constant related to self-excited field, validation range: (-1, 1)\nTe::Float64: Exciter time constant, integration rate associated with exciter control, validation range: (eps(), 1)\nKf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3)\nTf::Float64: Excitation control system stabilizer time constant. Appropiate Data: 5 <= Tf/Kf <= 15, validation range: (eps(), nothing)\nswitch::Int: Switch, validation range: (0, 1)\nE_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)\nSe::Tuple{Float64, Float64}: Exciter saturation factor at exciter output voltage: (Se(E1), Se(E2))\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\nsaturation_coeffs::Tuple{Float64, Float64}: (default: PowerSystems.get_avr_saturation(E_sat, Se)) (Do not modify.) Coefficients (A,B) of the function: Se(V) = B(V - A)^2/V\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVt: Terminal Voltage,\nVr: Regulator Output,\nVf: Exciter Output, \nVr3: Rate feedback integrator\n\nn_states::Int: (Do not modify.) The IEEET1 has 4 states\nstates_types::Vector{StateTypes}: (Do not modify.) IEEET1 I has 4 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_sat-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::IEEET1) -> Tuple{Float64, Float64}\n\n\nGet IEEET1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::IEEET1) -> Float64\n\n\nGet IEEET1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::IEEET1) -> Float64\n\n\nGet IEEET1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::IEEET1) -> Float64\n\n\nGet IEEET1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::IEEET1) -> Tuple{Float64, Float64}\n\n\nGet IEEET1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::IEEET1) -> Float64\n\n\nGet IEEET1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::IEEET1) -> Float64\n\n\nGet IEEET1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::IEEET1) -> Float64\n\n\nGet IEEET1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::IEEET1) -> Float64\n\n\nGet IEEET1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::IEEET1) -> Float64\n\n\nGet IEEET1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::IEEET1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet IEEET1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::IEEET1) -> Dict{String, Any}\n\n\nGet IEEET1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::IEEET1) -> Int64\n\n\nGet IEEET1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::IEEET1\n) -> Tuple{Float64, Float64}\n\n\nGet IEEET1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::IEEET1) -> Vector{Symbol}\n\n\nGet IEEET1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::IEEET1) -> Vector{StateTypes}\n\n\nGet IEEET1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_switch-Tuple{IEEET1}","page":"AVR","title":"PowerSystems.get_switch","text":"get_switch(value::IEEET1) -> Int64\n\n\nGet IEEET1 switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_switch!-Tuple{IEEET1, Any}","page":"AVR","title":"PowerSystems.set_switch!","text":"set_switch!(value::IEEET1, val) -> Any\n\n\nSet IEEET1 switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EX4VSA","page":"AVR","title":"EX4VSA","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EX4VSA.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.get_E_lim-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_E_lim","text":"get_E_lim(\n value::PowerSystems.EX4VSA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EX4VSA E_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_G-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_G","text":"get_G(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA G.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Iflim-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Iflim","text":"get_Iflim(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA Iflim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K1-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_K1","text":"get_K1(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA K1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K2-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_K2","text":"get_K2(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA K2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Oel_lim-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Oel_lim","text":"get_Oel_lim(\n value::PowerSystems.EX4VSA\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EX4VSA Oel_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Spar-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Spar","text":"get_Spar(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA Spar.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_d-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_d","text":"get_d(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::PowerSystems.EX4VSA) -> Dict{String, Any}\n\n\nGet EX4VSA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_f-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_f","text":"get_f(value::PowerSystems.EX4VSA) -> Float64\n\n\nGet EX4VSA f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::PowerSystems.EX4VSA) -> Int64\n\n\nGet EX4VSA n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{PowerSystems.EX4VSA}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::PowerSystems.EX4VSA) -> Vector{Symbol}\n\n\nGet EX4VSA states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_lim!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_E_lim!","text":"set_E_lim!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA E_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_G!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_G!","text":"set_G!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA G.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Iflim!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Iflim!","text":"set_Iflim!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Iflim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K1!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_K1!","text":"set_K1!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA K1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K2!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_K2!","text":"set_K2!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA K2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Oel_lim!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Oel_lim!","text":"set_Oel_lim!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Oel_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Spar!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Spar!","text":"set_Spar!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Spar.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_d!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_d!","text":"set_d!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA d.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_f!-Tuple{PowerSystems.EX4VSA, Any}","page":"AVR","title":"PowerSystems.set_f!","text":"set_f!(value::PowerSystems.EX4VSA, val) -> Any\n\n\nSet EX4VSA f.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#EXST1","page":"AVR","title":"EXST1","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/EXST1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kc-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Kc","text":"get_Kc(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kf-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Kf","text":"get_Kf(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tc-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Tc","text":"get_Tc(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tf-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Tf","text":"get_Tf(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::PowerSystems.EXST1) -> Float64\n\n\nGet EXST1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vi_lim-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Vi_lim","text":"get_Vi_lim(\n value::PowerSystems.EXST1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXST1 Vi_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::PowerSystems.EXST1\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet EXST1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::PowerSystems.EXST1) -> Dict{String, Any}\n\n\nGet EXST1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::PowerSystems.EXST1) -> Int64\n\n\nGet EXST1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{PowerSystems.EXST1}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::PowerSystems.EXST1) -> Vector{Symbol}\n\n\nGet EXST1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kc!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Kc!","text":"set_Kc!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Kc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kf!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Kf!","text":"set_Kf!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Kf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tc!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Tc!","text":"set_Tc!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Tc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tf!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Tf!","text":"set_Tf!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Tf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vi_lim!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Vi_lim!","text":"set_Vi_lim!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Vi_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{PowerSystems.EXST1, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::PowerSystems.EXST1, val) -> Any\n\n\nSet EXST1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#SCRX","page":"AVR","title":"SCRX","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/SCRX.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.SCRX","page":"AVR","title":"PowerSystems.SCRX","text":"mutable struct SCRX <: AVR\n Ta_Tb::Float64\n Tb::Float64\n K::Float64\n Te::Float64\n Efd_lim::MinMax\n switch::Int\n rc_rfd::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nThis exciter is based on an IEEE type SCRX solid state exciter. The output field voltage is varied by a control system to maintain the system voltage at Vref. Please note that this exciter model has no initialization capabilities - this means that it will respond to whatever inputs it receives regardless of the state of the machine model\n\nArguments\n\nTa_Tb::Float64: Lead input constant ratio, validation range: (0.05, 0.3)\nTb::Float64: Lag input constant in s, validation range: (5, 20)\nK::Float64: Regulator Gain, validation range: (20, 100)\nTe::Float64: Regulator Time Constant, validation range: (0, 1)\nEfd_lim::MinMax: Field Voltage regulator limits (regulator output) (Efdmin, Efdmax)\nswitch::Int: Switch, validation range: (0, 1)\nrc_rfd::Float64: Field current capability. Set = 0 for negative current capability. Typical value 10, validation range: (0, 10)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVr1: First integrator,\nVr2: Second integrator\n\nn_states::Int: (Do not modify.) SCRX has 2 states\nstates_types::Vector{StateTypes}: (Do not modify.) SCRX has 2 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_Efd_lim-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_Efd_lim","text":"get_Efd_lim(\n value::SCRX\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet SCRX Efd_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_K","text":"get_K(value::SCRX) -> Float64\n\n\nGet SCRX K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta_Tb-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_Ta_Tb","text":"get_Ta_Tb(value::SCRX) -> Float64\n\n\nGet SCRX Ta_Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::SCRX) -> Float64\n\n\nGet SCRX Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::SCRX) -> Float64\n\n\nGet SCRX Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::SCRX) -> Float64\n\n\nGet SCRX V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::SCRX) -> Dict{String, Any}\n\n\nGet SCRX ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::SCRX) -> Int64\n\n\nGet SCRX n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_rc_rfd-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_rc_rfd","text":"get_rc_rfd(value::SCRX) -> Float64\n\n\nGet SCRX rc_rfd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::SCRX) -> Vector{Symbol}\n\n\nGet SCRX states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::SCRX) -> Vector{StateTypes}\n\n\nGet SCRX states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_switch-Tuple{SCRX}","page":"AVR","title":"PowerSystems.get_switch","text":"get_switch(value::SCRX) -> Int64\n\n\nGet SCRX switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Efd_lim!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_Efd_lim!","text":"set_Efd_lim!(value::SCRX, val) -> Any\n\n\nSet SCRX Efd_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_K!","text":"set_K!(value::SCRX, val) -> Any\n\n\nSet SCRX K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta_Tb!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_Ta_Tb!","text":"set_Ta_Tb!(value::SCRX, val) -> Any\n\n\nSet SCRX Ta_Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::SCRX, val) -> Any\n\n\nSet SCRX Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::SCRX, val) -> Any\n\n\nSet SCRX Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::SCRX, val) -> Any\n\n\nSet SCRX V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::SCRX, val) -> Any\n\n\nSet SCRX ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_rc_rfd!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_rc_rfd!","text":"set_rc_rfd!(value::SCRX, val) -> Any\n\n\nSet SCRX rc_rfd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::SCRX, val) -> Any\n\n\nSet SCRX states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_switch!-Tuple{SCRX, Any}","page":"AVR","title":"PowerSystems.set_switch!","text":"set_switch!(value::SCRX, val) -> Any\n\n\nSet SCRX switch.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#SEXS","page":"AVR","title":"SEXS","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/SEXS.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.SEXS","page":"AVR","title":"PowerSystems.SEXS","text":"mutable struct SEXS <: AVR\n Ta_Tb::Float64\n Tb::Float64\n K::Float64\n Te::Float64\n V_lim::MinMax\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n states_types::Vector{StateTypes}\n internal::InfrastructureSystemsInternal\nend\n\nParameters of Simplified Excitation System Model - SEXS in PSSE\n\nArguments\n\nTa_Tb::Float64: Ratio of lead and lag time constants, validation range: (0, nothing)\nTb::Float64: Lag time constant, validation range: (eps(), nothing)\nK::Float64: Gain, validation range: (0, nothing)\nTe::Float64: Field circuit time constant in s, validation range: (0, nothing)\nV_lim::MinMax: Field voltage limits\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\tVf: Voltage field,\tVr: Lead-lag state\nn_states::Int: (Do not modify.) SEXS has 2 states\nstates_types::Vector{StateTypes}: (Do not modify.) SEXS has 2 differential states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_AVR/#PowerSystems.get_K-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_K","text":"get_K(value::SEXS) -> Float64\n\n\nGet SEXS K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta_Tb-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_Ta_Tb","text":"get_Ta_Tb(value::SEXS) -> Float64\n\n\nGet SEXS Ta_Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tb-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_Tb","text":"get_Tb(value::SEXS) -> Float64\n\n\nGet SEXS Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::SEXS) -> Float64\n\n\nGet SEXS Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_lim-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_V_lim","text":"get_V_lim(\n value::SEXS\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet SEXS V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::SEXS) -> Float64\n\n\nGet SEXS V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::SEXS) -> Dict{String, Any}\n\n\nGet SEXS ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::SEXS) -> Int64\n\n\nGet SEXS n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::SEXS) -> Vector{Symbol}\n\n\nGet SEXS states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{SEXS}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::SEXS) -> Vector{StateTypes}\n\n\nGet SEXS states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_K!","text":"set_K!(value::SEXS, val) -> Any\n\n\nSet SEXS K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta_Tb!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_Ta_Tb!","text":"set_Ta_Tb!(value::SEXS, val) -> Any\n\n\nSet SEXS Ta_Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tb!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::SEXS, val) -> Any\n\n\nSet SEXS Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::SEXS, val) -> Any\n\n\nSet SEXS Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_lim!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_V_lim!","text":"set_V_lim!(value::SEXS, val) -> Any\n\n\nSet SEXS V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::SEXS, val) -> Any\n\n\nSet SEXS V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::SEXS, val) -> Any\n\n\nSet SEXS ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{SEXS, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::SEXS, val) -> Any\n\n\nSet SEXS states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#ThermalMultiStart","page":"ThermalMultiStart","title":"ThermalMultiStart","text":"","category":"section"},{"location":"model_library/generated_ThermalMultiStart/","page":"ThermalMultiStart","title":"ThermalMultiStart","text":"Modules = [PowerSystems]\nPages = [\"generated/ThermalMultiStart.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.ThermalMultiStart","page":"ThermalMultiStart","title":"PowerSystems.ThermalMultiStart","text":"mutable struct ThermalMultiStart <: ThermalGen\n name::String\n available::Bool\n status::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n rating::Float64\n prime_mover_type::PrimeMovers\n fuel::ThermalFuels\n active_power_limits::MinMax\n reactive_power_limits::Union{Nothing, MinMax}\n ramp_limits::Union{Nothing, UpDown}\n power_trajectory::Union{Nothing, StartUpShutDown}\n time_limits::Union{Nothing, UpDown}\n start_time_limits::Union{Nothing, StartUpStages}\n start_types::Int\n operation_cost::Union{ThermalGenerationCost, MarketBidCost}\n base_power::Float64\n services::Vector{Service}\n time_at_status::Float64\n must_run::Bool\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA thermal generator, such as a fossil fuel or nuclear generator, that can start-up again from a hot, warm, or cold state.\n\nThermalMultiStart has a detailed representation of the start-up process based on the time elapsed since the last shut down, as well as a detailed shut-down process. The model is based on \"Tight and Compact MILP Formulation for the Thermal Unit Commitment Problem.\". For a simplified representation of the start-up and shut-down processes, see ThermalStandard\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nstatus::Bool: Initial commitment condition at the start of a simulation (true = on or false = off)\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Initial active power set point of the unit in MW. For power flow, this is the steady state operating point of the system. For production cost modeling, this may or may not be used as the initial starting point for the solver, depending on the solver used, validation range: active_power_limits\nreactive_power::Float64: Initial reactive power set point of the unit (MVAR), validation range: reactive_power_limits\nrating::Float64: Maximum output power rating of the unit (MVA), validation range: (0, nothing)\nprime_mover_type::PrimeMovers: Prime mover technology according to EIA 923. Options are listed here\nfuel::ThermalFuels: Prime mover fuel according to EIA 923. Options are listed here\nactive_power_limits::MinMax: Minimum and maximum stable active power levels (MW)\nreactive_power_limits::Union{Nothing, MinMax}: Minimum and maximum reactive power limits. Set to Nothing if not applicable\nramp_limits::Union{Nothing, UpDown}:, validation range: (0, nothing)\npower_trajectory::Union{Nothing, StartUpShutDown}: Power trajectory the unit will take during the start-up and shut-down ramp process, validation range: (0, nothing)\ntime_limits::Union{Nothing, UpDown}: Minimum up and Minimum down time limits in hours, validation range: (0, nothing)\nstart_time_limits::Union{Nothing, StartUpStages}: Time limits for start-up based on turbine temperature in hours\nstart_types::Int: Number of start-up based on turbine temperature, where 1 = hot, 2 = warm, and 3 = cold, validation range: (1, 3)\noperation_cost::Union{ThermalGenerationCost, MarketBidCost}: Operating cost of generation\nbase_power::Float64: Base power of the unit (MVA) for per unitization, which is commonly the same as rating, validation range: (0, nothing)\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ntime_at_status::Float64: (default: INFINITE_TIME) Time (e.g., Hours(6)) the generator has been on or off, as indicated by status\nmust_run::Bool: (default: false) Set to true if the unit is must run\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_ThermalMultiStart/#InfrastructureSystems.get_name-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"InfrastructureSystems.get_name","text":"get_name(value::ThermalMultiStart) -> String\n\n\nGet ThermalMultiStart name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_active_power-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_active_power","text":"get_active_power(value::ThermalMultiStart) -> Any\n\n\nGet ThermalMultiStart active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_active_power_limits-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_active_power_limits","text":"get_active_power_limits(\n value::ThermalMultiStart\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet ThermalMultiStart active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_available-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_available","text":"get_available(value::ThermalMultiStart) -> Bool\n\n\nGet ThermalMultiStart available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_base_power-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_base_power","text":"get_base_power(value::ThermalMultiStart) -> Float64\n\n\nGet ThermalMultiStart base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_bus-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_bus","text":"get_bus(value::ThermalMultiStart) -> ACBus\n\n\nGet ThermalMultiStart bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_dynamic_injector-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::ThermalMultiStart\n) -> Union{Nothing, DynamicInjection}\n\n\nGet ThermalMultiStart dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_ext-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_ext","text":"get_ext(value::ThermalMultiStart) -> Dict{String, Any}\n\n\nGet ThermalMultiStart ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_fuel-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_fuel","text":"get_fuel(value::ThermalMultiStart) -> ThermalFuels\n\n\nGet ThermalMultiStart fuel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_must_run-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_must_run","text":"get_must_run(value::ThermalMultiStart) -> Bool\n\n\nGet ThermalMultiStart must_run.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_operation_cost-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_operation_cost","text":"get_operation_cost(\n value::ThermalMultiStart\n) -> Union{MarketBidCost, ThermalGenerationCost}\n\n\nGet ThermalMultiStart operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_power_trajectory-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_power_trajectory","text":"get_power_trajectory(\n value::ThermalMultiStart\n) -> Union{Nothing, NamedTuple{(:startup, :shutdown), <:Tuple{Any, Any}}}\n\n\nGet ThermalMultiStart power_trajectory.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_prime_mover_type-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_prime_mover_type","text":"get_prime_mover_type(\n value::ThermalMultiStart\n) -> PrimeMovers\n\n\nGet ThermalMultiStart prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_ramp_limits-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_ramp_limits","text":"get_ramp_limits(\n value::ThermalMultiStart\n) -> Union{Nothing, NamedTuple{(:up, :down), <:Tuple{Any, Any}}}\n\n\nGet ThermalMultiStart ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_rating-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_rating","text":"get_rating(value::ThermalMultiStart) -> Any\n\n\nGet ThermalMultiStart rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_reactive_power-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::ThermalMultiStart) -> Any\n\n\nGet ThermalMultiStart reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_reactive_power_limits-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_reactive_power_limits","text":"get_reactive_power_limits(\n value::ThermalMultiStart\n) -> Union{Nothing, NamedTuple{(:min, :max), <:Tuple{Any, Any}}}\n\n\nGet ThermalMultiStart reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_services-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_services","text":"get_services(value::ThermalMultiStart) -> Vector{Service}\n\n\nGet ThermalMultiStart services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_start_time_limits-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_start_time_limits","text":"get_start_time_limits(\n value::ThermalMultiStart\n) -> Union{Nothing, @NamedTuple{hot::Float64, warm::Float64, cold::Float64}}\n\n\nGet ThermalMultiStart start_time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_start_types-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_start_types","text":"get_start_types(value::ThermalMultiStart) -> Int64\n\n\nGet ThermalMultiStart start_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_status-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_status","text":"get_status(value::ThermalMultiStart) -> Bool\n\n\nGet ThermalMultiStart status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_time_at_status-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_time_at_status","text":"get_time_at_status(value::ThermalMultiStart) -> Float64\n\n\nGet ThermalMultiStart time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.get_time_limits-Tuple{ThermalMultiStart}","page":"ThermalMultiStart","title":"PowerSystems.get_time_limits","text":"get_time_limits(\n value::ThermalMultiStart\n) -> Union{Nothing, @NamedTuple{up::Float64, down::Float64}}\n\n\nGet ThermalMultiStart time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_active_power!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_active_power_limits!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_active_power_limits!","text":"set_active_power_limits!(\n value::ThermalMultiStart,\n val\n) -> Any\n\n\nSet ThermalMultiStart active_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_available!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_available!","text":"set_available!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_base_power!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_bus!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_bus!","text":"set_bus!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_ext!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_ext!","text":"set_ext!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_fuel!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_fuel!","text":"set_fuel!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart fuel.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_must_run!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_must_run!","text":"set_must_run!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart must_run.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_operation_cost!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_operation_cost!","text":"set_operation_cost!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart operation_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_power_trajectory!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_power_trajectory!","text":"set_power_trajectory!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart power_trajectory.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_prime_mover_type!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_prime_mover_type!","text":"set_prime_mover_type!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart prime_mover_type.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_ramp_limits!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_ramp_limits!","text":"set_ramp_limits!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart ramp_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_rating!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_rating!","text":"set_rating!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart rating.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_reactive_power!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_reactive_power_limits!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_reactive_power_limits!","text":"set_reactive_power_limits!(\n value::ThermalMultiStart,\n val\n) -> Any\n\n\nSet ThermalMultiStart reactive_power_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_services!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_services!","text":"set_services!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_start_time_limits!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_start_time_limits!","text":"set_start_time_limits!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart start_time_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_start_types!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_start_types!","text":"set_start_types!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart start_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_status!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_status!","text":"set_status!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_time_at_status!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_time_at_status!","text":"set_time_at_status!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart time_at_status.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ThermalMultiStart/#PowerSystems.set_time_limits!-Tuple{ThermalMultiStart, Any}","page":"ThermalMultiStart","title":"PowerSystems.set_time_limits!","text":"set_time_limits!(value::ThermalMultiStart, val) -> Any\n\n\nSet ThermalMultiStart time_limits.\n\n\n\n\n\n","category":"method"},{"location":"tutorials/basics/#Basics","page":"Introduction","title":"Basics","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"This tutorial shows some basic operations that you can do in PowerSystems.jl with your data.","category":"page"},{"location":"tutorials/basics/#Load-Packages","page":"Introduction","title":"Load Packages","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"using PowerSystems\n# For displaying subtypes\nimport TypeTree: tt\ndocs_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"utils\");\ninclude(joinpath(docs_dir, \"docs_utils.jl\")) #hide","category":"page"},{"location":"tutorials/basics/#Types-in-PowerSystems","page":"Introduction","title":"Types in PowerSystems","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"PowerSystems.jl provides a type hierarchy for specifying power system data. Data that describes infrastructure components is held in structs. For example, a Bus is defined as follows with fields for the parameters required to describe a bus (along with an internal field used by InfrastructureSystems to improve the efficiency of handling data).","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"print_struct(ACBus)","category":"page"},{"location":"tutorials/basics/#Type-Hierarchy","page":"Introduction","title":"Type Hierarchy","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"PowerSystems is intended to organize data containers by the behavior of the devices that the data represents. To that end, a type hierarchy has been defined with several levels of abstract types starting with InfrastructureSystemsType. There are a bunch of subtypes of InfrastructureSystemsType, but the important ones to know about are:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"Component: includes all elements of power system data\nTopology: includes non physical elements describing network connectivity\nService: includes descriptions of system requirements (other than energy balance)\nDevice: includes descriptions of all the physical devices in a power system\nInfrastructureSystems.DeviceParameter: includes structs that hold data describing the","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"dynamic, or economic capabilities of Device.","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"TimeSeriesData: Includes all time series types\nForecast: includes structs to define time series of forecasted data where multiple","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"values can represent each time stamp","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"StaticTimeSeries: includes structs to define time series with a single value for each","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"time stamp","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"System: collects all of the Components","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"The following code displays the hierarchy, but concrete types are omitted for brevity:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"print(join(tt(PowerSystems.IS.InfrastructureSystemsType, concrete = false), \"\"))","category":"page"},{"location":"tutorials/basics/#TimeSeriesData","page":"Introduction","title":"TimeSeriesData","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"Read the Docs! Some Component types support time series data (refer to supports_time_series(component). TimeSeriesData are used to hold time series information that describes the temporally dependent data of fields within the same struct. For example, the ThermalStandard.time_series_container field can describe other fields in the struct (available, activepower, reactivepower).","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"TimeSeriesDatas themselves can take the form of the following:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"print(join(tt(TimeSeriesData), \"\"))","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"In each case, the time series contains fields for scaling_factor_multiplier and data to identify the details of th Component field that the time series describes, and the time series data. For example: we commonly want to use a time series to describe the maximum active power capability of a renewable generator. In this case, we can create a SingleTimeSeries with a TimeArray and an accessor function to the maximum active power field in the struct describing the generator. In this way, we can store a scaling factor time series that will get multiplied by the maximum active power rather than the magnitudes of the maximum active power time series.","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"print_struct(Deterministic)","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"Examples of how to create and add time series to system can be found in the Add Time Series Example","category":"page"},{"location":"tutorials/basics/#System","page":"Introduction","title":"System","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"The System object collects all of the individual components into a single struct along with some metadata about the system itself (e.g. base_power)","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"print_struct(System)","category":"page"},{"location":"tutorials/basics/#Example-Code","page":"Introduction","title":"Example Code","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"PowerSystems contains a few basic data files (mostly for testing and demonstration). These can be found here:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"BASE_DIR = abspath(joinpath(dirname(Base.find_package(\"PowerSystems\")), \"..\")) #hide\ninclude(joinpath(BASE_DIR, \"test\", \"data_5bus_pu.jl\")); #.jl file containing 5-bus system data\nnodes_5 = nodes5() # function to create 5-bus buses\nthermal_generators5(nodes_5) # function to create thermal generators in 5-bus buses\nrenewable_generators5(nodes_5) # function to create renewable generators in 5-bus buses\nloads5(nodes_5) # function to create the loads\nbranches5(nodes_5) # function to create the branches","category":"page"},{"location":"tutorials/basics/#Create-a-System","page":"Introduction","title":"Create a System","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"sys = System(\n 100.0,\n nodes_5,\n vcat(\n thermal_generators5(nodes_5),\n renewable_generators5(nodes_5)),\n loads5(nodes_5),\n branches5(nodes_5),\n)","category":"page"},{"location":"tutorials/basics/#Accessing-System-Data","page":"Introduction","title":"Accessing System Data","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"PowerSystems provides functional interfaces to all data. The following examples outline the intended approach to accessing data expressed using PowerSystems.","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"PowerSystems enforces unique name fields between components of a particular concrete type. So, in order to retrieve a specific component, the user must specify the type of the component along with the name and system","category":"page"},{"location":"tutorials/basics/#Accessing-components","page":"Introduction","title":"Accessing components","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"get_component(ACBus, sys, \"nodeA\")\nget_component(Line, sys, \"1\")","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"Similarly, you can access all the components of a particular type: *note: the return type of get_components is a FlattenIteratorWrapper, so call collect to get an Array","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"get_components(ACBus, sys) |> collect","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"get_components also works on abstract types:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"get_components(Branch, sys) |> collect","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"The fields within a component can be accessed using the get_* functions: It's highly recommended that users avoid using the . to access fields since we make no guarantees on the stability field names and locations. We do however promise to keep the accessor functions stable.","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"bus1 = get_component(ACBus, sys, \"nodeA\")\n@show get_name(bus1);\n@show get_magnitude(bus1);\nnothing #hide","category":"page"},{"location":"tutorials/basics/#Accessing-TimeSeries","page":"Introduction","title":"Accessing TimeSeries","text":"","category":"section"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"First we need to add some time series to the System","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"loads = collect(get_components(PowerLoad, sys))\nfor (l, ts) in zip(loads, load_timeseries_DA[2])\n add_time_series!(\n sys,\n l,\n Deterministic(\n \"activepower\",\n Dict(TimeSeries.timestamp(load_timeseries_DA[2][1])[1] => ts),\n ),\n )\nend","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"If we want to access a specific time series for a specific component, we need to specify:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"time series type\ncomponent\ninitial_time\nlabel","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"We can find the initial time of all the time series in the system:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"get_forecast_initial_times(sys)","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"We can find the names of all time series attached to a component:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"show_time_series(loads[1])","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"We can access a specific time series for a specific component:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"ta = get_time_series_array(Deterministic, loads[1], ts_names[1])","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"Or, we can just get the values of the time series:","category":"page"},{"location":"tutorials/basics/","page":"Introduction","title":"Introduction","text":"ts = get_time_series_values(Deterministic, loads[1], ts_names[1])","category":"page"},{"location":"api/public/#Public-API-Reference","page":"Public API Reference","title":"Public API Reference","text":"","category":"section"},{"location":"api/public/#Modeling","page":"Public API Reference","title":"Modeling","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"PowerSystems.jl\",\n \"branches.jl\",\n \"components.jl\",\n \"injection.jl\",\n \"devices.jl\",\n \"loads.jl\",\n \"supplemental_constructors\",\n \"generation.jl\",\n \"reserves.jl\",\n \"storage.jl\",\n \"services.jl\",\n \"outages.jl\",\n \"topological_elements.jl\",\n \"dynamic_models.jl\",\n \"static_models.jl\",\n \"static_injection_subsystem.jl\",\n \"dynamic_models.jl\",\n \"operational_cost.jl\",\n \"cost_functions/ValueCurves.jl\",\n \"cost_function_timeseries.jl\",\n \"definitions.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"api/public/#PowerSystems.PowerSystems","page":"Public API Reference","title":"PowerSystems.PowerSystems","text":"Module for constructing self-contained power system objects.\n\n\n\n\n\n","category":"module"},{"location":"api/public/#PowerSystems.Component","page":"Public API Reference","title":"PowerSystems.Component","text":"Supertype for all PowerSystems components. All subtypes must include a InfrastructureSystemsInternal member. Subtypes should call InfrastructureSystemsInternal() by default, but also must provide a constructor that allows existing values to be deserialized.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.Device","page":"Public API Reference","title":"PowerSystems.Device","text":"Supertype for \"devices\" (bus, line, etc.) \n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.get_base_power-Tuple{Component}","page":"Public API Reference","title":"PowerSystems.get_base_power","text":"get_base_power(c::Component) -> Float64\n\n\nDefault behavior of a component. If there is no base_power field, assume is in the system's base power.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_dynamic_injector!-Union{Tuple{U}, Tuple{T}, Tuple{T, U}} where {T<:StaticInjection, U<:Union{Nothing, DynamicInjection}}","page":"Public API Reference","title":"PowerSystems.set_dynamic_injector!","text":"set_dynamic_injector!(\n static_injector::StaticInjection,\n dynamic_injector::Union{Nothing, DynamicInjection}\n)\n\n\nAny StaticInjection struct that wants to support dynamic injectors must implement this method to set the value.\n\nThe method is only for internal uses.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.clear_services!-Tuple{Device}","page":"Public API Reference","title":"PowerSystems.clear_services!","text":"clear_services!(device::Device)\n\n\nRemove all services attached to the device.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.has_service-Tuple{Device, Service}","page":"Public API Reference","title":"PowerSystems.has_service","text":"has_service(device::Device, service::Service) -> Bool\n\n\nReturn true if the service is attached to the device.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.has_service-Union{Tuple{T}, Tuple{Device, Type{T}}} where T<:Service","page":"Public API Reference","title":"PowerSystems.has_service","text":"has_service(device::Device, _::Type{T<:Service}) -> Bool\n\n\nReturn true if a service with type T is attached to the device.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_service!-Tuple{Device, Service}","page":"Public API Reference","title":"PowerSystems.remove_service!","text":"remove_service!(device::Device, service::Service)\n\n\nRemove a service from a device.\n\nThrows ArgumentError if the service is not attached to the device.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.ControllableLoad","page":"Public API Reference","title":"PowerSystems.ControllableLoad","text":"Supertype for all controllable loads\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.ElectricLoad","page":"Public API Reference","title":"PowerSystems.ElectricLoad","text":"Supertype for all electric loads\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.StaticLoad","page":"Public API Reference","title":"PowerSystems.StaticLoad","text":"Supertype for all static electric loads\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.Generator","page":"Public API Reference","title":"PowerSystems.Generator","text":"Supertype for all generation technologies\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.HydroGen","page":"Public API Reference","title":"PowerSystems.HydroGen","text":"Supertype for all Hydropower generation technologies\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.RenewableGen","page":"Public API Reference","title":"PowerSystems.RenewableGen","text":"Supertype for all renewable generation technologies\n\nRequires the implementation of get_ratingand get_power_factor methods\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.ThermalGen","page":"Public API Reference","title":"PowerSystems.ThermalGen","text":"Supertype for all Thermal generation technologies\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.get_max_active_power-Tuple{T} where T<:RenewableGen","page":"Public API Reference","title":"PowerSystems.get_max_active_power","text":"get_max_active_power(d::RenewableGen) -> Any\n\n\nReturn the max active power for the Renewable Generation calculated as the rating * power_factor\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_max_reactive_power-Tuple{T} where T<:RenewableGen","page":"Public API Reference","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(d::RenewableGen) -> Any\n\n\nReturn the max reactive power for the Renewable Generation calculated as the rating * sin(acos(power_factor))\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.Reserve","page":"Public API Reference","title":"PowerSystems.Reserve","text":"A reserve product to be able to respond to unexpected disturbances, such as the sudden loss of a transmission line or generator.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.ReserveDirection","page":"Public API Reference","title":"PowerSystems.ReserveDirection","text":"Used to specify if a Reserve is upwards, downwards, or symmetric\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.ReserveDown","page":"Public API Reference","title":"PowerSystems.ReserveDown","text":"A downwards reserve to decrease generation or increase load\n\nDownwards reserves are used when total load falls below its expected level, typically due to forecast errors or contingencies. Not work\n\nA Reserve can be specified as a ReserveDown when it is defined.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.ReserveSymmetric","page":"Public API Reference","title":"PowerSystems.ReserveSymmetric","text":"A symmetric reserve, procuring the same quantity (MW) of both upwards and downwards reserves\n\nA symmetric reserve is a special case. ReserveUp and ReserveDown can be used individually to specify different quantities of upwards and downwards reserves, respectively.\n\nA Reserve can be specified as a ReserveSymmetric when it is defined.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.ReserveUp","page":"Public API Reference","title":"PowerSystems.ReserveUp","text":"An upwards reserve to increase generation or reduce load\n\nUpwards reserves are used when total load exceeds its expected level, typically due to forecast errors or contingencies.\n\nA Reserve can be specified as a ReserveUp when it is defined.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.Storage","page":"Public API Reference","title":"PowerSystems.Storage","text":"Supertype for energy storage technologies\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.Service","page":"Public API Reference","title":"PowerSystems.Service","text":"Supertype for all system services\n\nServices (or ancillary services) include additional requirements and support to ensure reliable electricity service to customers. Common services are reserve products to be able to respond quickly to unexpected disturbances, such as the sudden loss of a transmission line or generator.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.GeometricDistributionForcedOutage","page":"Public API Reference","title":"PowerSystems.GeometricDistributionForcedOutage","text":"Attribute that contains information regarding forced outages where the transition probabilities are modeled with geometric distributions. The outage probabilities and recovery probabilities can be modeled as time series.\n\nArguments\n\ntime_to_recovery::Int: Time elapsed to recovery after a failure in Milliseconds.\noutage_transition_probability::Float64: Characterizes the probability of failure (1 - p) in the geometric distribution.\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.PlannedOutage","page":"Public API Reference","title":"PowerSystems.PlannedOutage","text":"Attribute that contains information regarding planned outages.\n\nArguments\n\noutage_schedule::String: String name of the time series used for the scheduled outages\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.TimeSeriesForcedOutage","page":"Public API Reference","title":"PowerSystems.TimeSeriesForcedOutage","text":"Attribute that contains the representation of the status of the component forced outage. The data can be obtained from the simulation of an stochastic process or historical information.\n\nArguments\n\noutage_status_scenario::String: String name of the time series used for the forced outage status in the model. 1 is used represent outaged and 0 for available.\ninternal::InfrastructureSystemsInternal: power system internal reference, do not modify\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.get_mean_time_to_recovery-Tuple{GeometricDistributionForcedOutage}","page":"Public API Reference","title":"PowerSystems.get_mean_time_to_recovery","text":"get_mean_time_to_recovery(\n value::GeometricDistributionForcedOutage\n) -> Float64\n\n\nGet GeometricDistributionForcedOutage time_to_recovery.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_outage_schedule-Tuple{PlannedOutage}","page":"Public API Reference","title":"PowerSystems.get_outage_schedule","text":"get_outage_schedule(value::PlannedOutage) -> String\n\n\nGet PlannedOutage outage_schedule.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_outage_transition_probability-Tuple{GeometricDistributionForcedOutage}","page":"Public API Reference","title":"PowerSystems.get_outage_transition_probability","text":"get_outage_transition_probability(\n value::GeometricDistributionForcedOutage\n) -> Float64\n\n\nGet GeometricDistributionForcedOutage outage_transition_probability.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.AggregationTopology","page":"Public API Reference","title":"PowerSystems.AggregationTopology","text":"Represents a geographical region of system components.\n\nAll subtypes must implement the method get_aggregation_topology_accessor.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.Bus","page":"Public API Reference","title":"PowerSystems.Bus","text":"Abstract type to represent any type of Bus, AC or DC.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.Topology","page":"Public API Reference","title":"PowerSystems.Topology","text":"Abstract type to represent the structure and interconnectedness of the system\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.get_aggregation_topology_accessor-Union{Tuple{Type{T}}, Tuple{T}} where T<:AggregationTopology","page":"Public API Reference","title":"PowerSystems.get_aggregation_topology_accessor","text":"get_aggregation_topology_accessor(\n _::Type{T<:AggregationTopology}\n) -> typeof(get_load_zone)\n\n\nReturn the method to be called on a ACBus to get its AggregationTopology value for this type.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.StaticInjection","page":"Public API Reference","title":"PowerSystems.StaticInjection","text":"Abstract type for devices that inject power or current\n\nA static injection is a steady state injection, such as modeling the output power of a generator held constant over a five-minute period.\n\nMany StaticInjection models can accept a DynamicInjection model as an optional add-on for conducting dynamic simulations.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.StaticInjectionSubsystem","page":"Public API Reference","title":"PowerSystems.StaticInjectionSubsystem","text":"Abstract type for a subsystem that contains multiple instances of StaticInjection\n\nSubtypes must implement:\n\nget_subcomponents(subsystem::StaticInjectionSubsystem)\n\nThe subcomponents in subtypes must be attached to the System as masked components.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.copy_subcomponent_time_series!-Tuple{StaticInjectionSubsystem, Component}","page":"Public API Reference","title":"PowerSystems.copy_subcomponent_time_series!","text":"copy_subcomponent_time_series!(\n subsystem::StaticInjectionSubsystem,\n subcomponent::Component\n)\n\n\nEfficiently add all time series data in the subcomponent to the subsystem by copying the underlying references.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.DynamicComponent","page":"Public API Reference","title":"PowerSystems.DynamicComponent","text":"Abstract type for all components used to compose a DynamicInjection device\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.DynamicInjection","page":"Public API Reference","title":"PowerSystems.DynamicInjection","text":"Abstract type for all Dynamic Devices\n\nA dynamic injection is the continuous time response of a generator, typically modeled with differential equations. \n\nDynamicInjection components can added on to StaticInjection components, which together define all the information needed to model the device in a dynamic simulation.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.get_dynamic_components-Tuple{T} where T<:DynamicInjection","page":"Public API Reference","title":"PowerSystems.get_dynamic_components","text":"get_dynamic_components(\n device::DynamicInjection\n) -> Base.Generator{I, F} where {I<:(Base.Iterators.Filter{PowerSystems.var\"#6#8\", I} where I<:(Base.Iterators.Zip{Is} where Is<:Tuple{Any, Tuple})), F<:(PowerSystems.var\"#5#7\"{<:DynamicInjection})}\n\n\nReturn all the dynamic components of a DynamicInjection device\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_states_types-Tuple{DynamicComponent}","page":"Public API Reference","title":"PowerSystems.get_states_types","text":"get_states_types(d::DynamicComponent) -> Vector{StateTypes}\n\n\nDefault implementation of get_state_types for dynamic components. Assumes all states are\nDifferential\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.OperationalCost","page":"Public API Reference","title":"PowerSystems.OperationalCost","text":"Supertype for operational cost representation in the model\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.AverageRateCurve","page":"Public API Reference","title":"PowerSystems.AverageRateCurve","text":"An average rate curve, relating the production quantity to the average cost rate from the origin: y = f(x)/x. Can be used, for instance, in the representation of a CostCurve where x is MW and y is currency/MWh, or in the representation of a FuelCurve where x is MW and y is fuel/MWh. Typically calculated by dividing absolute values of cost rate or fuel input rate by absolute values of electric power.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.IncrementalCurve","page":"Public API Reference","title":"PowerSystems.IncrementalCurve","text":"An incremental (or 'marginal') curve, relating the production quantity to the derivative of cost: y = f'(x). Can be used, for instance, in the representation of a CostCurve where x is MW and y is currency/MWh, or in the representation of a FuelCurve where x is MW and y is fuel/MWh.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.InputOutputCurve","page":"Public API Reference","title":"PowerSystems.InputOutputCurve","text":"An input-output curve, directly relating the production quantity to the cost: y = f(x). Can be used, for instance, in the representation of a CostCurve where x is MW and y is currency/hr, or in the representation of a FuelCurve where x is MW and y is fuel/hr.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.ValueCurve","page":"Public API Reference","title":"PowerSystems.ValueCurve","text":"Type that represents an abstract cost curve without units on the cost\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.is_convex-Tuple{ValueCurve}","page":"Public API Reference","title":"InfrastructureSystems.is_convex","text":"is_convex(curve::ValueCurve) -> Bool\n\n\nCalculate the convexity of the underlying data\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_function_data-Tuple{ValueCurve}","page":"Public API Reference","title":"PowerSystems.get_function_data","text":"get_function_data(curve::ValueCurve) -> Any\n\n\nGet the underlying FunctionData representation of this ValueCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_initial_input-Tuple{Union{AverageRateCurve, IncrementalCurve}}","page":"Public API Reference","title":"PowerSystems.get_initial_input","text":"get_initial_input(\n curve::Union{AverageRateCurve, IncrementalCurve}\n) -> Float64\n\n\nGet the initial_input field of this ValueCurve (not defined for InputOutputCurve)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_fuel_cost-Tuple{StaticInjection}","page":"Public API Reference","title":"PowerSystems.get_fuel_cost","text":"get_fuel_cost(\n component::StaticInjection;\n start_time,\n len\n) -> Union{Float64, TimeSeries.TimeArray}\n\n\nGet the fuel cost of the component's variable cost, which must be a FuelCurve.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_no_load_cost-Tuple{StaticInjection, MarketBidCost}","page":"Public API Reference","title":"PowerSystems.get_no_load_cost","text":"get_no_load_cost(\n device::StaticInjection,\n cost::MarketBidCost;\n start_time,\n len\n) -> Union{Float64, TimeSeries.TimeArray}\n\n\nRetrieve the no-load cost data for a StaticInjection device with a MarketBidCost. If this field is a time series, the user may specify start_time and len and the function returns a TimeArray of Float64s; if the field is not a time series, the function returns a single Float64.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_services_bid-Tuple{StaticInjection, MarketBidCost, Service}","page":"Public API Reference","title":"PowerSystems.get_services_bid","text":"get_services_bid(\n device::StaticInjection,\n cost::MarketBidCost,\n service::Service;\n start_time,\n len\n) -> TimeSeries.TimeArray\n\n\nReturn service bid time series data for a StaticInjection device with a MarketBidCost. The user may specify start_time and len and the function returns a TimeArray of CostCurves.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_start_up-Tuple{StaticInjection, MarketBidCost}","page":"Public API Reference","title":"PowerSystems.get_start_up","text":"get_start_up(\n device::StaticInjection,\n cost::MarketBidCost;\n start_time,\n len\n) -> Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeries.TimeArray}\n\n\nRetrieve the no-load cost data for a StaticInjection device with a MarketBidCost. If this field is a time series, the user may specify start_time and len and the function returns a TimeArray of Float64s; if the field is not a time series, the function returns a single Float64.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_variable_cost-Tuple{ReserveDemandCurve}","page":"Public API Reference","title":"PowerSystems.get_variable_cost","text":"get_variable_cost(\n service::ReserveDemandCurve;\n start_time,\n len\n) -> Union{CostCurve{PiecewiseIncrementalCurve}, TimeSeries.TimeArray}\n\n\nRetrieve the variable cost data for a ReserveDemandCurve. The user may specify start_time and len and the function returns a TimeArray of CostCurves.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_variable_cost-Tuple{StaticInjection, MarketBidCost}","page":"Public API Reference","title":"PowerSystems.get_variable_cost","text":"get_variable_cost(\n device::StaticInjection,\n cost::MarketBidCost;\n start_time,\n len\n) -> Union{CostCurve{PiecewiseIncrementalCurve}, TimeSeries.TimeArray}\n\n\nRetrieve the variable cost bid for a StaticInjection device with a MarketBidCost. If this field is a time series, the user may specify start_time and len and the function returns a TimeArray of CostCurves; if the field is not a time series, the function returns a single CostCurve.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_fuel_cost!-Tuple{System, StaticInjection, Union{Float64, TimeSeriesData}}","page":"Public API Reference","title":"PowerSystems.set_fuel_cost!","text":"set_fuel_cost!(\n sys::System,\n component::StaticInjection,\n data::Union{Float64, TimeSeriesData}\n) -> Any\n\n\nSet the fuel cost of the component's variable cost, which must be a FuelCurve.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_no_load_cost!-Tuple{System, StaticInjection, Union{Float64, TimeSeriesData}}","page":"Public API Reference","title":"PowerSystems.set_no_load_cost!","text":"set_no_load_cost!(\n sys::System,\n component::StaticInjection,\n data::Union{Float64, TimeSeriesData}\n) -> Union{Float64, TimeSeriesKey}\n\n\nSet the no-load cost for a StaticInjection device with a MarketBidCost to either a single number or a time series.\n\nArguments\n\nsys::System: PowerSystem System\ncomponent::StaticInjection: Static injection device\ntime_series_data::Union{Float64, IS.TimeSeriesData},: the data. If a time series, must be of eltype Float64.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_service_bid!-Tuple{System, StaticInjection, Service, TimeSeriesData}","page":"Public API Reference","title":"PowerSystems.set_service_bid!","text":"set_service_bid!(\n sys::System,\n component::StaticInjection,\n service::Service,\n time_series_data::TimeSeriesData\n)\n\n\nAdds service bids time-series data to the MarketBidCost.\n\nArguments\n\nsys::System: PowerSystem System\ncomponent::StaticInjection: Static injection device\nservice::Service,: Service for which the device is eligible to contribute\ntime_series_data::IS.TimeSeriesData: TimeSeriesData\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_start_up!-Tuple{System, StaticInjection, Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesData}}","page":"Public API Reference","title":"PowerSystems.set_start_up!","text":"set_start_up!(\n sys::System,\n component::StaticInjection,\n data::Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesData}\n) -> Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesKey}\n\n\nSet the startup cost for a StaticInjection device with a MarketBidCost to either a single StartUpStages or a time series.\n\nArguments\n\nsys::System: PowerSystem System\ncomponent::StaticInjection: Static injection device\ntime_series_data::Union{StartUpStages, IS.TimeSeriesData},: the data. If a time series, must be of eltype NTuple{3, Float64}.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_variable_cost!-Tuple{System, ReserveDemandCurve, CostCurve{PiecewiseIncrementalCurve}}","page":"Public API Reference","title":"PowerSystems.set_variable_cost!","text":"set_variable_cost!(\n _::System,\n component::ReserveDemandCurve,\n data::CostCurve{PiecewiseIncrementalCurve}\n) -> CostCurve{PiecewiseIncrementalCurve}\n\n\nAdds fixed energy market bids to the ReserveDemandCurve.\n\nArguments\n\nsys::System: PowerSystem System\ncomponent::ReserveDemandCurve: the curve\n`timeseriesdata::CostCurve{PiecewiseIncrementalCurve}\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_variable_cost!-Tuple{System, ReserveDemandCurve, Union{Nothing, TimeSeriesData}}","page":"Public API Reference","title":"PowerSystems.set_variable_cost!","text":"set_variable_cost!(\n sys::System,\n component::ReserveDemandCurve,\n data::Union{Nothing, TimeSeriesData}\n) -> TimeSeriesKey\n\n\nAdds energy market bids time-series to the ReserveDemandCurve.\n\nArguments\n\nsys::System: PowerSystem System\ncomponent::ReserveDemandCurve: the curve\ntime_series_data::IS.TimeSeriesData: TimeSeriesData\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_variable_cost!-Tuple{System, StaticInjection, Union{Nothing, TimeSeriesData, CostCurve{PiecewiseIncrementalCurve}}}","page":"Public API Reference","title":"PowerSystems.set_variable_cost!","text":"set_variable_cost!(\n sys::System,\n component::StaticInjection,\n data::Union{Nothing, TimeSeriesData, CostCurve{PiecewiseIncrementalCurve}}\n) -> Any\n\n\nSet the variable cost bid for a StaticInjection device with a MarketBidCost.\n\nArguments\n\nsys::System: PowerSystem System\ncomponent::StaticInjection: Static injection device\ntime_series_data::Union{Nothing, IS.TimeSeriesData, CostCurve{PiecewiseIncrementalCurve}},: the data. If a time series, must be of eltype PiecewiseStepData.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#TimeSeries","page":"Public API Reference","title":"TimeSeries","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [InfrastructureSystems]\nPages = [\"abstract_time_series.jl\",\n \"deterministic.jl\",\n \"probabilistic.jl\",\n \"scenarios.jl\",\n \"single_time_series.jl\",\n \"forecasts.jl\"]\nOrder = [:type, :function]\nFilter = t -> t ∉ [InfrastructureSystems.get_internal,\n InfrastructureSystems.set_internal!]","category":"page"},{"location":"api/public/#InfrastructureSystems.TimeSeriesData","page":"Public API Reference","title":"InfrastructureSystems.TimeSeriesData","text":"Abstract type for time series stored in the system. Components store references to these through TimeSeriesMetadata values so that data can reside on storage media instead of memory.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.TimeSeriesMetadata","page":"Public API Reference","title":"InfrastructureSystems.TimeSeriesMetadata","text":"Abstract type for time_series that are stored in a system. Users never create them or get access to them. Stores references to TimeSeriesData.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.Deterministic","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"mutable struct Deterministic <: AbstractDeterministic\n name::String\n data::SortedDict\n resolution::Dates.Period\n scaling_factor_multiplier::Union{Nothing, Function}\n internal::InfrastructureSystemsInternal\nend\n\nA deterministic forecast for a particular data field in a Component.\n\nArguments\n\nname::String: user-defined name\ndata::SortedDict: timestamp - scalingfactor\nresolution::Dates.Period: forecast resolution\nscaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.\ninternal::InfrastructureSystemsInternal\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.Deterministic-Tuple{AbstractString, AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray}}","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"Deterministic(\n name::AbstractString,\n input_data::AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray};\n normalization_factor,\n scaling_factor_multiplier\n) -> Deterministic\n\n\nConstruct Deterministic from a Dict of TimeArrays.\n\nArguments\n\nname::AbstractString: user-defined name\ninput_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\ntimestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Deterministic-Tuple{AbstractString, AbstractString, InfrastructureSystems.InfrastructureSystemsComponent, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"Deterministic(\n name::AbstractString,\n filename::AbstractString,\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> Deterministic\n\n\nConstruct Deterministic from a CSV file. The first column must be a timestamp in DateTime format and the columns the values in the forecast window.\n\nArguments\n\nname::AbstractString: user-defined name\nfilename::AbstractString: name of CSV file containing data\ncomponent::InfrastructureSystemsComponent: component associated with the data\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Deterministic-Tuple{AbstractString, InfrastructureSystems.RawTimeSeries, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"Deterministic(\n name::AbstractString,\n series_data::InfrastructureSystems.RawTimeSeries,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> Deterministic\n\n\nConstruct Deterministic from RawTimeSeries.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Deterministic-Tuple{Deterministic, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"Deterministic(\n src::Deterministic,\n name::AbstractString;\n scaling_factor_multiplier\n) -> Deterministic\n\n\nConstruct Deterministic that shares the data from an existing instance.\n\nThis is useful in cases where you want a component to use the same time series data for two different attributes.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Deterministic-Tuple{Deterministic, Any}","page":"Public API Reference","title":"InfrastructureSystems.Deterministic","text":"Deterministic(\n forecast::Deterministic,\n data\n) -> Deterministic\n\n\nConstruct a new Deterministic from an existing instance and a subset of data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_data-Tuple{Deterministic}","page":"Public API Reference","title":"InfrastructureSystems.get_data","text":"get_data(value::Deterministic) -> DataStructures.SortedDict\n\n\nGet Deterministic data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_name-Tuple{Deterministic}","page":"Public API Reference","title":"InfrastructureSystems.get_name","text":"get_name(value::Deterministic) -> String\n\n\nGet Deterministic name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_resolution-Tuple{Deterministic}","page":"Public API Reference","title":"InfrastructureSystems.get_resolution","text":"get_resolution(value::Deterministic) -> Dates.Period\n\n\nGet Deterministic resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_scaling_factor_multiplier-Tuple{Deterministic}","page":"Public API Reference","title":"InfrastructureSystems.get_scaling_factor_multiplier","text":"get_scaling_factor_multiplier(\n value::Deterministic\n) -> Union{Nothing, Function}\n\n\nGet Deterministic scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{Deterministic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_data!","text":"set_data!(value::Deterministic, val) -> Any\n\n\nSet Deterministic data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{Deterministic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(value::Deterministic, val) -> Any\n\n\nSet Deterministic name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_resolution!-Tuple{Deterministic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_resolution!","text":"set_resolution!(value::Deterministic, val) -> Any\n\n\nSet Deterministic resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_scaling_factor_multiplier!-Tuple{Deterministic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_scaling_factor_multiplier!","text":"set_scaling_factor_multiplier!(\n value::Deterministic,\n val\n) -> Any\n\n\nSet Deterministic scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Probabilistic","page":"Public API Reference","title":"InfrastructureSystems.Probabilistic","text":"mutable struct Probabilistic <: Forecast\n name::String\n resolution::Dates.Period\n percentiles::Vector{Float64}\n data::SortedDict\n scaling_factor_multiplier::Union{Nothing, Function}\n internal::InfrastructureSystemsInternal\nend\n\nA Probabilistic forecast for a particular data field in a Component.\n\nArguments\n\nname::String: user-defined name\nresolution::Dates.Period: forecast resolution\npercentiles::Vector{Float64}: Percentiles for the probabilistic forecast\ndata::SortedDict: timestamp - scalingfactor\nscaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.\ninternal::InfrastructureSystemsInternal\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.Probabilistic-Tuple{AbstractString, AbstractDict, Vector, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.Probabilistic","text":"Probabilistic(\n name::AbstractString,\n input_data::AbstractDict,\n percentiles::Vector,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> Probabilistic\n\n\nConstruct Probabilistic from a SortedDict of Arrays.\n\nArguments\n\nname::AbstractString: user-defined name\ninput_data::AbstractDict{Dates.DateTime, Matrix{Float64}}: time series data.\npercentiles: Percentiles represented in the probabilistic forecast\nresolution::Dates.Period: The resolution of the forecast in Dates.Period`\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Probabilistic-Tuple{AbstractString, AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray}, Vector{Float64}}","page":"Public API Reference","title":"InfrastructureSystems.Probabilistic","text":"Probabilistic(\n name::AbstractString,\n input_data::AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray},\n percentiles::Vector{Float64};\n normalization_factor,\n scaling_factor_multiplier\n) -> Probabilistic\n\n\nConstruct Probabilistic from a Dict of TimeArrays.\n\nArguments\n\nname::AbstractString: user-defined name\ninput_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.\npercentiles: Percentiles represented in the probabilistic forecast\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\ntimestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Probabilistic-Tuple{AbstractString, InfrastructureSystems.RawTimeSeries, Vector, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.Probabilistic","text":"Probabilistic(\n name::AbstractString,\n series_data::InfrastructureSystems.RawTimeSeries,\n percentiles::Vector,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> Probabilistic\n\n\nConstruct Deterministic from RawTimeSeries.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Probabilistic-Tuple{Probabilistic, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.Probabilistic","text":"Probabilistic(\n src::Probabilistic,\n name::AbstractString;\n scaling_factor_multiplier\n) -> Probabilistic\n\n\nConstruct a Probabilistic that shares the data from an existing instance.\n\nThis is useful in cases where you want a component to use the same time series data for two different attributes.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_data-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.get_data","text":"get_data(value::Probabilistic) -> DataStructures.SortedDict\n\n\nGet Probabilistic data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_name-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.get_name","text":"get_name(value::Probabilistic) -> String\n\n\nGet Probabilistic name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_percentiles-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.get_percentiles","text":"get_percentiles(value::Probabilistic) -> Vector{Float64}\n\n\nGet Probabilistic percentiles.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_resolution-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.get_resolution","text":"get_resolution(value::Probabilistic) -> Dates.Period\n\n\nGet Probabilistic resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_scaling_factor_multiplier-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.get_scaling_factor_multiplier","text":"get_scaling_factor_multiplier(\n value::Probabilistic\n) -> Union{Nothing, Function}\n\n\nGet Probabilistic scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{Probabilistic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_data!","text":"set_data!(value::Probabilistic, val) -> Any\n\n\nSet Probabilistic data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{Probabilistic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(value::Probabilistic, val) -> Any\n\n\nSet Probabilistic name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_percentiles!-Tuple{Probabilistic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_percentiles!","text":"set_percentiles!(value::Probabilistic, val) -> Any\n\n\nSet Probabilistic percentiles.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_resolution!-Tuple{Probabilistic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_resolution!","text":"set_resolution!(value::Probabilistic, val) -> Any\n\n\nSet Probabilistic resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_scaling_factor_multiplier!-Tuple{Probabilistic, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_scaling_factor_multiplier!","text":"set_scaling_factor_multiplier!(\n value::Probabilistic,\n val\n) -> Any\n\n\nSet Probabilistic scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Scenarios","page":"Public API Reference","title":"InfrastructureSystems.Scenarios","text":"mutable struct Scenarios <: Forecast\n name::String\n resolution::Dates.Period\n scenario_count::Int64\n data::SortedDict\n scaling_factor_multiplier::Union{Nothing, Function}\n internal::InfrastructureSystemsInternal\nend\n\nA Discrete Scenario Based time series for a particular data field in a Component.\n\nArguments\n\nname::String: user-defined name\nresolution::Dates.Period: forecast resolution\nscenario_count::Int64: Number of scenarios\ndata::SortedDict: timestamp - scalingfactor\nscaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.\ninternal::InfrastructureSystemsInternal\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.Scenarios-Tuple{AbstractString, AbstractDict, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.Scenarios","text":"Scenarios(\n name::AbstractString,\n input_data::AbstractDict,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> Scenarios\n\n\nConstruct Scenarios from a SortedDict of Arrays.\n\nArguments\n\nname::AbstractString: user-defined name\ninput_data::AbstractDict{Dates.DateTime, Matrix{Float64}}: time series data.\nresolution::Dates.Period: The resolution of the forecast in Dates.Period`\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Scenarios-Tuple{AbstractString, AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray}}","page":"Public API Reference","title":"InfrastructureSystems.Scenarios","text":"Scenarios(\n name::AbstractString,\n input_data::AbstractDict{Dates.DateTime, <:TimeSeries.TimeArray};\n normalization_factor,\n scaling_factor_multiplier\n) -> Scenarios\n\n\nConstruct Scenarios from a Dict of TimeArrays.\n\nArguments\n\nname::AbstractString: user-defined name\ninput_data::AbstractDict{Dates.DateTime, TimeSeries.TimeArray}: time series data.\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\ntimestamp = :timestamp: If the values are DataFrames is passed then this must be the column name that contains timestamps.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Scenarios-Tuple{Scenarios, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.Scenarios","text":"Scenarios(\n src::Scenarios,\n name::AbstractString;\n scaling_factor_multiplier\n) -> Scenarios\n\n\nConstruct Scenarios that shares the data from an existing instance.\n\nThis is useful in cases where you want a component to use the same time series data for two different attributes.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_data-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.get_data","text":"get_data(value::Scenarios) -> DataStructures.SortedDict\n\n\nGet Scenarios data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_name-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.get_name","text":"get_name(value::Scenarios) -> String\n\n\nGet Scenarios name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_resolution-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.get_resolution","text":"get_resolution(value::Scenarios) -> Dates.Period\n\n\nGet Scenarios resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_scaling_factor_multiplier-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.get_scaling_factor_multiplier","text":"get_scaling_factor_multiplier(\n value::Scenarios\n) -> Union{Nothing, Function}\n\n\nGet Scenarios scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_scenario_count-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.get_scenario_count","text":"get_scenario_count(value::Scenarios) -> Int64\n\n\nGet Scenarios scenario_count.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{Scenarios, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_data!","text":"set_data!(value::Scenarios, val) -> Any\n\n\nSet Scenarios data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{Scenarios, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(value::Scenarios, val) -> Any\n\n\nSet Scenarios name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_resolution!-Tuple{Scenarios, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_resolution!","text":"set_resolution!(value::Scenarios, val) -> Any\n\n\nSet Scenarios resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_scaling_factor_multiplier!-Tuple{Scenarios, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_scaling_factor_multiplier!","text":"set_scaling_factor_multiplier!(value::Scenarios, val) -> Any\n\n\nSet Scenarios scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_scenario_count!-Tuple{Scenarios, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_scenario_count!","text":"set_scenario_count!(value::Scenarios, val) -> Any\n\n\nSet Scenarios scenario_count.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.DeterministicSingleTimeSeries","page":"Public API Reference","title":"InfrastructureSystems.DeterministicSingleTimeSeries","text":"mutable struct DeterministicSingleTimeSeries <: AbstractDeterministic\n single_time_series::SingleTimeSeries\n initial_timestamp::Dates.DateTime\n interval::Dates.Period\n count::Int\n horizon::Int\nend\n\nA deterministic forecast for a particular data field in a Component that wraps a SingleTimeSeries.\n\nArguments\n\nsingle_time_series::SingleTimeSeries: wrapped SingleTimeSeries object\ninitial_timestamp::Dates.DateTime: time series availability time\ninterval::Dates.Period: time step between forecast windows\ncount::Int: number of forecast windows\nhorizon::Int: length of this time series\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"mutable struct SingleTimeSeries <: StaticTimeSeries\n name::String\n data::TimeSeries.TimeArray\n scaling_factor_multiplier::Union{Nothing, Function}\n internal::InfrastructureSystemsInternal\nend\n\nA deterministic forecast for a particular data field in a Component.\n\nArguments\n\nname::String: user-defined name\ndata::TimeSeries.TimeArray: timestamp - scalingfactor\nscaling_factor_multiplier::Union{Nothing, Function}: Applicable when the time series data are scaling factors. Called on the associated component to convert the values.\ninternal::InfrastructureSystemsInternal\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries-Tuple{AbstractString, AbstractString, InfrastructureSystems.InfrastructureSystemsComponent, Dates.Period}","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"SingleTimeSeries(\n name::AbstractString,\n filename::AbstractString,\n component::InfrastructureSystems.InfrastructureSystemsComponent,\n resolution::Dates.Period;\n normalization_factor,\n scaling_factor_multiplier\n) -> SingleTimeSeries\n\n\nConstruct SingleTimeSeries from a CSV file. The file must have a column that is the name of the component.\n\nArguments\n\nname::AbstractString: user-defined name\nfilename::AbstractString: name of CSV file containing data\ncomponent::InfrastructureSystemsComponent: component associated with the data\nresolution::Dates.Period: resolution of the time series\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries-Tuple{AbstractString, Union{DataFrames.DataFrame, TimeSeries.TimeArray}}","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"SingleTimeSeries(\n name::AbstractString,\n data::Union{DataFrames.DataFrame, TimeSeries.TimeArray};\n normalization_factor,\n scaling_factor_multiplier,\n timestamp\n) -> SingleTimeSeries\n\n\nConstruct SingleTimeSeries from a TimeArray or DataFrame.\n\nArguments\n\nname::AbstractString: user-defined name\ndata::Union{TimeSeries.TimeArray, DataFrames.DataFrame}: time series data\nnormalization_factor::NormalizationFactor = 1.0: optional normalization factor to apply to each data entry\nscaling_factor_multiplier::Union{Nothing, Function} = nothing: If the data are scaling factors then this function will be called on the component and applied to the data when get_time_series_array is called.\ntimestamp = :timestamp: If a DataFrame is passed then this must be the column name that contains timestamps.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries-Tuple{SingleTimeSeries, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"SingleTimeSeries(\n src::SingleTimeSeries,\n name::AbstractString;\n scaling_factor_multiplier\n) -> SingleTimeSeries\n\n\nConstruct SingleTimeSeries that shares the data from an existing instance.\n\nThis is useful in cases where you want a component to use the same time series data for two different attribtues.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries-Tuple{SingleTimeSeries, TimeSeries.TimeArray}","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"SingleTimeSeries(\n time_series::SingleTimeSeries,\n data::TimeSeries.TimeArray\n) -> Any\n\n\nCreates a new SingleTimeSeries from an existing instance and a subset of data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.SingleTimeSeries-Tuple{String, Dates.Period, Dates.DateTime, Int64}","page":"Public API Reference","title":"InfrastructureSystems.SingleTimeSeries","text":"SingleTimeSeries(\n name::String,\n resolution::Dates.Period,\n initial_time::Dates.DateTime,\n time_steps::Int64\n) -> SingleTimeSeries\n\n\nConstruct SingleTimeSeries after constructing a TimeArray from initial_time and time_steps.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.from-Tuple{SingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.from","text":"from(\n time_series::SingleTimeSeries,\n timestamp\n) -> SingleTimeSeries\n\n\nReturn a time_series truncated starting with timestamp.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_count-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_count","text":"get_count(value::DeterministicSingleTimeSeries) -> Int64\n\n\nGet DeterministicSingleTimeSeries count.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_data-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_data","text":"get_data(value::SingleTimeSeries) -> TimeSeries.TimeArray\n\n\nGet SingleTimeSeries data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_horizon-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_horizon","text":"get_horizon(\n value::DeterministicSingleTimeSeries\n) -> Dates.Period\n\n\nGet DeterministicSingleTimeSeries horizon.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_initial_timestamp-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_initial_timestamp","text":"get_initial_timestamp(\n value::DeterministicSingleTimeSeries\n) -> Dates.DateTime\n\n\nGet DeterministicSingleTimeSeries initial_timestamp.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_interval-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_interval","text":"get_interval(\n value::DeterministicSingleTimeSeries\n) -> Dates.Period\n\n\nGet DeterministicSingleTimeSeries interval.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_name-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_name","text":"get_name(value::SingleTimeSeries) -> String\n\n\nGet SingleTimeSeries name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_resolution-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_resolution","text":"get_resolution(value::SingleTimeSeries) -> Dates.Period\n\n\nGet SingleTimeSeries resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_scaling_factor_multiplier-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_scaling_factor_multiplier","text":"get_scaling_factor_multiplier(\n value::SingleTimeSeries\n) -> Union{Nothing, Function}\n\n\nGet SingleTimeSeries scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_single_time_series-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.get_single_time_series","text":"get_single_time_series(\n value::DeterministicSingleTimeSeries\n) -> SingleTimeSeries\n\n\nGet DeterministicSingleTimeSeries single_time_series.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.head-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.head","text":"head(time_series::SingleTimeSeries) -> Any\n\n\nReturn a time_series with only the first num values.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_count!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_count!","text":"set_count!(value::DeterministicSingleTimeSeries, val) -> Any\n\n\nSet DeterministicSingleTimeSeries count.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{SingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_data!","text":"set_data!(value::SingleTimeSeries, val) -> Any\n\n\nSet SingleTimeSeries data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_horizon!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_horizon!","text":"set_horizon!(\n value::DeterministicSingleTimeSeries,\n val\n) -> Any\n\n\nSet DeterministicSingleTimeSeries horizon.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_initial_timestamp!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_initial_timestamp!","text":"set_initial_timestamp!(\n value::DeterministicSingleTimeSeries,\n val\n) -> Any\n\n\nSet DeterministicSingleTimeSeries initial_timestamp.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_interval!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_interval!","text":"set_interval!(\n value::DeterministicSingleTimeSeries,\n val\n) -> Any\n\n\nSet DeterministicSingleTimeSeries interval.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{SingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(value::SingleTimeSeries, val) -> Any\n\n\nSet SingleTimeSeries name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_scaling_factor_multiplier!-Tuple{SingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_scaling_factor_multiplier!","text":"set_scaling_factor_multiplier!(\n value::SingleTimeSeries,\n val\n) -> Any\n\n\nSet SingleTimeSeries scaling_factor_multiplier.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_single_time_series!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.set_single_time_series!","text":"set_single_time_series!(\n value::DeterministicSingleTimeSeries,\n val\n) -> Any\n\n\nSet DeterministicSingleTimeSeries single_time_series.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.tail-Tuple{SingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.tail","text":"tail(time_series::SingleTimeSeries) -> Any\n\n\nReturn a time_series with only the ending num values.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.to-Tuple{SingleTimeSeries, Any}","page":"Public API Reference","title":"InfrastructureSystems.to","text":"to(\n time_series::SingleTimeSeries,\n timestamp\n) -> SingleTimeSeries\n\n\nReturn a time_series truncated after timestamp.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.when-Tuple{SingleTimeSeries, Function, Integer}","page":"Public API Reference","title":"InfrastructureSystems.when","text":"when(\n time_series::SingleTimeSeries,\n period::Function,\n t::Integer\n) -> Any\n\n\nRefer to TimeSeries.when(). Underlying data is copied.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_initial_times-Tuple{Forecast}","page":"Public API Reference","title":"InfrastructureSystems.get_initial_times","text":"get_initial_times(\n f::Forecast\n) -> DataStructures.SDMKeyIteration{T} where T<:DataStructures.SortedDict\n\n\nReturn the initial times in the forecast.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_total_period-Tuple{Forecast}","page":"Public API Reference","title":"InfrastructureSystems.get_total_period","text":"get_total_period(f::Forecast) -> Any\n\n\nReturn the total period covered by the forecast.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_window-Tuple{Forecast, Int64}","page":"Public API Reference","title":"InfrastructureSystems.get_window","text":"get_window(forecast::Forecast, index::Int64; len) -> Any\n\n\nReturn the forecast window corresponsing to interval index.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.index_to_initial_time-Tuple{Forecast, Int64}","page":"Public API Reference","title":"InfrastructureSystems.index_to_initial_time","text":"index_to_initial_time(\n forecast::Forecast,\n index::Int64\n) -> Any\n\n\nReturn the Dates.DateTime corresponding to an interval index.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.make_time_array-Tuple{Forecast, Dates.DateTime}","page":"Public API Reference","title":"InfrastructureSystems.make_time_array","text":"make_time_array(\n forecast::Forecast,\n start_time::Dates.DateTime;\n len\n) -> Any\n\n\nReturn a TimeSeries.TimeArray for one forecast window.\n\n\n\n\n\n","category":"method"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [InfrastructureSystems]\nPages = [\"time_series_cache.jl\"]\nOrder = [:type, :function]\nFilter = t -> t ∈ [InfrastructureSystems.get_next_time_series_array!,\n InfrastructureSystems.get_next_time]","category":"page"},{"location":"api/public/#InfrastructureSystems.get_next_time-Tuple{InfrastructureSystems.TimeSeriesCache}","page":"Public API Reference","title":"InfrastructureSystems.get_next_time","text":"get_next_time(\n cache::InfrastructureSystems.TimeSeriesCache\n) -> Any\n\n\nReturn the timestamp for the next read with get_next_time_series_array!.\n\nReturn nothing if all data has been read.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_next_time_series_array!-Tuple{InfrastructureSystems.TimeSeriesCache}","page":"Public API Reference","title":"InfrastructureSystems.get_next_time_series_array!","text":"get_next_time_series_array!(\n cache::InfrastructureSystems.TimeSeriesCache\n) -> Any\n\n\nReturn the next TimeSeries.TimeArray.\n\nReturns nothing when all data has been read. Call reset! to restart. Call get_next_time to check the start time.\n\nReads from storage if the data is not already in cache.\n\nArguments\n\ncache::StaticTimeSeriesCache: cached instance\n\n\n\n\n\n","category":"method"},{"location":"api/public/#System","page":"Public API Reference","title":"System","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"base.jl\"]\nPublic = true\nPrivate = false\nFilter = t -> t ∈ [System]","category":"page"},{"location":"api/public/#PowerSystems.System","page":"Public API Reference","title":"PowerSystems.System","text":"System\n\nA power system defined by fields for base_power, components, and time series.\n\nSystem(base_power)\nSystem(base_power, buses, components...)\nSystem(base_power, buses, generators, loads, branches, storage, services; kwargs...)\nSystem(base_power, buses, generators, loads; kwargs...)\nSystem(file; kwargs...)\nSystem(; buses, generators, loads, branches, storage, base_power, services, kwargs...)\nSystem(; kwargs...)\n\nArguments\n\nbase_power::Float64: the base power value for the system\nbuses::Vector{ACBus}: an array of buses\ncomponents...: Each element must be an iterable containing subtypes of Component.\n\nKeyword arguments\n\next::Dict: Contains user-defined parameters. Should only contain standard types.\nrunchecks::Bool: Run available checks on input fields and when add_component! is called. Throws InvalidValue if an error is found.\ntime_series_in_memory::Bool=false: Store time series data in memory instead of HDF5.\nenable_compression::Bool=false: Enable compression of time series data in HDF5.\ncompression::CompressionSettings: Allows customization of HDF5 compression settings.\nconfig_path::String: specify path to validation config file\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.System-Tuple{AbstractString, AbstractString}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n sys_file::AbstractString,\n dyr_file::AbstractString;\n kwargs...\n) -> Any\n\n\nParse static and dynamic data directly from PSS/e text files. Automatically generates all the relationships between the available dynamic injection models and the static counterpart\n\nEach dictionary indexed by id contains a vector with 5 of its components:\n\nMachine\nShaft\nAVR\nTurbineGov\nPSS\n\nFiles must be parsed from a .raw file (PTI data format) and a .dyr file.\n\nExamples:\n\nraw_file = \"Example.raw\"\ndyr_file = \"Example.dyr\"\nsys = System(raw_file, dyr_file)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{AbstractString}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n file_path::AbstractString;\n assign_new_uuids,\n kwargs...\n) -> Any\n\n\nConstructs a System from a file path ending with .m, .RAW, or .json\n\nIf the file is JSON then assignnewuuids = true will generate new UUIDs for the system and all components.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{Any, Number}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n data,\n base_power::Number;\n internal,\n kwargs...\n) -> System\n\n\nConstruct a System from InfrastructureSystems.SystemData\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{Float64, Vector{ACBus}, Vararg{Any}}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n base_power::Float64,\n buses::Vector{ACBus},\n components...;\n kwargs...\n) -> System\n\n\nSystem constructor when components are constructed externally.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{Nothing}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n ::Nothing;\n buses,\n generators,\n loads,\n branches,\n storage,\n base_power,\n services,\n kwargs...\n) -> System\n\n\nConstructs a non-functional System for demo purposes.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{Number}","page":"Public API Reference","title":"PowerSystems.System","text":"System(base_power::Number; kwargs...) -> System\n\n\nConstruct an empty System. Useful for building a System while parsing raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"parsers/power_system_table_data.jl\",\n \"parsers/power_models_data.jl\",\n \"parsers/TAMU_data.jl\",\n \"parsers/psse_dynamic_data.jl\"]\nPublic = true\nPrivate = false\nFilter = t -> t ∈ [System]","category":"page"},{"location":"api/public/#PowerSystems.System-Tuple{PowerSystemTableData}","page":"Public API Reference","title":"PowerSystems.System","text":"System(\n data::PowerSystemTableData;\n time_series_resolution,\n time_series_in_memory,\n time_series_directory,\n runchecks,\n kwargs...\n) -> System\n\n\nConstruct a System from PowerSystemTableData data.\n\nArguments\n\ntime_series_resolution::Union{DateTime, Nothing}=nothing: only store time_series that match this resolution.\ntime_series_in_memory::Bool=false: Store time series data in memory instead of HDF5 file\ntime_series_directory=nothing: Store time series data in directory instead of tmpfs\nrunchecks::Bool=true: Validate struct fields.\n\nThrows DataFormatError if time_series with multiple resolutions are detected.\n\nA time_series has a different resolution than others.\nA time_series has a different horizon than others.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.System-Tuple{PowerModelsData}","page":"Public API Reference","title":"PowerSystems.System","text":"System(pm_data::PowerModelsData; kwargs...) -> Any\n\n\nConstructs a System from PowerModelsData.\n\nArguments\n\npm_data::Union{PowerModelsData, Union{String, IO}}: PowerModels data object or supported\n\nload flow case (*.m, *.raw)\n\nKeyword arguments\n\next::Dict: Contains user-defined parameters. Should only contain standard types.\nrunchecks::Bool: Run available checks on input fields and when add_component! is called. Throws InvalidValue if an error is found.\ntime_series_in_memory::Bool=false: Store time series data in memory instead of HDF5.\nconfig_path::String: specify path to validation config file\npm_data_corrections::Bool=true : Run the PowerModels data corrections (aka :validate in PowerModels)\nimport_all:Bool=false : Import all fields from PTI files\n\nExamples\n\nsys = System(\n pm_data, config_path = \"ACTIVSg25k_validation.json\",\n bus_name_formatter = x->string(x[\"name\"]*\"-\"*string(x[\"index\"])),\n load_name_formatter = x->strip(join(x[\"source_id\"], \"_\"))\n)\n\n\n\n\n\n","category":"method"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"base.jl\"]\nPublic = true\nPrivate = false\nFilter = t -> t ∉ [System]","category":"page"},{"location":"api/public/#InfrastructureSystems.from_json-Tuple{Union{IO, String}, Type{System}}","page":"Public API Reference","title":"InfrastructureSystems.from_json","text":"from_json(\n io::Union{IO, String},\n ::Type{System};\n runchecks,\n assign_new_uuids,\n kwargs...\n) -> System\n\n\nIf assignnewuuids = true, generate new UUIDs for the system and all components.\n\nWarning: time series data is not restored by this method. If that is needed, use the normal process to construct the system from a serialized JSON file instead, such as with System(\"sys.json\").\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_name-Tuple{System}","page":"Public API Reference","title":"InfrastructureSystems.get_name","text":"get_name(sys::System) -> Union{Nothing, String}\n\n\nGet the name of the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_supplemental_attribute-Tuple{System, Base.UUID}","page":"Public API Reference","title":"InfrastructureSystems.get_supplemental_attribute","text":"get_supplemental_attribute(\n sys::System,\n uuid::Base.UUID\n) -> SupplementalAttribute\n\n\nReturn the supplemental attribute with the given uuid.\n\nThrows ArgumentError if the attribute is not stored.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_supplemental_attributes-Union{Tuple{T}, Tuple{Function, Type{T}, System}} where T<:SupplementalAttribute","page":"Public API Reference","title":"InfrastructureSystems.get_supplemental_attributes","text":"get_supplemental_attributes(\n filter_func::Function,\n _::Type{T<:SupplementalAttribute},\n sys::System\n) -> InfrastructureSystems.FlattenIteratorWrapper{T, I} where {T<:SupplementalAttribute, I<:(Vector)}\n\n\nReturns an iterator of supplemental attributes. T can be concrete or abstract. Call collect on the result if an array is desired.\n\nExamples\n\niter = get_supplemental_attributes(GeometricDistributionForcedOutage, sys)\niter = get_supplemental_attributes(Outage, sys)\niter = get_supplemental_attributes(x -> get_mean_time_to_recovery(x) == >= 0.5, GeometricDistributionForcedOutage, sys)\noutages = get_supplemental_attributes(GeometricDistributionForcedOutage, sys) do outage\n get_mean_time_to_recovery(x) == >= 0.5\nend\noutages = collect(get_supplemental_attributes(GeometricDistributionForcedOutage, sys))\n\nSee also: iterate_supplemental_attributes\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_multiple","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_multiple","text":"get_time_series_multiple(sys::System; ...) -> Channel{Any}\nget_time_series_multiple(\n sys::System,\n filter_func;\n type,\n name\n) -> Channel{Any}\n\n\nReturn an iterator of time series in order of initial time.\n\nNote that passing a filter function can be much slower than the other filtering parameters because it reads time series data from media.\n\nCall collect on the result to get an array.\n\nArguments\n\ndata::SystemData: system\nfilter_func = nothing: Only return time series for which this returns true.\ntype = nothing: Only return time series with this type.\nname = nothing: Only return time series matching this value.\n\nExamples\n\nfor time_series in get_time_series_multiple(sys)\n @show time_series\nend\n\nts = collect(get_time_series_multiple(sys; type = SingleTimeSeries))\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{Component, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(\n component::Component,\n name::AbstractString\n) -> AbstractString\n\n\nSet the name of a component.\n\nThrows an exception if the component is attached to a system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{System, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(\n sys::System,\n name::AbstractString\n) -> AbstractString\n\n\nSet the name of the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_name!-Tuple{System, Component, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.set_name!","text":"set_name!(\n sys::System,\n component::Component,\n name::AbstractString\n)\n\n\nSet the name for a component that is attached to the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.to_json-Tuple{System, AbstractString}","page":"Public API Reference","title":"InfrastructureSystems.to_json","text":"to_json(\n sys::System,\n filename::AbstractString;\n user_data,\n pretty,\n force,\n runchecks\n)\n\n\nSerializes a system to a JSON file and saves time series to an HDF5 file.\n\nArguments\n\nsys::System: system\nfilename::AbstractString: filename to write\n\nKeyword arguments\n\nuser_data::Union{Nothing, Dict} = nothing: optional metadata to record\npretty::Bool = false: whether to pretty-print the JSON\nforce::Bool = false: whether to overwrite existing files\ncheck::Bool = false: whether to run system validation checks\n\nRefer to check_component for exceptions thrown if check = true.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_component!-Tuple{System, DynamicInjection, StaticInjection}","page":"Public API Reference","title":"PowerSystems.add_component!","text":"add_component!(\n sys::System,\n dyn_injector::DynamicInjection,\n static_injector::StaticInjection;\n kwargs...\n)\n\n\nAdd a dynamic injector to the system.\n\nThrows ArgumentError if the name does not match the staticinjector name. Throws ArgumentError if the staticinjector is not attached to the system.\n\nAll rules for the generic add_component! method also apply.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_component!-Union{Tuple{T}, Tuple{System, T}} where T<:Component","page":"Public API Reference","title":"PowerSystems.add_component!","text":"add_component!(\n sys::System,\n component::Component;\n skip_validation,\n kwargs...\n)\n\n\nAdd a component to the system.\n\nThrows ArgumentError if the component's name is already stored for its concrete type. Throws ArgumentError if any Component-specific rule is violated. Throws InvalidValue if any of the component's field values are outside of defined valid range.\n\nExamples\n\nsys = System(100.0)\n\n# Add a single component.\nadd_component!(sys, bus)\n\n# Add many at once.\nbuses = [bus1, bus2, bus3]\ngenerators = [gen1, gen2, gen3]\nforeach(x -> add_component!(sys, x), Iterators.flatten((buses, generators)))\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_components!-Tuple{System, Any}","page":"Public API Reference","title":"PowerSystems.add_components!","text":"add_components!(sys::System, components)\n\n\nAdd many components to the system at once.\n\nThrows ArgumentError if the component's name is already stored for its concrete type. Throws ArgumentError if any Component-specific rule is violated. Throws InvalidValue if any of the component's field values are outside of defined valid range.\n\nExamples\n\nsys = System(100.0)\n\nbuses = [bus1, bus2, bus3]\ngenerators = [gen1, gen2, gen3]\nforeach(x -> add_component!(sys, x), Iterators.flatten((buses, generators)))\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_service!-Tuple{Device, Service, System}","page":"Public API Reference","title":"PowerSystems.add_service!","text":"add_service!(device::Device, service::Service, sys::System)\n\n\nSimilar to add_service! but for Service and Device already stored in the system. Performs validation checks on the device and the system\n\nArguments\n\ndevice::Device: Device\nservice::Service: Service\nsys::System: system\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_service!-Tuple{System, ConstantReserveGroup, Vector{<:Service}}","page":"Public API Reference","title":"PowerSystems.add_service!","text":"add_service!(\n sys::System,\n service::ConstantReserveGroup,\n contributing_services::Vector{<:Service};\n skip_validation,\n kwargs...\n)\n\n\nSimilar to add_component! but for ConstantReserveGroup.\n\nArguments\n\nsys::System: system\nservice::ConstantReserveGroup: service to add\ncontributing_services: contributing services to the group\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_service!-Tuple{System, ConstantReserveGroup}","page":"Public API Reference","title":"PowerSystems.add_service!","text":"add_service!(\n sys::System,\n service::ConstantReserveGroup;\n skip_validation,\n kwargs...\n)\n\n\nSimilar to add_component! but for ConstantReserveGroup.\n\nArguments\n\nsys::System: system\nservice::ConstantReserveGroup: service to add\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_service!-Tuple{System, Service, Any}","page":"Public API Reference","title":"PowerSystems.add_service!","text":"add_service!(\n sys::System,\n service::Service,\n contributing_devices;\n kwargs...\n)\n\n\nSimilar to add_component! but for services.\n\nArguments\n\nsys::System: system\nservice::Service: service to add\ncontributing_devices: Must be an iterable of type Device\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_service!-Tuple{System, Service, Device}","page":"Public API Reference","title":"PowerSystems.add_service!","text":"add_service!(\n sys::System,\n service::Service,\n contributing_device::Device;\n kwargs...\n)\n\n\nSimilar to add_component! but for services.\n\nArguments\n\nsys::System: system\nservice::Service: service to add\ncontributing_device::Device: Valid Device\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_supplemental_attribute!-Tuple{System, Component, SupplementalAttribute}","page":"Public API Reference","title":"PowerSystems.add_supplemental_attribute!","text":"add_supplemental_attribute!(\n sys::System,\n component::Component,\n attribute::SupplementalAttribute\n)\n\n\nAdd a supplemental attribute to the component. The attribute may already be attached to a different component.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_time_series!-Tuple{System, AbstractString}","page":"Public API Reference","title":"PowerSystems.add_time_series!","text":"add_time_series!(\n sys::System,\n metadata_file::AbstractString;\n resolution\n) -> Vector{TimeSeriesKey}\n\n\nAdd time series data from a metadata file or metadata descriptors.\n\nArguments\n\nsys::System: system\nmetadata_file::AbstractString: metadata file for timeseries that includes an array of IS.TimeSeriesFileMetadata instances or a vector.\nresolution::DateTime.Period=nothing: skip time series that don't match this resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_time_series!-Tuple{System, Any, TimeSeriesData}","page":"Public API Reference","title":"PowerSystems.add_time_series!","text":"add_time_series!(\n sys::System,\n components,\n time_series::TimeSeriesData;\n features...\n) -> TimeSeriesKey\n\n\nAdd the same time series data to multiple components.\n\nThis is significantly more efficent than calling add_time_series! for each component individually with the same data because in this case, only one time series array is stored.\n\nThrows ArgumentError if a component is not stored in the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_time_series!-Tuple{System, Component, TimeSeriesData}","page":"Public API Reference","title":"PowerSystems.add_time_series!","text":"add_time_series!(\n sys::System,\n component::Component,\n time_series::TimeSeriesData;\n features...\n) -> TimeSeriesKey\n\n\nAdd time series data to a component.\n\nThrows ArgumentError if the component is not stored in the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_time_series!-Tuple{System, Vector{InfrastructureSystems.TimeSeriesFileMetadata}}","page":"Public API Reference","title":"PowerSystems.add_time_series!","text":"add_time_series!(\n sys::System,\n file_metadata::Vector{InfrastructureSystems.TimeSeriesFileMetadata};\n resolution\n) -> Vector{TimeSeriesKey}\n\n\nAdd time series data from a metadata file or metadata descriptors.\n\nArguments\n\nsys::System: system\ntimeseries_metadata::Vector{IS.TimeSeriesFileMetadata}: metadata for timeseries\nresolution::DateTime.Period=nothing: skip time series that don't match this resolution.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.bulk_add_time_series!-Tuple{System, Any}","page":"Public API Reference","title":"PowerSystems.bulk_add_time_series!","text":"bulk_add_time_series!(\n sys::System,\n associations;\n batch_size\n) -> Vector{TimeSeriesKey}\n\n\nAdd many time series in bulk. This method is advantageous when adding thousands of time series arrays because of the overhead in writing the time series to the underlying storage.\n\nArguments\n\nsys::System: system\nassociations: Iterable of TimeSeriesAssociation instances. Using a Vector is not recommended. Pass a Generator or Iterator to avoid loading all time series data into system memory at once.\nbatch_size::Int: Number of time series to add per batch. Defaults to 100.\n\nExamples\n\nresolution = Dates.Hour(1)\nassociations = (\n IS.TimeSeriesAssociation(\n gen,\n Deterministic(\n data = read_time_series(get_name(gen) * \".csv\"),\n name = \"get_max_active_power\",\n resolution=resolution),\n )\n for gen in get_components(ThermalStandard, sys)\n)\nbulk_add_time_series!(sys, associations)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check-Tuple{System}","page":"Public API Reference","title":"PowerSystems.check","text":"check(sys::System)\n\n\nCheck system consistency and validity.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check_component-Tuple{System, Component}","page":"Public API Reference","title":"PowerSystems.check_component","text":"check_component(sys::System, component::Component)\n\n\nCheck the values of a component.\n\nThrows InvalidValue if any of the component's field values are outside of defined valid range or if the custom validate method for the type fails its check.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check_components-Tuple{System, Any}","page":"Public API Reference","title":"PowerSystems.check_components","text":"check_components(sys::System, components)\n\n\nCheck the values of each component in an iterable of components. See check_component for exceptions thrown.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check_components-Tuple{System}","page":"Public API Reference","title":"PowerSystems.check_components","text":"check_components(sys::System; check_masked_components)\n\n\nCheck the values of all components. See check_component for exceptions thrown.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check_components-Union{Tuple{T}, Tuple{System, Type{T}}} where T<:Component","page":"Public API Reference","title":"PowerSystems.check_components","text":"check_components(\n sys::System,\n ::Type{T<:Component};\n check_masked_components\n)\n\n\nCheck the values of components of a given abstract or concrete type. See check_component for exceptions thrown.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check_time_series_consistency-Union{Tuple{T}, Tuple{System, Type{T}}} where T<:TimeSeriesData","page":"Public API Reference","title":"PowerSystems.check_time_series_consistency","text":"check_time_series_consistency(\n sys::System,\n _::Type{T<:TimeSeriesData}\n) -> Union{Nothing, Tuple{Any, Any}}\n\n\nChecks time series in the system for inconsistencies.\n\nFor SingleTimeSeries, returns a Tuple of initial_timestamp and length.\n\nThis is a no-op for subtypes of Forecast because those are already guaranteed to be consistent.\n\nThrows InfrastructureSystems.InvalidValue if any time series is inconsistent.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.clear_components!-Tuple{System}","page":"Public API Reference","title":"PowerSystems.clear_components!","text":"clear_components!(sys::System)\n\n\nRemove all components from the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.clear_ext!-Tuple{System}","page":"Public API Reference","title":"PowerSystems.clear_ext!","text":"clear_ext!(sys::System)\n\n\nClear any value stored in ext.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.clear_time_series!-Tuple{System}","page":"Public API Reference","title":"PowerSystems.clear_time_series!","text":"clear_time_series!(sys::System)\n\n\nRemove all time series data from the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.convert_component!-Tuple{System, Line, Type{MonitoredLine}}","page":"Public API Reference","title":"PowerSystems.convert_component!","text":"convert_component!(\n sys::System,\n line::Line,\n linetype::Type{MonitoredLine};\n kwargs...\n)\n\n\nConverts a Line component to a MonitoredLine component and replaces the original in the system\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.convert_component!-Tuple{System, MonitoredLine, Type{Line}}","page":"Public API Reference","title":"PowerSystems.convert_component!","text":"convert_component!(\n sys::System,\n line::MonitoredLine,\n linetype::Type{Line};\n kwargs...\n)\n\n\nConverts a MonitoredLine component to a Line component and replaces the original in the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.convert_component!-Tuple{System, PowerLoad, Type{StandardLoad}}","page":"Public API Reference","title":"PowerSystems.convert_component!","text":"convert_component!(\n sys::System,\n old_load::PowerLoad,\n new_type::Type{StandardLoad};\n kwargs...\n)\n\n\nConverts a PowerLoad component to a StandardLoad component and replaces the original in the system. Does not set any fields in StandardLoad that lack a PowerLoad equivalent.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.filter_components_by_subsystem!-Tuple{System, AbstractString}","page":"Public API Reference","title":"PowerSystems.filter_components_by_subsystem!","text":"filter_components_by_subsystem!(\n sys::System,\n subsystem::AbstractString;\n runchecks\n)\n\n\nFilter out all components that are not part of the subsystem.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.from_subsystem-Tuple{System, AbstractString}","page":"Public API Reference","title":"PowerSystems.from_subsystem","text":"from_subsystem(\n sys::System,\n subsystem::AbstractString;\n runchecks\n) -> System\n\n\nConstruct a System from a subsystem of an existing system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_aggregation_topology_mapping-Union{Tuple{T}, Tuple{Type{T}, System}} where T<:AggregationTopology","page":"Public API Reference","title":"PowerSystems.get_aggregation_topology_mapping","text":"get_aggregation_topology_mapping(\n _::Type{T<:AggregationTopology},\n sys::System\n) -> Dict{String, Vector{ACBus}}\n\n\nReturn a mapping of AggregationTopology name to vector of buses within it.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_base_power-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_base_power","text":"get_base_power(sys::System) -> Float64\n\n\nReturn the system's base power.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_bus-Tuple{System, AbstractString}","page":"Public API Reference","title":"PowerSystems.get_bus","text":"get_bus(\n sys::System,\n name::AbstractString\n) -> Union{Nothing, InfrastructureSystems.InfrastructureSystemsComponent}\n\n\nReturn bus with name.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_bus-Tuple{System, Int64}","page":"Public API Reference","title":"PowerSystems.get_bus","text":"get_bus(sys::System, bus_number::Int64) -> Any\n\n\nReturn bus with bus_number.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_bus_numbers-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_bus_numbers","text":"get_bus_numbers(sys::System) -> Vector{Int64}\n\n\nReturn a sorted vector of bus numbers in the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_buses-Tuple{System, AggregationTopology}","page":"Public API Reference","title":"PowerSystems.get_buses","text":"get_buses(\n sys::System,\n aggregator::AggregationTopology\n) -> Vector{ACBus}\n\n\nReturn a vector of buses contained within the AggregationTopology.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_buses-Tuple{System, Set{Int64}}","page":"Public API Reference","title":"PowerSystems.get_buses","text":"get_buses(\n sys::System,\n bus_numbers::Set{Int64}\n) -> Vector{ACBus}\n\n\nReturn all buses values with bus_numbers.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_component-Tuple{System, Base.UUID}","page":"Public API Reference","title":"PowerSystems.get_component","text":"get_component(\n sys::System,\n uuid::Base.UUID\n) -> InfrastructureSystems.InfrastructureSystemsComponent\n\n\nGet the component by UUID.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_component-Union{Tuple{T}, Tuple{Type{T}, System, AbstractString}} where T<:Component","page":"Public API Reference","title":"PowerSystems.get_component","text":"get_component(\n _::Type{T<:Component},\n sys::System,\n name::AbstractString\n) -> Union{Nothing, InfrastructureSystems.InfrastructureSystemsComponent}\n\n\nGet the component of type T with name. Returns nothing if no component matches. If T is an abstract type then the names of components across all subtypes of T must be unique.\n\nSee get_components_by_name for abstract types with non-unique names across subtypes.\n\nThrows ArgumentError if T is not a concrete type and there is more than one component with requested name\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_components-Tuple{System, SupplementalAttribute}","page":"Public API Reference","title":"PowerSystems.get_components","text":"get_components(\n sys::System,\n attribute::SupplementalAttribute\n) -> Any\n\n\nReturn a vector of components that are attached to the supplemental attribute.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_components-Union{Tuple{T}, Tuple{Type{T}, System}} where T<:Component","page":"Public API Reference","title":"PowerSystems.get_components","text":"get_components(\n ::Type{T<:Component},\n sys::System;\n subsystem_name\n) -> InfrastructureSystems.FlattenIteratorWrapper{T, I} where {T<:Component, I<:(Vector)}\n\n\nReturns an iterator of components. T can be concrete or abstract. Call collect on the result if an array is desired.\n\nExamples\n\niter = PowerSystems.get_components(ThermalStandard, sys)\niter = PowerSystems.get_components(Generator, sys)\niter = PowerSystems.get_components(x -> PowerSystems.get_available(x), Generator, sys)\nthermal_gens = get_components(ThermalStandard, sys) do gen\n get_available(gen)\nend\ngenerators = collect(PowerSystems.get_components(Generator, sys))\n\n\nSee also: iterate_components\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_components_by_name-Union{Tuple{T}, Tuple{Type{T}, System, AbstractString}} where T<:Component","page":"Public API Reference","title":"PowerSystems.get_components_by_name","text":"get_components_by_name(\n _::Type{T<:Component},\n sys::System,\n name::AbstractString\n) -> Vector{T} where T<:InfrastructureSystems.InfrastructureSystemsComponent\n\n\nGet the components of abstract type T with name. Note that PowerSystems enforces unique names on each concrete type but not across concrete types.\n\nSee get_component if the concrete type is known.\n\nThrows ArgumentError if T is not an abstract type.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_components_in_aggregation_topology-Union{Tuple{T}, Tuple{Type{T}, System, AggregationTopology}} where T<:StaticInjection","page":"Public API Reference","title":"PowerSystems.get_components_in_aggregation_topology","text":"get_components_in_aggregation_topology(\n _::Type{T<:StaticInjection},\n sys::System,\n aggregator::AggregationTopology\n) -> Vector{T} where T<:StaticInjection\n\n\nReturn a vector of components with buses in the AggregationTopology.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_compression_settings-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_compression_settings","text":"get_compression_settings(sys::System) -> CompressionSettings\n\n\nReturn the compression settings used for system data such as time series arrays.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_contributing_device_mapping-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_contributing_device_mapping","text":"get_contributing_device_mapping(\n sys::System\n) -> Dict{@NamedTuple{type::DataType, name::String}, ServiceContributingDevices}\n\n\nReturn an instance of ServiceContributingDevicesMapping.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_contributing_devices-Union{Tuple{T}, Tuple{System, T}} where T<:Service","page":"Public API Reference","title":"PowerSystems.get_contributing_devices","text":"get_contributing_devices(\n sys::System,\n service::Service\n) -> Vector\n\n\nReturn a vector of devices contributing to the service.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_description-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_description","text":"get_description(sys::System) -> Union{Nothing, String}\n\n\nGet the description of the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_existing_component_types-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_existing_component_types","text":"get_existing_component_types(\n sys::System\n) -> Vector{DataType}\n\n\nReturn all the component types in the system. It does not return masked components.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_existing_device_types-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_existing_device_types","text":"get_existing_device_types(sys::System) -> Vector{DataType}\n\n\nReturn all the device types in the system. It does not return component types or masked components.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_ext-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_ext","text":"get_ext(sys::System) -> Union{Nothing, Dict{String, Any}}\n\n\nReturn a user-modifiable dictionary to store extra information.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_horizon-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_horizon","text":"get_forecast_horizon(sys::System) -> Any\n\n\nReturn the horizon for all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_initial_times-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_initial_times","text":"get_forecast_initial_times(sys::System) -> Any\n\n\nReturn the initial times for all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_initial_timestamp-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_initial_timestamp","text":"get_forecast_initial_timestamp(sys::System) -> Any\n\n\nReturn the initial_timestamp for all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_interval-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_interval","text":"get_forecast_interval(sys::System) -> Any\n\n\nReturn the interval for all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_forecast_window_count-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_forecast_window_count","text":"get_forecast_window_count(sys::System) -> Any\n\n\nReturn the window count for all forecasts.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_frequency-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_frequency","text":"get_frequency(sys::System) -> Float64\n\n\nReturn the system's frequency.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_runchecks-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_runchecks","text":"get_runchecks(sys::System) -> Bool\n\n\nReturn true if checks are enabled on the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_time_series_counts-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_time_series_counts","text":"get_time_series_counts(sys::System) -> TimeSeriesCounts\n\n\nReturns counts of time series including attachments to components and supplemental attributes.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_time_series_resolutions-Tuple{System}","page":"Public API Reference","title":"PowerSystems.get_time_series_resolutions","text":"get_time_series_resolutions(\n sys::System;\n time_series_type\n) -> Any\n\n\nReturn a sorted Vector of distinct resolutions for all time series of the given type (or all types).\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.has_component-Tuple{System, Type{<:Component}, AbstractString}","page":"Public API Reference","title":"PowerSystems.has_component","text":"has_component(\n sys::System,\n T::Type{<:Component},\n name::AbstractString\n) -> Bool\n\n\nCheck to see if the component of type T with name exists.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.has_component-Tuple{System, Type{<:Component}}","page":"Public API Reference","title":"PowerSystems.has_component","text":"has_component(sys::System, T::Type{<:Component})\n\n\nCheck to see if the component of type T exists.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.iterate_components-Tuple{System}","page":"Public API Reference","title":"PowerSystems.iterate_components","text":"iterate_components(\n sys::System\n) -> Base.Iterators.Flatten{Base.Generator{Base.ValueIterator{Dict{DataType, Dict{String, <:InfrastructureSystems.InfrastructureSystemsComponent}}}, InfrastructureSystems.var\"#112#113\"}}\n\n\nIterates over all components.\n\nExamples\n\nfor component in iterate_components(sys)\n @show component\nend\n\nSee also: get_components\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.iterate_supplemental_attributes-Tuple{System}","page":"Public API Reference","title":"PowerSystems.iterate_supplemental_attributes","text":"iterate_supplemental_attributes(\n sys::System\n) -> Base.Iterators.Flatten{Base.Generator{Base.ValueIterator{Dict{DataType, Dict{Base.UUID, <:SupplementalAttribute}}}, InfrastructureSystems.var\"#112#113\"}}\n\n\nIterates over all supplemental_attributes.\n\nExamples\n\nfor supplemental_attribute in iterate_supplemental_attributes(sys)\n @show supplemental_attribute\nend\n\nSee also: get_supplemental_attributes\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.open_time_series_store!","page":"Public API Reference","title":"PowerSystems.open_time_series_store!","text":"open_time_series_store!(\n func::Function,\n sys::System;\n ...\n) -> Any\nopen_time_series_store!(\n func::Function,\n sys::System,\n mode,\n args...;\n kwargs...\n) -> Any\n\n\nOpen the time series store for bulk additions or reads. This is recommended before calling addtimeseries! many times because of the overhead associated with opening and closing an HDF5 file.\n\nThis is not necessary for an in-memory time series store.\n\nExamples\n\n# Assume there is a system with an array of components and SingleTimeSeries\nopen_time_series_store!(sys, \"r+\") do\n for (component, ts) in zip(components, single_time_series)\n add_time_series!(sys, component, ts)\n end\nend\n\njulia>\n\n\n\n\n\n","category":"function"},{"location":"api/public/#PowerSystems.remove_component!-Union{Tuple{T}, Tuple{System, T}} where T<:Component","page":"Public API Reference","title":"PowerSystems.remove_component!","text":"remove_component!(sys::System, component::Component)\n\n\nRemove a component from the system by its value.\n\nThrows ArgumentError if the component is not stored.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_component!-Union{Tuple{T}, Tuple{Type{T}, System, AbstractString}} where T<:Component","page":"Public API Reference","title":"PowerSystems.remove_component!","text":"remove_component!(\n _::Type{T<:Component},\n sys::System,\n name::AbstractString\n)\n\n\nRemove a component from the system by its name.\n\nThrows ArgumentError if the component is not stored.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_supplemental_attribute!-Tuple{System, Component, SupplementalAttribute}","page":"Public API Reference","title":"PowerSystems.remove_supplemental_attribute!","text":"remove_supplemental_attribute!(\n sys::System,\n component::Component,\n attribute::SupplementalAttribute\n)\n\n\nRemove the supplemental attribute from the component. The attribute will be removed from the system if it is not attached to any other component.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_supplemental_attribute!-Tuple{System, SupplementalAttribute}","page":"Public API Reference","title":"PowerSystems.remove_supplemental_attribute!","text":"remove_supplemental_attribute!(\n sys::System,\n attribute::SupplementalAttribute\n)\n\n\nRemove the supplemental attribute from the system and all attached components.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_supplemental_attributes!-Union{Tuple{T}, Tuple{Type{T}, System}} where T<:SupplementalAttribute","page":"Public API Reference","title":"PowerSystems.remove_supplemental_attributes!","text":"remove_supplemental_attributes!(\n _::Type{T<:SupplementalAttribute},\n sys::System\n)\n\n\nRemove all supplemental attributes with the given type from the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_time_series!-Union{Tuple{T}, Tuple{System, Type{T}, Component, String}} where T<:TimeSeriesData","page":"Public API Reference","title":"PowerSystems.remove_time_series!","text":"remove_time_series!(\n sys::System,\n _::Type{T<:TimeSeriesData},\n component::Component,\n name::String\n)\n\n\nRemove the time series data for a component and time series type.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.remove_time_series!-Union{Tuple{T}, Tuple{System, Type{T}}} where T<:TimeSeriesData","page":"Public API Reference","title":"PowerSystems.remove_time_series!","text":"remove_time_series!(sys::System, _::Type{T<:TimeSeriesData})\n\n\nRemove all the time series data for a time series type.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.sanitize_component!-Tuple{Component, System}","page":"Public API Reference","title":"PowerSystems.sanitize_component!","text":"sanitize_component!(component::Component, sys::System)\n\n\nSanitize component values.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_contributing_services!-Tuple{System, ConstantReserveGroup, Vector{<:Service}}","page":"Public API Reference","title":"PowerSystems.set_contributing_services!","text":"set_contributing_services!(\n sys::System,\n service::ConstantReserveGroup,\n val::Vector{<:Service}\n)\n\n\nSet ConstantReserveGroup contributing_services with check\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_description!-Tuple{System, AbstractString}","page":"Public API Reference","title":"PowerSystems.set_description!","text":"set_description!(\n sys::System,\n description::AbstractString\n) -> AbstractString\n\n\nSet the description of the system.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_runchecks!-Tuple{System, Bool}","page":"Public API Reference","title":"PowerSystems.set_runchecks!","text":"set_runchecks!(sys::System, value::Bool)\n\n\nEnable or disable system checks. Applies to component addition as well as overall system consistency.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.set_units_base_system!-Tuple{System, String}","page":"Public API Reference","title":"PowerSystems.set_units_base_system!","text":"set_units_base_system!(system::System, settings::String)\n\n\nSets the units base for the getter functions on the devices. It modifies the behavior of all getter functions\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.transform_single_time_series!-Tuple{System, Dates.Period, Dates.Period}","page":"Public API Reference","title":"PowerSystems.transform_single_time_series!","text":"transform_single_time_series!(\n sys::System,\n horizon::Dates.Period,\n interval::Dates.Period\n)\n\n\nTransform all instances of SingleTimeSeries to DeterministicSingleTimeSeries. If all SingleTimeSeries instances cannot be transformed then none will be.\n\nAny existing DeterministicSingleTimeSeries forecasts will be deleted even if the inputs are invalid.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.validate_component-Tuple{Component}","page":"Public API Reference","title":"PowerSystems.validate_component","text":"validate_component(component::Component) -> Bool\n\n\nValidate the component fields using only those fields. Refer to validate_component_with_system to use other System data for the validation.\n\nReturn true if the instance is valid.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.validate_component_with_system-Tuple{Component, System}","page":"Public API Reference","title":"PowerSystems.validate_component_with_system","text":"validate_component_with_system(\n component::Component,\n sys::System\n) -> Bool\n\n\nValidate a component against System data. Return true if the instance is valid.\n\nRefer to validate_component if the validation logic only requires data contained within the instance.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#Additional-Component-Methods","page":"Public API Reference","title":"Additional Component Methods","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"supplemental_accessors.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"api/public/#PowerSystems.get_max_active_power-Tuple{T} where T<:Device","page":"Public API Reference","title":"PowerSystems.get_max_active_power","text":"get_max_active_power(d::Device) -> Any\n\n\nReturn the max active power for a device from getactivepower_limits.max\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_max_reactive_power-Tuple{RenewableDispatch}","page":"Public API Reference","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(d::RenewableDispatch) -> Any\n\n\nReturn the max reactive power for the Renewable Generation calculated as the rating * powerfactor if reactivepower_limits is nothing\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_max_reactive_power-Tuple{T} where T<:Device","page":"Public API Reference","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(d::Device) -> Any\n\n\nReturn the max reactive power for a device from getreactivepower_limits.max\n\n\n\n\n\n","category":"method"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [InfrastructureSystems]\nPages = [\"time_series_interface.jl\", \"time_series_structs.jl\"]\nFilter = t -> t ∈ [InfrastructureSystems.get_time_series,\n InfrastructureSystems.get_time_series_array,\n InfrastructureSystems.get_time_series_timestamps,\n InfrastructureSystems.get_time_series_values,\n InfrastructureSystems.TimeSeriesAssociation,\n ]","category":"page"},{"location":"api/public/#InfrastructureSystems.get_time_series","page":"Public API Reference","title":"InfrastructureSystems.get_time_series","text":"get_time_series(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n key::TimeSeriesKey\n) -> Any\nget_time_series(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n key::TimeSeriesKey,\n start_time::Union{Nothing, Dates.DateTime}\n) -> Any\nget_time_series(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n key::TimeSeriesKey,\n start_time::Union{Nothing, Dates.DateTime},\n len::Union{Nothing, Int64}\n) -> Any\nget_time_series(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n key::TimeSeriesKey,\n start_time::Union{Nothing, Dates.DateTime},\n len::Union{Nothing, Int64},\n count::Union{Nothing, Int64}\n) -> Any\n\n\nReturn a time series corresponding to the given parameters.\n\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\nkey::TimeSeriesKey: the time series' key\nstart_time::Union{Nothing, Dates.DateTime} = nothing: If nothing, use the initial_timestamp of the time series. If the time series is a subtype of Forecast then start_time must be the first timstamp of a window.\nlen::Union{Nothing, Int} = nothing: Length in the time dimension. If nothing, use the entire length.\ncount::Union{Nothing, Int} = nothing: Only applicable to subtypes of Forecast. Number of forecast windows starting at start_time to return. Defaults to all available.\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.get_time_series-Union{Tuple{T}, Tuple{Type{T}, Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}, AbstractString}} where T<:TimeSeriesData","page":"Public API Reference","title":"InfrastructureSystems.get_time_series","text":"get_time_series(\n ::Type{T<:TimeSeriesData},\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n name::AbstractString;\n start_time,\n len,\n count,\n features...\n) -> Any\n\n\nReturn a time series corresponding to the given parameters.\n\nArguments\n\n::Type{T}: Concrete subtype of TimeSeriesData to return\nowner::TimeSeriesOwners: Component or attribute containing the time series\nname::AbstractString: name of time series\nstart_time::Union{Nothing, Dates.DateTime} = nothing: If nothing, use the initial_timestamp of the time series. If T is a subtype of Forecast then start_time must be the first timstamp of a window.\nlen::Union{Nothing, Int} = nothing: Length in the time dimension. If nothing, use the entire length.\ncount::Union{Nothing, Int} = nothing: Only applicable to subtypes of Forecast. Number of forecast windows starting at start_time to return. Defaults to all available.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_array","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_array","text":"get_time_series_array(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n time_series::StaticTimeSeries;\n ...\n) -> Any\nget_time_series_array(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n time_series::StaticTimeSeries,\n start_time::Union{Nothing, Dates.DateTime};\n len,\n ignore_scaling_factors\n) -> Any\n\n\nReturn a TimeSeries.TimeArray from a cached StaticTimeSeries instance.\n\nIf the data are scaling factors then the stored scalingfactormultiplier will be called on the owner and applied to the data unless ignorescalingfactors is true.\n\nSee also StaticTimeSeriesCache.\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.get_time_series_array-Tuple{Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}, Forecast, Dates.DateTime}","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_array","text":"get_time_series_array(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n forecast::Forecast,\n start_time::Dates.DateTime;\n len,\n ignore_scaling_factors\n) -> Any\n\n\nReturn a TimeSeries.TimeArray for one forecast window from a cached Forecast instance.\n\nIf the data are scaling factors then the stored scalingfactormultiplier will be called on the owner and applied to the data unless ignorescalingfactors is true.\n\nSee also ForecastCache.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_array-Union{Tuple{T}, Tuple{Type{T}, Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}, AbstractString}} where T<:TimeSeriesData","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_array","text":"get_time_series_array(\n ::Type{T<:TimeSeriesData},\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n name::AbstractString;\n start_time,\n len,\n ignore_scaling_factors,\n features...\n) -> Any\n\n\nReturn a TimeSeries.TimeArray from storage for the given time series parameters.\n\nIf the data are scaling factors then the stored scalingfactormultiplier will be called on the owner and applied to the data unless ignorescalingfactors is true.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_timestamps","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_timestamps","text":"get_time_series_timestamps(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n time_series::StaticTimeSeries;\n ...\n) -> Vector{D} where D<:Dates.TimeType\nget_time_series_timestamps(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n time_series::StaticTimeSeries,\n start_time::Union{Nothing, Dates.DateTime};\n len\n) -> Vector{D} where D<:Dates.TimeType\n\n\nReturn a vector of timestamps from a cached StaticTimeSeries instance.\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.get_time_series_timestamps-2","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_timestamps","text":"get_time_series_timestamps(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n forecast::Forecast;\n ...\n)\nget_time_series_timestamps(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n forecast::Forecast,\n start_time::Union{Nothing, Dates.DateTime};\n len\n) -> Vector{D} where D<:Dates.TimeType\n\n\nReturn a vector of timestamps from a cached Forecast instance.\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.get_time_series_timestamps-Union{Tuple{T}, Tuple{Type{T}, Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}, AbstractString}} where T<:TimeSeriesData","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_timestamps","text":"get_time_series_timestamps(\n ::Type{T<:TimeSeriesData},\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n name::AbstractString;\n start_time,\n len,\n features...\n) -> Vector{D} where D<:Dates.TimeType\n\n\nReturn a vector of timestamps from storage for the given time series parameters.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_values","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_values","text":"get_time_series_values(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n time_series::StaticTimeSeries;\n ...\n) -> Any\nget_time_series_values(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n time_series::StaticTimeSeries,\n start_time::Union{Nothing, Dates.DateTime};\n len,\n ignore_scaling_factors\n) -> Any\n\n\nReturn an Array of values from a cached StaticTimeSeries instance for the requested time series parameters.\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.get_time_series_values-Tuple{Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}, Forecast, Dates.DateTime}","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_values","text":"get_time_series_values(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n forecast::Forecast,\n start_time::Dates.DateTime;\n len,\n ignore_scaling_factors\n) -> Any\n\n\nReturn an Array of values for one forecast window from a cached Forecast instance.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_values-Union{Tuple{T}, Tuple{Type{T}, Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}, AbstractString}} where T<:TimeSeriesData","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_values","text":"get_time_series_values(\n ::Type{T<:TimeSeriesData},\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},\n name::AbstractString;\n start_time,\n len,\n ignore_scaling_factors,\n features...\n) -> Any\n\n\nReturn an Array of values from storage for the requested time series parameters.\n\nIf the data size is small and this will be called many times, consider using the version that accepts a cached TimeSeriesData instance.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.TimeSeriesAssociation","page":"Public API Reference","title":"InfrastructureSystems.TimeSeriesAssociation","text":"Defines an association between a time series owner (component or supplemental attribute) and the time series metadata.\n\nExamples\n\nassociation1 = TimeSeriesAssociation(component, time_series)\nassociation2 = TimeSeriesAssociation(component, time_series, scenario = \"high\")\n\n\n\n\n\n","category":"type"},{"location":"api/public/#Parsing","page":"Public API Reference","title":"Parsing","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"parsers/power_system_table_data.jl\",\n \"parsers/power_models_data.jl\",\n \"parsers/TAMU_data.jl\",\n \"parsers/psse_dynamic_data.jl\"]\nPublic = true\nPrivate = false\nFilter = t -> t ∉ [System]","category":"page"},{"location":"api/public/#PowerSystems.PowerSystemTableData-Tuple{AbstractString, Float64, AbstractString}","page":"Public API Reference","title":"PowerSystems.PowerSystemTableData","text":"PowerSystemTableData(\n directory::AbstractString,\n base_power::Float64,\n user_descriptor_file::AbstractString;\n descriptor_file,\n generator_mapping_file,\n timeseries_metadata_file\n) -> PowerSystemTableData\n\n\nReads in all the data stored in csv files The general format for data is folder: gen.csv branch.csv bus.csv .. load.csv\n\nArguments\n\ndirectory::AbstractString: directory containing CSV files\nbase_power::Float64: base power for System\nuser_descriptor_file::AbstractString: customized input descriptor file\ndescriptor_file=POWER_SYSTEM_DESCRIPTOR_FILE: PowerSystems descriptor file\ngenerator_mapping_file=GENERATOR_MAPPING_FILE: generator mapping configuration file\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.PowerModelsData","page":"Public API Reference","title":"PowerSystems.PowerModelsData","text":"Container for data parsed by PowerModels\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.PowerModelsData-Tuple{Union{IO, String}}","page":"Public API Reference","title":"PowerSystems.PowerModelsData","text":"PowerModelsData(\n file::Union{IO, String};\n kwargs...\n) -> PowerModelsData\n\n\nConstructs PowerModelsData from a raw file. Currently Supports MATPOWER and PSSE data files parsed by PowerModels.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.TamuSystem-Tuple{AbstractString}","page":"Public API Reference","title":"PowerSystems.TamuSystem","text":"TamuSystem(tamu_folder::AbstractString; kwargs...) -> Any\n\n\nCreates a system from a PSS/e .RAW (v33) load flow case, and an associated .csv with MW load time series data. The format is established by the Texas A&M University Test Case Archive\n\nThe general format for data is folder: [casename].raw [casename]loadtimeseriesMW.csv\n\nArguments\n\ndirectory::AbstractString: directory containing RAW and CSV files\n\nExamples\n\nsys = TamuSystem(\n \"./ACTIVSg25k\",\n config_path = \"ACTIVSg25k_validation.json\",\n bus_name_formatter = x->string(x[\"name\"]*\"-\"*string(x[\"index\"])),\n load_name_formatter = x->strip(join(x[\"source_id\"], \"_\"))\n)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_dyn_injectors!-Tuple{System, AbstractString}","page":"Public API Reference","title":"PowerSystems.add_dyn_injectors!","text":"add_dyn_injectors!(sys::System, dyr_file::AbstractString)\n\n\nAdd to a system already created the dynamic components. The system should already be parsed from a .raw file.\n\nExamples:\n\ndyr_file = \"Example.dyr\"\nadd_dyn_injectors!(sys, dyr_file)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#logging","page":"Public API Reference","title":"Logging","text":"","category":"section"},{"location":"api/public/","page":"Public API Reference","title":"Public API Reference","text":"Modules = [PowerSystems]\nPages = [\"utils/logging.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"api/public/#PowerSystems.configure_logging-Tuple{}","page":"Public API Reference","title":"PowerSystems.configure_logging","text":"configure_logging(\n;\n console_level,\n file_level,\n filename\n) -> MultiLogger\n\n\nCreates console and file loggers.\n\nNote: Log messages may not be written to the file until flush() or close() is called on the returned logger.\n\nArguments\n\nconsole_level = Logging.Error: level for console messages\nfile_level = Logging.Info: level for file messages\nfilename::Union{Nothing, AbstractString} = \"power-systems.log\": log file; pass nothing to disable file logging\n\nExample\n\nlogger = configure_logging(console_level = Logging.Info)\n@info \"log message\"\nclose(logger)\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#Reserves","page":"Reserves","title":"Reserves","text":"","category":"section"},{"location":"model_library/reserves/#Constant-Reserve","page":"Reserves","title":"Constant Reserve","text":"","category":"section"},{"location":"model_library/reserves/","page":"Reserves","title":"Reserves","text":"Modules = [PowerSystems]\nPages = [\"generated/ConstantReserve.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/reserves/#PowerSystems.ConstantReserve","page":"Reserves","title":"PowerSystems.ConstantReserve","text":"mutable struct ConstantReserve{T <: ReserveDirection} <: Reserve{T}\n name::String\n available::Bool\n time_frame::Float64\n requirement::Float64\n sustained_time::Float64\n max_output_fraction::Float64\n max_participation_factor::Float64\n deployed_fraction::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA reserve product with a constant procurement requirement, such as 3% of the system base power at all times.\n\nThis reserve product includes online generators that can respond right away after an unexpected contingency, such as a transmission line or generator outage. When defining the reserve, the ReserveDirection must be specified to define this as a ReserveUp, ReserveDown, or ReserveSymmetric\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\ntime_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing)\nrequirement::Float64: the value of required reserves in p.u. (SYSTEM_BASE), validation range: (0, nothing)\nsustained_time::Float64: (default: 3600.0) the time in seconds reserve contribution must sustained at a specified level, validation range: (0, nothing)\nmax_output_fraction::Float64: (default: 1.0) the maximum fraction of each device's output that can be assigned to the service, validation range: (0, 1)\nmax_participation_factor::Float64: (default: 1.0) the maximum portion [0, 1.0] of the reserve that can be contributed per device, validation range: (0, 1)\ndeployed_fraction::Float64: (default: 0.0) Fraction of service procurement that is assumed to be actually deployed. Most commonly, this is assumed to be either 0.0 or 1.0, validation range: (0, 1)\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/reserves/#InfrastructureSystems.get_name-Tuple{ConstantReserve}","page":"Reserves","title":"InfrastructureSystems.get_name","text":"get_name(value::ConstantReserve) -> String\n\n\nGet ConstantReserve name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_available-Tuple{ConstantReserve}","page":"Reserves","title":"PowerSystems.get_available","text":"get_available(value::ConstantReserve) -> Bool\n\n\nGet ConstantReserve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_deployed_fraction-Tuple{ConstantReserve}","page":"Reserves","title":"PowerSystems.get_deployed_fraction","text":"get_deployed_fraction(value::ConstantReserve) -> Float64\n\n\nGet ConstantReserve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_ext-Tuple{ConstantReserve}","page":"Reserves","title":"PowerSystems.get_ext","text":"get_ext(value::ConstantReserve) -> Dict{String, Any}\n\n\nGet ConstantReserve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_max_output_fraction-Tuple{ConstantReserve}","page":"Reserves","title":"PowerSystems.get_max_output_fraction","text":"get_max_output_fraction(value::ConstantReserve) -> Float64\n\n\nGet ConstantReserve max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_max_participation_factor-Tuple{ConstantReserve}","page":"Reserves","title":"PowerSystems.get_max_participation_factor","text":"get_max_participation_factor(\n value::ConstantReserve\n) -> Float64\n\n\nGet ConstantReserve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_requirement-Tuple{ConstantReserve}","page":"Reserves","title":"PowerSystems.get_requirement","text":"get_requirement(value::ConstantReserve) -> Any\n\n\nGet ConstantReserve requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_sustained_time-Tuple{ConstantReserve}","page":"Reserves","title":"PowerSystems.get_sustained_time","text":"get_sustained_time(value::ConstantReserve) -> Float64\n\n\nGet ConstantReserve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_time_frame-Tuple{ConstantReserve}","page":"Reserves","title":"PowerSystems.get_time_frame","text":"get_time_frame(value::ConstantReserve) -> Float64\n\n\nGet ConstantReserve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_available!-Tuple{ConstantReserve, Any}","page":"Reserves","title":"PowerSystems.set_available!","text":"set_available!(value::ConstantReserve, val) -> Any\n\n\nSet ConstantReserve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_deployed_fraction!-Tuple{ConstantReserve, Any}","page":"Reserves","title":"PowerSystems.set_deployed_fraction!","text":"set_deployed_fraction!(value::ConstantReserve, val) -> Any\n\n\nSet ConstantReserve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_ext!-Tuple{ConstantReserve, Any}","page":"Reserves","title":"PowerSystems.set_ext!","text":"set_ext!(value::ConstantReserve, val) -> Any\n\n\nSet ConstantReserve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_max_output_fraction!-Tuple{ConstantReserve, Any}","page":"Reserves","title":"PowerSystems.set_max_output_fraction!","text":"set_max_output_fraction!(value::ConstantReserve, val) -> Any\n\n\nSet ConstantReserve max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_max_participation_factor!-Tuple{ConstantReserve, Any}","page":"Reserves","title":"PowerSystems.set_max_participation_factor!","text":"set_max_participation_factor!(\n value::ConstantReserve,\n val\n) -> Any\n\n\nSet ConstantReserve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_requirement!-Tuple{ConstantReserve, Any}","page":"Reserves","title":"PowerSystems.set_requirement!","text":"set_requirement!(value::ConstantReserve, val) -> Any\n\n\nSet ConstantReserve requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_sustained_time!-Tuple{ConstantReserve, Any}","page":"Reserves","title":"PowerSystems.set_sustained_time!","text":"set_sustained_time!(value::ConstantReserve, val) -> Any\n\n\nSet ConstantReserve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_time_frame!-Tuple{ConstantReserve, Any}","page":"Reserves","title":"PowerSystems.set_time_frame!","text":"set_time_frame!(value::ConstantReserve, val) -> Any\n\n\nSet ConstantReserve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#Constant-Reserve-Group","page":"Reserves","title":"Constant Reserve Group","text":"","category":"section"},{"location":"model_library/reserves/","page":"Reserves","title":"Reserves","text":"Modules = [PowerSystems]\nPages = [\"generated/ConstantReserveGroup.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/reserves/#PowerSystems.ConstantReserveGroup","page":"Reserves","title":"PowerSystems.ConstantReserveGroup","text":"mutable struct ConstantReserveGroup{T <: ReserveDirection} <: Service\n name::String\n available::Bool\n requirement::Float64\n ext::Dict{String, Any}\n contributing_services::Vector{Service}\n internal::InfrastructureSystemsInternal\nend\n\nA reserve product met by a group of individual reserves.\n\nThe group reserve requirement is added in addition to any individual reserve requirements, and devices that contribute to individual reserves within the group can also contribute to the overarching group reserve requirement. Example: A group of spinning and non-spinning reserves, where online generators providing spinning reserves can also contribute to the non-spinning reserve requirement.\n\nThis model has a constant procurement requirement, such as 3% of the system base power at all times. When defining the reserve, the ReserveDirection must be specified to define this as a ReserveUp, ReserveDown, or ReserveSymmetric\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nrequirement::Float64: the value of required reserves in p.u. (SYSTEM_BASE), validation range: (0, nothing)\next::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. See Adding additional fields\ncontributing_services::Vector{Service}: (default: Vector{Service}()) Services that contribute to this group requirement. Services must be added for this constraint to have an effect when conducting simulations in PowerSimulations.jl\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/reserves/#InfrastructureSystems.get_name-Tuple{ConstantReserveGroup}","page":"Reserves","title":"InfrastructureSystems.get_name","text":"get_name(value::ConstantReserveGroup) -> String\n\n\nGet ConstantReserveGroup name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_available-Tuple{ConstantReserveGroup}","page":"Reserves","title":"PowerSystems.get_available","text":"get_available(value::ConstantReserveGroup) -> Bool\n\n\nGet ConstantReserveGroup available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_contributing_services-Tuple{ConstantReserveGroup}","page":"Reserves","title":"PowerSystems.get_contributing_services","text":"get_contributing_services(\n value::ConstantReserveGroup\n) -> Vector{Service}\n\n\nGet ConstantReserveGroup contributing_services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_ext-Tuple{ConstantReserveGroup}","page":"Reserves","title":"PowerSystems.get_ext","text":"get_ext(value::ConstantReserveGroup) -> Dict{String, Any}\n\n\nGet ConstantReserveGroup ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_requirement-Tuple{ConstantReserveGroup}","page":"Reserves","title":"PowerSystems.get_requirement","text":"get_requirement(value::ConstantReserveGroup) -> Any\n\n\nGet ConstantReserveGroup requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_available!-Tuple{ConstantReserveGroup, Any}","page":"Reserves","title":"PowerSystems.set_available!","text":"set_available!(value::ConstantReserveGroup, val) -> Any\n\n\nSet ConstantReserveGroup available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_ext!-Tuple{ConstantReserveGroup, Any}","page":"Reserves","title":"PowerSystems.set_ext!","text":"set_ext!(value::ConstantReserveGroup, val) -> Any\n\n\nSet ConstantReserveGroup ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_requirement!-Tuple{ConstantReserveGroup, Any}","page":"Reserves","title":"PowerSystems.set_requirement!","text":"set_requirement!(value::ConstantReserveGroup, val) -> Any\n\n\nSet ConstantReserveGroup requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#Variable-Reserve","page":"Reserves","title":"Variable Reserve","text":"","category":"section"},{"location":"model_library/reserves/","page":"Reserves","title":"Reserves","text":"Modules = [PowerSystems]\nPages = [\"generated/VariableReserve.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/reserves/#PowerSystems.VariableReserve","page":"Reserves","title":"PowerSystems.VariableReserve","text":"mutable struct VariableReserve{T <: ReserveDirection} <: Reserve{T}\n name::String\n available::Bool\n time_frame::Float64\n requirement::Float64\n sustained_time::Float64\n max_output_fraction::Float64\n max_participation_factor::Float64\n deployed_fraction::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA reserve product with a time-varying procurement requirement, such as a higher requirement during hours with an expected high load or high ramp.\n\nThis reserve product includes online generators that can respond right away after an unexpected contingency, such as a transmission line or generator outage. When defining the reserve, the ReserveDirection must be specified to define this as a ReserveUp, ReserveDown, or ReserveSymmetric. To model the time varying requirement, a \"requirement\" time series should be added to this reserve\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\ntime_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing)\nrequirement::Float64: the required quantity of the product should be scaled by a TimeSeriesData\nsustained_time::Float64: (default: 3600.0) the time in seconds reserve contribution must sustained at a specified level, validation range: (0, nothing)\nmax_output_fraction::Float64: (default: 1.0) the maximum fraction of each device's output that can be assigned to the service, validation range: (0, 1)\nmax_participation_factor::Float64: (default: 1.0) the maximum portion [0, 1.0] of the reserve that can be contributed per device, validation range: (0, 1)\ndeployed_fraction::Float64: (default: 0.0) Fraction of service procurement that is assumed to be actually deployed. Most commonly, this is assumed to be either 0.0 or 1.0, validation range: (0, 1)\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/reserves/#InfrastructureSystems.get_name-Tuple{VariableReserve}","page":"Reserves","title":"InfrastructureSystems.get_name","text":"get_name(value::VariableReserve) -> String\n\n\nGet VariableReserve name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_available-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_available","text":"get_available(value::VariableReserve) -> Bool\n\n\nGet VariableReserve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_deployed_fraction-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_deployed_fraction","text":"get_deployed_fraction(value::VariableReserve) -> Float64\n\n\nGet VariableReserve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_ext-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_ext","text":"get_ext(value::VariableReserve) -> Dict{String, Any}\n\n\nGet VariableReserve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_max_output_fraction-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_max_output_fraction","text":"get_max_output_fraction(value::VariableReserve) -> Float64\n\n\nGet VariableReserve max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_max_participation_factor-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_max_participation_factor","text":"get_max_participation_factor(\n value::VariableReserve\n) -> Float64\n\n\nGet VariableReserve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_requirement-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_requirement","text":"get_requirement(value::VariableReserve) -> Float64\n\n\nGet VariableReserve requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_sustained_time-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_sustained_time","text":"get_sustained_time(value::VariableReserve) -> Float64\n\n\nGet VariableReserve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_time_frame-Tuple{VariableReserve}","page":"Reserves","title":"PowerSystems.get_time_frame","text":"get_time_frame(value::VariableReserve) -> Float64\n\n\nGet VariableReserve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_available!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_available!","text":"set_available!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_deployed_fraction!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_deployed_fraction!","text":"set_deployed_fraction!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_ext!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_ext!","text":"set_ext!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_max_output_fraction!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_max_output_fraction!","text":"set_max_output_fraction!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve max_output_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_max_participation_factor!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_max_participation_factor!","text":"set_max_participation_factor!(\n value::VariableReserve,\n val\n) -> Any\n\n\nSet VariableReserve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_requirement!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_requirement!","text":"set_requirement!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve requirement.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_sustained_time!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_sustained_time!","text":"set_sustained_time!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_time_frame!-Tuple{VariableReserve, Any}","page":"Reserves","title":"PowerSystems.set_time_frame!","text":"set_time_frame!(value::VariableReserve, val) -> Any\n\n\nSet VariableReserve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#Reserve-Demand-Curve","page":"Reserves","title":"Reserve Demand Curve","text":"","category":"section"},{"location":"model_library/reserves/","page":"Reserves","title":"Reserves","text":"Modules = [PowerSystems]\nPages = [\"generated/ReserveDemandCurve.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/reserves/#PowerSystems.ReserveDemandCurve","page":"Reserves","title":"PowerSystems.ReserveDemandCurve","text":"mutable struct ReserveDemandCurve{T <: ReserveDirection} <: Reserve{T}\n variable::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}\n name::String\n available::Bool\n time_frame::Float64\n sustained_time::Float64\n max_participation_factor::Float64\n deployed_fraction::Float64\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA reserve product with an Operating Reserve Demand Curve (ORDC) for operational simulations.\n\nThe ORDC is modeled as a discretized set of (Reserve capacity (MW), Price ($/MWh)) steps, which can vary with time. Use set_variable_cost! to define the ORDCs.\n\nWhen defining the reserve, the ReserveDirection must be specified to define this as a ReserveUp, ReserveDown, or ReserveSymmetric\n\nArguments\n\nvariable::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}: Create this object with variable = nothing, then add assign a cost curve or time-series of variable_cost using the set_variable_cost! function, which will automatically update this parameter\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\ntime_frame::Float64: the saturation time_frame in minutes to provide reserve contribution, validation range: (0, nothing)\nsustained_time::Float64: (default: 3600.0) the time in seconds that the reserve contribution must sustained at a specified level, validation range: (0, nothing)\nmax_participation_factor::Float64: (default: 1.0) the maximum portion [0, 1.0] of the reserve that can be contributed per device, validation range: (0, 1)\ndeployed_fraction::Float64: (default: 0.0) Fraction of service procurement that is assumed to be actually deployed. Most commonly, this is assumed to be either 0.0 or 1.0, validation range: (0, 1)\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/reserves/#InfrastructureSystems.get_name-Tuple{ReserveDemandCurve}","page":"Reserves","title":"InfrastructureSystems.get_name","text":"get_name(value::ReserveDemandCurve) -> String\n\n\nGet ReserveDemandCurve name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_available-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_available","text":"get_available(value::ReserveDemandCurve) -> Bool\n\n\nGet ReserveDemandCurve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_deployed_fraction-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_deployed_fraction","text":"get_deployed_fraction(value::ReserveDemandCurve) -> Float64\n\n\nGet ReserveDemandCurve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_ext-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_ext","text":"get_ext(value::ReserveDemandCurve) -> Dict{String, Any}\n\n\nGet ReserveDemandCurve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_max_participation_factor-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_max_participation_factor","text":"get_max_participation_factor(\n value::ReserveDemandCurve\n) -> Float64\n\n\nGet ReserveDemandCurve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_sustained_time-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_sustained_time","text":"get_sustained_time(value::ReserveDemandCurve) -> Float64\n\n\nGet ReserveDemandCurve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_time_frame-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_time_frame","text":"get_time_frame(value::ReserveDemandCurve) -> Float64\n\n\nGet ReserveDemandCurve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.get_variable-Tuple{ReserveDemandCurve}","page":"Reserves","title":"PowerSystems.get_variable","text":"get_variable(\n value::ReserveDemandCurve\n) -> Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}\n\n\nGet ReserveDemandCurve variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_available!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_available!","text":"set_available!(value::ReserveDemandCurve, val) -> Any\n\n\nSet ReserveDemandCurve available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_deployed_fraction!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_deployed_fraction!","text":"set_deployed_fraction!(\n value::ReserveDemandCurve,\n val\n) -> Any\n\n\nSet ReserveDemandCurve deployed_fraction.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_ext!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_ext!","text":"set_ext!(value::ReserveDemandCurve, val) -> Any\n\n\nSet ReserveDemandCurve ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_max_participation_factor!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_max_participation_factor!","text":"set_max_participation_factor!(\n value::ReserveDemandCurve,\n val\n) -> Any\n\n\nSet ReserveDemandCurve max_participation_factor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_sustained_time!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_sustained_time!","text":"set_sustained_time!(value::ReserveDemandCurve, val) -> Any\n\n\nSet ReserveDemandCurve sustained_time.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_time_frame!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_time_frame!","text":"set_time_frame!(value::ReserveDemandCurve, val) -> Any\n\n\nSet ReserveDemandCurve time_frame.\n\n\n\n\n\n","category":"method"},{"location":"model_library/reserves/#PowerSystems.set_variable!-Tuple{ReserveDemandCurve, Any}","page":"Reserves","title":"PowerSystems.set_variable!","text":"set_variable!(value::ReserveDemandCurve, val) -> Any\n\n\nSet ReserveDemandCurve variable.\n\n\n\n\n\n","category":"method"},{"location":"tutorials/modifying_data/","page":"-","title":"-","text":"using PowerSystems\nusing PowerSystemCaseBuilder\n\nc_sys5_pjm_da = build_system(PSITestSystems, \"c_sys5_pjm\")\ntransform_single_time_series!(c_sys5_pjm_da, Hour(24), Hour(24))\nc_sys5_pjm_rt = build_system(PSITestSystems, \"c_sys5_pjm_rt\")\ntransform_single_time_series!(c_sys5_pjm_rt, Hour(24), Hour(1))\n\nfor sys in [c_sys5_pjm_da, c_sys5_pjm_rt]\n th = get_component(ThermalStandard, sys, \"Park City\")\n set_active_power_limits!(th, (min = 0.1, max = 1.7))\n set_status!(th, false)\n set_active_power!(th, 0.0)\n c = get_operation_cost(th)\n c.start_up = 1500\n c.shut_down = 75\n set_time_at_status!(th, 1)\n\n th = get_component(ThermalStandard, sys, \"Alta\")\n set_time_limits!(th, (up = 5, down = 1))\n set_active_power_limits!(th, (min = 0.05, max = 0.4))\n set_active_power!(th, 0.05)\n c = get_operation_cost(th)\n c.start_up = 400\n c.shut_down = 200\n set_time_at_status!(th, 2)\n\n th = get_component(ThermalStandard, sys, \"Brighton\")\n set_active_power_limits!(th, (min = 2.0, max = 6.0))\n c = get_operation_cost(th)\n set_active_power!(th, 4.88041)\n c.start_up = 5000\n c.shut_down = 3000\n\n th = get_component(ThermalStandard, sys, \"Sundance\")\n set_active_power_limits!(th, (min = 1.0, max = 2.0))\n set_time_limits!(th, (up = 5, down = 1))\n set_active_power!(th, 2.0)\n c = get_operation_cost(th)\n c.start_up = 4000\n c.shut_down = 2000\n set_time_at_status!(th, 1)\n\n th = get_component(ThermalStandard, sys, \"Solitude\")\n set_active_power_limits!(th, (min = 1.0, max = 5.2))\n set_ramp_limits!(th, (up = 0.0052, down = 0.0052))\n set_active_power!(th, 2.0)\n c = get_operation_cost(th)\n c.start_up = 3000\n c.shut_down = 1500\nend\n\nto_json(c_sys5_pjm_da, \"c_sys5_pjm_da.json\")\nto_json(c_sys5_pjm_rt, \"c_sys5_pjm_rt.json\")","category":"page"},{"location":"model_library/generated_DCSource/#DCSource","page":"DCSource","title":"DCSource","text":"","category":"section"},{"location":"model_library/generated_DCSource/#FixedDCSource","page":"DCSource","title":"FixedDCSource","text":"","category":"section"},{"location":"model_library/generated_DCSource/","page":"DCSource","title":"DCSource","text":"Modules = [PowerSystems]\nPages = [\"/FixedDCSource.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_DCSource/#PowerSystems.FixedDCSource","page":"DCSource","title":"PowerSystems.FixedDCSource","text":"mutable struct FixedDCSource <: DCSource\n voltage::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of a Fixed DC Source that returns a fixed DC voltage\n\nArguments\n\nvoltage::Float64: Voltage (V), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) FixedDCSource has no states\nn_states::Int: (Do not modify.) FixedDCSource has no states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_DCSource/#PowerSystems.get_ext-Tuple{FixedDCSource}","page":"DCSource","title":"PowerSystems.get_ext","text":"get_ext(value::FixedDCSource) -> Dict{String, Any}\n\n\nGet FixedDCSource ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_n_states-Tuple{FixedDCSource}","page":"DCSource","title":"PowerSystems.get_n_states","text":"get_n_states(value::FixedDCSource) -> Int64\n\n\nGet FixedDCSource n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_states-Tuple{FixedDCSource}","page":"DCSource","title":"PowerSystems.get_states","text":"get_states(value::FixedDCSource) -> Vector{Symbol}\n\n\nGet FixedDCSource states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_voltage-Tuple{FixedDCSource}","page":"DCSource","title":"PowerSystems.get_voltage","text":"get_voltage(value::FixedDCSource) -> Float64\n\n\nGet FixedDCSource voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_ext!-Tuple{FixedDCSource, Any}","page":"DCSource","title":"PowerSystems.set_ext!","text":"set_ext!(value::FixedDCSource, val) -> Any\n\n\nSet FixedDCSource ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_voltage!-Tuple{FixedDCSource, Any}","page":"DCSource","title":"PowerSystems.set_voltage!","text":"set_voltage!(value::FixedDCSource, val) -> Any\n\n\nSet FixedDCSource voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#ZeroOrderBESS","page":"DCSource","title":"ZeroOrderBESS","text":"","category":"section"},{"location":"model_library/generated_DCSource/","page":"DCSource","title":"DCSource","text":"Modules = [PowerSystems]\nPages = [\"/ZeroOrderBESS.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_DCSource/#PowerSystems.ZeroOrderBESS","page":"DCSource","title":"PowerSystems.ZeroOrderBESS","text":"mutable struct ZeroOrderBESS <: DCSource\n rated_voltage::Float64\n rated_current::Float64\n battery_voltage::Float64\n battery_resistance::Float64\n dc_dc_inductor::Float64\n dc_link_capacitance::Float64\n fs::Float64\n kpv::Float64\n kiv::Float64\n kpi::Float64\n kii::Float64\n Vdc_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters for the DC-side with a Battery Energy Storage System from \"Grid-Coupled Dynamic Response of Battery-Driven Voltage Source Converters.\"\n\nArguments\n\nrated_voltage::Float64: Rated voltage (V), validation range: (0, nothing)\nrated_current::Float64: Rated current (A), validation range: (0, nothing)\nbattery_voltage::Float64: battery voltage in pu (DEVICE_BASE), validation range: (0, nothing)\nbattery_resistance::Float64: Battery resistance in pu (DEVICE_BASE), validation range: (0, nothing)\ndc_dc_inductor::Float64: DC/DC inductance in pu (DEVICE_BASE), validation range: (0, nothing)\ndc_link_capacitance::Float64: DC-link capacitance in pu (DEVICE_BASE), validation range: (0, nothing)\nfs::Float64: DC/DC converter switching frequency (kHz), validation range: (0, nothing)\nkpv::Float64: voltage controller proportional gain, validation range: (0, nothing)\nkiv::Float64: voltage controller integral gain, validation range: (0, nothing)\nkpi::Float64: current controller proportional gain, validation range: (0, nothing)\nkii::Float64: current controller integral gain, validation range: (0, nothing)\nVdc_ref::Float64: (default: 1.1) Reference DC-Voltage Set-point in pu (DEVICE_BASE), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the ZeroOrderBESS model are:\n\nv_dc: DC-link voltage,\ni_b: Battery current,\n ν: integrator state of the voltage controller,\n ζ: integrator state of the PI current controller\n\nn_states::Int: (Do not modify.) ZeroOrderBESS has 4 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_DCSource/#PowerSystems.get_Vdc_ref-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_Vdc_ref","text":"get_Vdc_ref(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS Vdc_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_battery_resistance-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_battery_resistance","text":"get_battery_resistance(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS battery_resistance.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_battery_voltage-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_battery_voltage","text":"get_battery_voltage(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS battery_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_dc_dc_inductor-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_dc_dc_inductor","text":"get_dc_dc_inductor(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS dc_dc_inductor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_dc_link_capacitance-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_dc_link_capacitance","text":"get_dc_link_capacitance(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS dc_link_capacitance.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_ext-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_ext","text":"get_ext(value::ZeroOrderBESS) -> Dict{String, Any}\n\n\nGet ZeroOrderBESS ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_fs-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_fs","text":"get_fs(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS fs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_kii-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_kii","text":"get_kii(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS kii.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_kiv-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_kiv","text":"get_kiv(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS kiv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_kpi-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_kpi","text":"get_kpi(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS kpi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_kpv-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_kpv","text":"get_kpv(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS kpv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_n_states-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_n_states","text":"get_n_states(value::ZeroOrderBESS) -> Int64\n\n\nGet ZeroOrderBESS n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_rated_current-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_rated_current","text":"get_rated_current(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS rated_current.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_rated_voltage-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_rated_voltage","text":"get_rated_voltage(value::ZeroOrderBESS) -> Float64\n\n\nGet ZeroOrderBESS rated_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.get_states-Tuple{ZeroOrderBESS}","page":"DCSource","title":"PowerSystems.get_states","text":"get_states(value::ZeroOrderBESS) -> Vector{Symbol}\n\n\nGet ZeroOrderBESS states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_Vdc_ref!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_Vdc_ref!","text":"set_Vdc_ref!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS Vdc_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_battery_resistance!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_battery_resistance!","text":"set_battery_resistance!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS battery_resistance.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_battery_voltage!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_battery_voltage!","text":"set_battery_voltage!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS battery_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_dc_dc_inductor!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_dc_dc_inductor!","text":"set_dc_dc_inductor!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS dc_dc_inductor.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_dc_link_capacitance!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_dc_link_capacitance!","text":"set_dc_link_capacitance!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS dc_link_capacitance.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_ext!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_ext!","text":"set_ext!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_fs!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_fs!","text":"set_fs!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS fs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_kii!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_kii!","text":"set_kii!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS kii.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_kiv!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_kiv!","text":"set_kiv!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS kiv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_kpi!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_kpi!","text":"set_kpi!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS kpi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_kpv!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_kpv!","text":"set_kpv!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS kpv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_rated_current!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_rated_current!","text":"set_rated_current!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS rated_current.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_DCSource/#PowerSystems.set_rated_voltage!-Tuple{ZeroOrderBESS, Any}","page":"DCSource","title":"PowerSystems.set_rated_voltage!","text":"set_rated_voltage!(value::ZeroOrderBESS, val) -> Any\n\n\nSet ZeroOrderBESS rated_voltage.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#Shaft","page":"Shaft","title":"Shaft","text":"","category":"section"},{"location":"model_library/generated_Shaft/#FiveMassShaft","page":"Shaft","title":"FiveMassShaft","text":"","category":"section"},{"location":"model_library/generated_Shaft/","page":"Shaft","title":"Shaft","text":"Modules = [PowerSystems]\nPages = [\"/FiveMassShaft.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Shaft/#PowerSystems.FiveMassShaft","page":"Shaft","title":"PowerSystems.FiveMassShaft","text":"mutable struct FiveMassShaft <: Shaft\n H::Float64\n H_hp::Float64\n H_ip::Float64\n H_lp::Float64\n H_ex::Float64\n D::Float64\n D_hp::Float64\n D_ip::Float64\n D_lp::Float64\n D_ex::Float64\n D_12::Float64\n D_23::Float64\n D_34::Float64\n D_45::Float64\n K_hp::Float64\n K_ip::Float64\n K_lp::Float64\n K_ex::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of 5 mass-spring shaft model. It contains a High-Pressure (HP) steam turbine, Intermediate-Pressure (IP) steam turbine, Low-Pressure (LP) steam turbine, the Rotor and an Exciter (EX) mover\n\nArguments\n\nH::Float64: Rotor inertia constant in MWs/MVA, validation range: (0, nothing)\nH_hp::Float64: High pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)\nH_ip::Float64: Intermediate pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)\nH_lp::Float64: Low pressure turbine inertia constant in MWs/MVA, validation range: (0, nothing)\nH_ex::Float64: Exciter inertia constant in MWs/MVA, validation range: (0, nothing)\nD::Float64: Rotor natural damping in pu, validation range: (0, nothing)\nD_hp::Float64: High pressure turbine natural damping in pu, validation range: (0, nothing)\nD_ip::Float64: Intermediate pressure turbine natural damping in pu, validation range: (0, nothing)\nD_lp::Float64: Low pressure turbine natural damping in pu, validation range: (0, nothing)\nD_ex::Float64: Exciter natural damping in pu, validation range: (0, nothing)\nD_12::Float64: High-Intermediate pressure turbine damping, validation range: (0, nothing)\nD_23::Float64: Intermediate-Low pressure turbine damping, validation range: (0, nothing)\nD_34::Float64: Low pressure turbine-Rotor damping, validation range: (0, nothing)\nD_45::Float64: Rotor-Exciter damping, validation range: (0, nothing)\nK_hp::Float64: High pressure turbine angle coefficient, validation range: (0, nothing)\nK_ip::Float64: Intermediate pressure turbine angle coefficient, validation range: (0, nothing)\nK_lp::Float64: Low pressure turbine angle coefficient, validation range: (0, nothing)\nK_ex::Float64: Exciter angle coefficient, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nδ: rotor angle,\nω: rotor speed,\nδ_hp: rotor angle of high pressure turbine,\nω_hp: rotor speed of high pressure turbine,\nδ_ip: rotor angle of intermediate pressure turbine,\nω_ip: rotor speed of intermediate pressure turbine,\nδ_lp: rotor angle of low pressure turbine,\nω_lp: rotor speed of low pressure turbine,\nδ_ex: rotor angle of exciter,\nω_lp: rotor speed of exciter\n\nn_states::Int: (Do not modify.) FiveMassShaft has 10 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D","text":"get_D(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_12-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_12","text":"get_D_12(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_12.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_23-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_23","text":"get_D_23(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_23.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_34-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_34","text":"get_D_34(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_34.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_45-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_45","text":"get_D_45(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_45.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_ex-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_ex","text":"get_D_ex(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_hp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_hp","text":"get_D_hp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_ip-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_ip","text":"get_D_ip(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D_lp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_D_lp","text":"get_D_lp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft D_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_H","text":"get_H(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft H.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H_ex-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_H_ex","text":"get_H_ex(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft H_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H_hp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_H_hp","text":"get_H_hp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft H_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H_ip-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_H_ip","text":"get_H_ip(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft H_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H_lp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_H_lp","text":"get_H_lp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft H_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_K_ex-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_K_ex","text":"get_K_ex(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft K_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_K_hp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_K_hp","text":"get_K_hp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft K_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_K_ip-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_K_ip","text":"get_K_ip(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft K_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_K_lp-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_K_lp","text":"get_K_lp(value::FiveMassShaft) -> Float64\n\n\nGet FiveMassShaft K_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_ext-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_ext","text":"get_ext(value::FiveMassShaft) -> Dict{String, Any}\n\n\nGet FiveMassShaft ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_n_states-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_n_states","text":"get_n_states(value::FiveMassShaft) -> Int64\n\n\nGet FiveMassShaft n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_states-Tuple{FiveMassShaft}","page":"Shaft","title":"PowerSystems.get_states","text":"get_states(value::FiveMassShaft) -> Vector{Symbol}\n\n\nGet FiveMassShaft states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D!","text":"set_D!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_12!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_12!","text":"set_D_12!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_12.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_23!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_23!","text":"set_D_23!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_23.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_34!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_34!","text":"set_D_34!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_34.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_45!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_45!","text":"set_D_45!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_45.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_ex!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_ex!","text":"set_D_ex!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_hp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_hp!","text":"set_D_hp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_ip!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_ip!","text":"set_D_ip!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D_lp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_D_lp!","text":"set_D_lp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft D_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_H!","text":"set_H!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft H.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H_ex!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_H_ex!","text":"set_H_ex!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft H_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H_hp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_H_hp!","text":"set_H_hp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft H_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H_ip!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_H_ip!","text":"set_H_ip!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft H_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H_lp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_H_lp!","text":"set_H_lp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft H_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_K_ex!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_K_ex!","text":"set_K_ex!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft K_ex.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_K_hp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_K_hp!","text":"set_K_hp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft K_hp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_K_ip!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_K_ip!","text":"set_K_ip!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft K_ip.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_K_lp!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_K_lp!","text":"set_K_lp!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft K_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_ext!-Tuple{FiveMassShaft, Any}","page":"Shaft","title":"PowerSystems.set_ext!","text":"set_ext!(value::FiveMassShaft, val) -> Any\n\n\nSet FiveMassShaft ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#SingleMass","page":"Shaft","title":"SingleMass","text":"","category":"section"},{"location":"model_library/generated_Shaft/","page":"Shaft","title":"Shaft","text":"Modules = [PowerSystems]\nPages = [\"/SingleMass.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_Shaft/#PowerSystems.SingleMass","page":"Shaft","title":"PowerSystems.SingleMass","text":"mutable struct SingleMass <: Shaft\n H::Float64\n D::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters of single mass shaft model. Typically represents the rotor mass\n\nArguments\n\nH::Float64: Rotor inertia constant in MWs/MVA, validation range: (0, nothing)\nD::Float64: Rotor natural damping in pu, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nδ: rotor angle,\nω: rotor speed\n\nn_states::Int: (Do not modify.) SingleMass has 1 state\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_Shaft/#PowerSystems.get_D-Tuple{SingleMass}","page":"Shaft","title":"PowerSystems.get_D","text":"get_D(value::SingleMass) -> Float64\n\n\nGet SingleMass D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_H-Tuple{SingleMass}","page":"Shaft","title":"PowerSystems.get_H","text":"get_H(value::SingleMass) -> Float64\n\n\nGet SingleMass H.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_ext-Tuple{SingleMass}","page":"Shaft","title":"PowerSystems.get_ext","text":"get_ext(value::SingleMass) -> Dict{String, Any}\n\n\nGet SingleMass ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_n_states-Tuple{SingleMass}","page":"Shaft","title":"PowerSystems.get_n_states","text":"get_n_states(value::SingleMass) -> Int64\n\n\nGet SingleMass n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.get_states-Tuple{SingleMass}","page":"Shaft","title":"PowerSystems.get_states","text":"get_states(value::SingleMass) -> Vector{Symbol}\n\n\nGet SingleMass states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_D!-Tuple{SingleMass, Any}","page":"Shaft","title":"PowerSystems.set_D!","text":"set_D!(value::SingleMass, val) -> Any\n\n\nSet SingleMass D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_H!-Tuple{SingleMass, Any}","page":"Shaft","title":"PowerSystems.set_H!","text":"set_H!(value::SingleMass, val) -> Any\n\n\nSet SingleMass H.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_Shaft/#PowerSystems.set_ext!-Tuple{SingleMass, Any}","page":"Shaft","title":"PowerSystems.set_ext!","text":"set_ext!(value::SingleMass, val) -> Any\n\n\nSet SingleMass ext.\n\n\n\n\n\n","category":"method"},{"location":"modeler_guide/system/#system_doc","page":"System","title":"System","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The System is the main container of components and the time series data references. PowerSystems.jl uses a hybrid approach to data storage, where the component data and time series references are stored in volatile memory while the actual time series data is stored in an HDF5 file. This design loads into memory the portions of the data that are relevant at time of the query, and so avoids overwhelming the memory resources.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"","category":"page"},{"location":"modeler_guide/system/#Accessing-components-stored-in-the-system","page":"System","title":"Accessing components stored in the system","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"PowerSystems.jl implements a wide variety of methods to search for components to aid in the development of models. The code block shows an example of retrieving components through the type hierarchy with the get_components function and exploiting the type hierarchy for modeling purposes.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The default implementation of the function get_components takes the desired device type (concrete or abstract) and the system and it also accepts filter functions for a more refined search. The container is optimized for iteration over abstract or concrete component types as described by the Type Structure. Given the potential size of the return, PowerSystems.jl returns Julia iterators in order to avoid unnecessary memory allocations.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"using PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\")\nsystem = System(joinpath(file_dir, \"RTS_GMLC.m\"));\nthermal_gens = get_components(ThermalStandard, system)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"It is also possible to execute get_components with abstract types from the abstract tree. For instance, it is possible to retrieve all renewable generators","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"thermal_gens = get_components(RenewableGen, system)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The most common filtering requirement is by component name and for this case the method get_component returns a single component taking the device type, system and name as arguments.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"my_thermal_gen = get_component(ThermalStandard, system, \"323_CC_1\")","category":"page"},{"location":"modeler_guide/system/#dot_access","page":"System","title":"Accessing data stored in a component","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Using the \"dot\" access to get a parameter value from a component is actively discouraged, use \"getter\" functions instead","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Using code autogeneration, PowerSystems.jl implements accessor (or \"getter\") functions to enable the retrieval of parameters defined in the component struct fields. Julia syntax enables access to this data using the \"dot\" access (e.g. component.field), however this is actively discouraged for two reasons:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"We make no guarantees on the stability of component structure definitions. We will maintain version stability on the accessor methods.\nPer-unit conversions are made in the return of data from the accessor functions. (see the per-unit section for more details)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"For example, the my_thermal_gen.active_power_limits parameter of a thermal generator should be accessed as follows:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"get_active_power_limits(my_thermal_gen)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"You can also view data from all instances of a concrete type in one table with the function show_components. It provides a few options:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View the standard fields by accepting the defaults.\nPass a dictionary where the keys are column names and the values are functions that accept a component as a single argument.\nPass a vector of symbols that are field names of the type.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"show_components(system, ThermalStandard)\nshow_components(system, ThermalStandard, Dict(\"has_time_series\" => x -> has_time_series(x)))\nshow_components(system, ThermalStandard, [:active_power, :reactive_power])","category":"page"},{"location":"modeler_guide/system/#per_unit","page":"System","title":"Per-unit conventions and data conversions","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"It is often useful to express power systems data in relative terms using per-unit conventions. PowerSystems.jl supports the automatic conversion of data between three different unit systems:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Natural Units: The naturally defined units of each parameter (typically MW).\nSystem Base: Parameter values are divided by the system base_power.\nDevice Base: Parameter values are divided by the device base_mva.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"To see the unit system setting of a System:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"get_units_base(system)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"To change the unit system setting of a System:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"set_units_base_system!(system, \"DEVICE_BASE\")","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The units of the parameter values stored in each struct are defined in src/descriptors/power_system_structs.json. Conversion between unit systems does not change the stored parameter values. Instead, unit system conversions are made when accessing parameters using the accessor functions (see above), thus making it imperative to utilize the accessor functions instead of the \"dot\" accessor methods to ensure the return of the correct values.","category":"page"},{"location":"modeler_guide/system/#JSON-Serialization","page":"System","title":"JSON Serialization","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"PowerSystems.jl provides functionality to serialize an entire system to a JSON file and then deserialize it back to a system. The main benefit is that deserializing is significantly faster than reconstructing the system from raw data files.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The function that serializes the system to_json requires the system and a file name","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"to_json(system, \"system.json\")","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The serialization process stores 3 files","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"System data file (*.json file)\nValidation data file (*.json file)\nTime Series data file (*.h5 file)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"To deserialize:","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"system2 = System(\"system.json\")","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"PowerSystems generates UUIDs for the System and all components in order to have a way to uniquely identify objects. During deserialization it restores the same UUIDs. If you will modify the System or components after deserialization then it is recommended that you set this flag to generate new UUIDs.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"system2 = System(\"system.json\", assign_new_uuids = true)","category":"page"},{"location":"modeler_guide/system/#Reducing-REPL-printing","page":"System","title":"Reducing REPL printing","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"By default PowerSystems.jl outputs to the REPL all Logging values, this can be overwhelming in some cases. Use configure_logging to create a logger with your preferences (console and/or file, levels, etc.). For more detail refer to Logging.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Example: Set log output to only error messages","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"using PowerSystems\nusing Logging\nconfigure_logging(console_level = Logging.Error)","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Note: log messages are not automatically flushed to files. Call flush(logger) to make this happen.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Refer to this page for more logging configuration options. Note that it describes how to enable debug logging for some log messages but not others.","category":"page"},{"location":"modeler_guide/system/#Viewing-PowerSystems-Data-in-JSON-Format","page":"System","title":"Viewing PowerSystems Data in JSON Format","text":"","category":"section"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"PowerSystems data can be serialized and deserialized in JSON. This section shows how to explore the data outside of Julia using.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"system = System(\"system.json\")","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"It can be useful to view and filter the PowerSystems data in this format. There are many tools available to browse JSON data.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Here is an example GUI tool that is available online in a browser.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"The command line utility jq offers even more features. The rest of this document provides example commands.","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View the entire file pretty-printed","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq . system.json","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View the PowerSystems component types","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq '.data.components | .[] | .__metadata__ | .type' system.json | sort | uniq","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View specific components","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\")' system.json","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Get the count of a component type","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"# There is almost certainly a better way.\njq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\")' system.json | grep -c ThermalStandard","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"View specific component by name","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\" and .name == \"107_CC_1\")' system.json","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"Filter on a field value","category":"page"},{"location":"modeler_guide/system/","page":"System","title":"System","text":"jq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\" and .active_power > 2.3)' system.json","category":"page"},{"location":"modeler_guide/enumerated_types/#Enumerated-Types","page":"Enumerated Types","title":"Enumerated Types","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"To specify fields representing an option from a pre-defined list, some of the fields of Component structs are specified with IS.scoped_enums (e.g. set_fuel!(gen, ThermalFuels.COAL)). Below are the enumerated types contained in PowerSystems.","category":"page"},{"location":"modeler_guide/enumerated_types/#tf_list","page":"Enumerated Types","title":"ThermalFuels","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"Each ThermalGen generator struct contains a field for fuel::ThermalFuels where ThermalFuels are intended to reflect the options denoted by the Aggregated Fuel Codes from the EIA Annual Energy Review. Specifically, ThermalFuels is an enumerated type with the following options:","category":"page"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"EnumName EIA Fuel Code Description\nCOAL COL Anthracite Coal and Bituminous Coal\nWASTE_COAL WOC Waste/Other Coal (includes anthracite culm, gob, fine coal, lignite waste, waste coal)\nDISTILLATE_FUEL_OIL DFO Distillate Fuel Oil (Diesel, No. 1, No. 2, and No. 4)\nWASTE_OIL WOO Waste Oil Kerosene and JetFuel Butane, Propane\nPETROLEUM_COKE PC Petroleum Coke\nRESIDUAL_FUEL_OIL RFO Residual Fuel Oil (No. 5, No. 6 Fuel Oils, and Bunker Oil)\nNATURAL_GAS NG Natural Gas\nOTHER_GAS OOG Other Gas and blast furnace gas\nNUCLEAR NUC Nuclear Fission (Uranium, Plutonium, Thorium)\nAG_BIPRODUCT ORW Agricultural Crop Byproducts/Straw/Energy Crops\nMUNICIPAL_WASTE MLG Municipal Solid Waste – Biogenic component\nWOOD_WASTE WWW Wood Waste Liquids excluding Black Liquor (BLQ) (Includes red liquor, sludge wood, spent sulfite liquor, and other wood-based liquids)\nGEOTHERMAL GEO Geothermal\nOTHER OTH Other","category":"page"},{"location":"modeler_guide/enumerated_types/#pm_list","page":"Enumerated Types","title":"PrimeMovers","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"Each generator struct contains a field for prime_mover::PrimeMovers where PrimeMovers are intended to reflect the options denoted by EIA form 923. Specifically, PrimeMovers is an enumerated type with the following options:","category":"page"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"EnumName Description\nBA Energy Storage, Battery\nBT Turbines Used in a Binary Cycle (including those used for geothermal applications)\nCA Combined-Cycle – Steam Part\nCC Combined-Cycle - Aggregated Plant *augmentation of EIA\nCE Energy Storage, Compressed Air\nCP Energy Storage, Concentrated Solar Power\nCS Combined-Cycle Single-Shaft Combustion turbine and steam turbine share a single generator\nCT Combined-Cycle Combustion Turbine Part\nES Energy Storage, Other\nFC Fuel Cell\nFW Energy Storage, Flywheel\nGT Combustion (Gas) Turbine (including jet engine design)\nHA Hydrokinetic, Axial Flow Turbine\nHB Hydrokinetic, Wave Buoy\nHK Hydrokinetic, Other\nHY Hydraulic Turbine (including turbines associated with delivery of water by pipeline)\nIC Internal Combustion (diesel, piston, reciprocating) Engine\nPS Energy Storage, Reversible Hydraulic Turbine (Pumped Storage)\nOT Other\nST Steam Turbine (including nuclear, geothermal and solar steam; does not include combined-cycle turbine)\nPV Photovoltaic *renaming from EIA PV to PVe to avoid conflict with ACBusType.PV\nWT Wind Turbine, Onshore\nWS Wind Turbine, Offshore","category":"page"},{"location":"modeler_guide/enumerated_types/#acbustypes_list","page":"Enumerated Types","title":"ACBusTypes","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"ACBusTypes is used to denote which quantities are specified for load flow calculations and to otherwise categorize buses for modeling activities.","category":"page"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"EnumName Description\nISOLATED Disconnected from network\nPQ Active and reactive power defined (load bus)\nPV Active power and voltage magnitude defined (generator bus)\nREF Reference bus (θ = 0)\nSLACK Slack bus","category":"page"},{"location":"modeler_guide/enumerated_types/#angleunits_list","page":"Enumerated Types","title":"AngleUnits","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"EnumName\nDEGREES\nRADIANS","category":"page"},{"location":"modeler_guide/enumerated_types/#states_list","page":"Enumerated Types","title":"StateTypes","text":"","category":"section"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"StateTypes are used to denote the type of dynamic equation a specific state is subject to in PowerSimulationsDynamics.jl","category":"page"},{"location":"modeler_guide/enumerated_types/","page":"Enumerated Types","title":"Enumerated Types","text":"EnumName Description\nDifferential State evolves over time via a differential equation dotx = f(x)\nAlgebraic State evolves over time by satisfying an algebraic equation 0 = g(x)\nHybrid Depending on specific parameters, the state can be Differential or Algebraic","category":"page"},{"location":"model_library/outer_control/#OuterControl","page":"OuterControl","title":"OuterControl","text":"","category":"section"},{"location":"model_library/outer_control/","page":"OuterControl","title":"OuterControl","text":"The outer control is composed by the ReactivePowerControl and the ActivePowerControl types.","category":"page"},{"location":"model_library/outer_control/","page":"OuterControl","title":"OuterControl","text":"Modules = [PowerSystems]\nPages = [\"/OuterControl.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/outer_control/#PowerSystems.OuterControl","page":"OuterControl","title":"PowerSystems.OuterControl","text":"mutable struct OuterControl{\n A <: ActivePowerControl,\n R <: ReactivePowerControl\n} <: DynamicInverterComponent\n active_power_control::A\n reactive_power_control::R\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Outer-Loop controller using a active power controller and a reactive power droop controller.\n\nArguments\n\nA <: ActivePowerControl: Active power controller (typically droop or virtual inertia).\nR <: ReactivePowerControl: Reactive power controller (typically droop).\next::Dict{String, Any}\nstates::Vector{Symbol}: Vector of states (will depend on the components).\nn_states::Int: Number of states (will depend on the components).\n\n\n\n\n\n","category":"type"},{"location":"model_library/outer_control/#Virtual-Inertia","page":"OuterControl","title":"Virtual Inertia","text":"","category":"section"},{"location":"model_library/outer_control/","page":"OuterControl","title":"OuterControl","text":"Modules = [PowerSystems]\nPages = [\"generated/VirtualInertia.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/outer_control/#PowerSystems.VirtualInertia","page":"OuterControl","title":"PowerSystems.VirtualInertia","text":"mutable struct VirtualInertia <: ActivePowerControl\n Ta::Float64\n kd::Float64\n kω::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Virtual Inertia with SRF using VSM for active power controller\n\nArguments\n\nTa::Float64: VSM inertia constant, validation range: (0, nothing)\nkd::Float64: VSM damping constant, validation range: (0, nothing)\nkω::Float64: frequency droop gain, validation range: (0, nothing)\nP_ref::Float64: (default: 1.0) Reference Power Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the VirtualInertia model are:\n\nθ_oc: Phase angle displacement of the virtual synchronous generator model\nω_oc: Speed of the rotating reference frame of the virtual synchronous generator model\n\nn_states::Int: (Do not modify.) VirtualInertia has two states\n\n\n\n\n\n","category":"type"},{"location":"model_library/outer_control/#PowerSystems.get_P_ref-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::VirtualInertia) -> Float64\n\n\nGet VirtualInertia P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_Ta-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_Ta","text":"get_Ta(value::VirtualInertia) -> Float64\n\n\nGet VirtualInertia Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_ext-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_ext","text":"get_ext(value::VirtualInertia) -> Dict{String, Any}\n\n\nGet VirtualInertia ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_kd-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_kd","text":"get_kd(value::VirtualInertia) -> Float64\n\n\nGet VirtualInertia kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_kω-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_kω","text":"get_kω(value::VirtualInertia) -> Float64\n\n\nGet VirtualInertia kω.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_n_states-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_n_states","text":"get_n_states(value::VirtualInertia) -> Int64\n\n\nGet VirtualInertia n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_states-Tuple{VirtualInertia}","page":"OuterControl","title":"PowerSystems.get_states","text":"get_states(value::VirtualInertia) -> Vector{Symbol}\n\n\nGet VirtualInertia states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_P_ref!-Tuple{VirtualInertia, Any}","page":"OuterControl","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::VirtualInertia, val) -> Any\n\n\nSet VirtualInertia P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_Ta!-Tuple{VirtualInertia, Any}","page":"OuterControl","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::VirtualInertia, val) -> Any\n\n\nSet VirtualInertia Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_ext!-Tuple{VirtualInertia, Any}","page":"OuterControl","title":"PowerSystems.set_ext!","text":"set_ext!(value::VirtualInertia, val) -> Any\n\n\nSet VirtualInertia ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_kd!-Tuple{VirtualInertia, Any}","page":"OuterControl","title":"PowerSystems.set_kd!","text":"set_kd!(value::VirtualInertia, val) -> Any\n\n\nSet VirtualInertia kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_kω!-Tuple{VirtualInertia, Any}","page":"OuterControl","title":"PowerSystems.set_kω!","text":"set_kω!(value::VirtualInertia, val) -> Any\n\n\nSet VirtualInertia kω.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#Reactive-Power-Droop","page":"OuterControl","title":"Reactive Power Droop","text":"","category":"section"},{"location":"model_library/outer_control/","page":"OuterControl","title":"OuterControl","text":"Modules = [PowerSystems]\nPages = [\"generated/ReactivePowerDroop.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/outer_control/#PowerSystems.ReactivePowerDroop","page":"OuterControl","title":"PowerSystems.ReactivePowerDroop","text":"mutable struct ReactivePowerDroop <: ReactivePowerControl\n kq::Float64\n ωf::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Reactive Power droop controller\n\nArguments\n\nkq::Float64: frequency droop gain, validation range: (0, nothing)\nωf::Float64: filter frequency cutoff, validation range: (0, nothing)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the ReactivePowerDroop model are:\n\nq_oc: Filtered reactive output power\n\nn_states::Int: (Do not modify.) ReactivePowerDroop has 1 state\n\n\n\n\n\n","category":"type"},{"location":"model_library/outer_control/#PowerSystems.get_V_ref-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ReactivePowerDroop) -> Float64\n\n\nGet ReactivePowerDroop V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_ext-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_ext","text":"get_ext(value::ReactivePowerDroop) -> Dict{String, Any}\n\n\nGet ReactivePowerDroop ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_kq-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_kq","text":"get_kq(value::ReactivePowerDroop) -> Float64\n\n\nGet ReactivePowerDroop kq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_n_states-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_n_states","text":"get_n_states(value::ReactivePowerDroop) -> Int64\n\n\nGet ReactivePowerDroop n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_states-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_states","text":"get_states(value::ReactivePowerDroop) -> Vector{Symbol}\n\n\nGet ReactivePowerDroop states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.get_ωf-Tuple{ReactivePowerDroop}","page":"OuterControl","title":"PowerSystems.get_ωf","text":"get_ωf(value::ReactivePowerDroop) -> Float64\n\n\nGet ReactivePowerDroop ωf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_V_ref!-Tuple{ReactivePowerDroop, Any}","page":"OuterControl","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ReactivePowerDroop, val) -> Any\n\n\nSet ReactivePowerDroop V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_ext!-Tuple{ReactivePowerDroop, Any}","page":"OuterControl","title":"PowerSystems.set_ext!","text":"set_ext!(value::ReactivePowerDroop, val) -> Any\n\n\nSet ReactivePowerDroop ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_kq!-Tuple{ReactivePowerDroop, Any}","page":"OuterControl","title":"PowerSystems.set_kq!","text":"set_kq!(value::ReactivePowerDroop, val) -> Any\n\n\nSet ReactivePowerDroop kq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/outer_control/#PowerSystems.set_ωf!-Tuple{ReactivePowerDroop, Any}","page":"OuterControl","title":"PowerSystems.set_ωf!","text":"set_ωf!(value::ReactivePowerDroop, val) -> Any\n\n\nSet ReactivePowerDroop ωf.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#InnerControl","page":"InnerControl","title":"InnerControl","text":"","category":"section"},{"location":"model_library/generated_InnerControl/#CurrentModeControl","page":"InnerControl","title":"CurrentModeControl","text":"","category":"section"},{"location":"model_library/generated_InnerControl/","page":"InnerControl","title":"InnerControl","text":"Modules = [PowerSystems]\nPages = [\"/CurrentModeControl.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InnerControl/#PowerSystems.CurrentModeControl","page":"InnerControl","title":"PowerSystems.CurrentModeControl","text":"mutable struct CurrentModeControl <: InnerControl\n kpc::Float64\n kic::Float64\n kffv::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of an inner loop proportional integral (PI) current control based on \"Reduced-order Structure-preserving Model for Parallel-connected Three-phase Grid-tied Inverters.\"\n\nArguments\n\nkpc::Float64: Current controller proportional gain, validation range: (0, nothing)\nkic::Float64: Current controller integral gain, validation range: (0, nothing)\nkffv::Float64: Gain to enable feed-forward gain of voltage, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the CurrentModeControl model are:\n\nγd_ic: d-axis integrator state of the PI current controller,\nγq_ic: q-axis integrator state of the PI current controller\n\nn_states::Int: (Do not modify.) CurrentControl has 2 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_ext-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_ext","text":"get_ext(value::CurrentModeControl) -> Dict{String, Any}\n\n\nGet CurrentModeControl ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kffv-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_kffv","text":"get_kffv(value::CurrentModeControl) -> Float64\n\n\nGet CurrentModeControl kffv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kic-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_kic","text":"get_kic(value::CurrentModeControl) -> Float64\n\n\nGet CurrentModeControl kic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kpc-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_kpc","text":"get_kpc(value::CurrentModeControl) -> Float64\n\n\nGet CurrentModeControl kpc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_n_states-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_n_states","text":"get_n_states(value::CurrentModeControl) -> Int64\n\n\nGet CurrentModeControl n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_states-Tuple{CurrentModeControl}","page":"InnerControl","title":"PowerSystems.get_states","text":"get_states(value::CurrentModeControl) -> Vector{Symbol}\n\n\nGet CurrentModeControl states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_ext!-Tuple{CurrentModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_ext!","text":"set_ext!(value::CurrentModeControl, val) -> Any\n\n\nSet CurrentModeControl ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kffv!-Tuple{CurrentModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kffv!","text":"set_kffv!(value::CurrentModeControl, val) -> Any\n\n\nSet CurrentModeControl kffv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kic!-Tuple{CurrentModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kic!","text":"set_kic!(value::CurrentModeControl, val) -> Any\n\n\nSet CurrentModeControl kic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kpc!-Tuple{CurrentModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kpc!","text":"set_kpc!(value::CurrentModeControl, val) -> Any\n\n\nSet CurrentModeControl kpc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#RECurrentControlB","page":"InnerControl","title":"RECurrentControlB","text":"","category":"section"},{"location":"model_library/generated_InnerControl/","page":"InnerControl","title":"InnerControl","text":"Modules = [PowerSystems]\nPages = [\"/RECurrentControlB.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InnerControl/#PowerSystems.RECurrentControlB","page":"InnerControl","title":"PowerSystems.RECurrentControlB","text":"mutable struct RECurrentControlB <: InnerControl\n Q_Flag::Int\n PQ_Flag::Int\n Vdip_lim::MinMax\n T_rv::Float64\n dbd_pnts::Tuple{Float64, Float64}\n K_qv::Float64\n Iqinj_lim::MinMax\n V_ref0::Float64\n K_vp::Float64\n K_vi::Float64\n T_iq::Float64\n I_max::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of the Inner Control part of the REECB model in PSS/E\n\nArguments\n\nQ_Flag::Int: Q Flag used for I_qinj, validation range: (0, 1)\nPQ_Flag::Int: PQ Flag used for the Current Limit Logic, validation range: (0, 1)\nVdip_lim::MinMax: Limits for Voltage Dip Logic (Vdip, Vup)\nT_rv::Float64: Voltage Filter Time Constant, validation range: (0, nothing)\ndbd_pnts::Tuple{Float64, Float64}: Voltage error deadband thresholds (dbd1, dbd2)\nK_qv::Float64: Reactive current injection gain during over and undervoltage conditions, validation range: (0, nothing)\nIqinj_lim::MinMax: Limits for Iqinj (I_qh1, I_ql1)\nV_ref0::Float64: User defined reference. If 0, PowerSimulationsDynamics.jl initializes to initial terminal voltage, validation range: (0, nothing)\nK_vp::Float64: Voltage regulator proportional gain (used when QFlag = 1), validation range: (0, nothing)\nK_vi::Float64: Voltage regulator integral gain (used when QFlag = 1), validation range: (0, nothing)\nT_iq::Float64: Time constant for low-pass filter for state q_V when QFlag = 0, validation range: (0, nothing)\nI_max::Float64: Maximum limit on total converter current, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the RECurrentControlB depends on the Flags\nn_states::Int: (Do not modify.) The states of the RECurrentControlB depends on the Flags\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_I_max-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_I_max","text":"get_I_max(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_Iqinj_lim-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_Iqinj_lim","text":"get_Iqinj_lim(\n value::RECurrentControlB\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RECurrentControlB Iqinj_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_K_qv-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_K_qv","text":"get_K_qv(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB K_qv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_K_vi-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_K_vi","text":"get_K_vi(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB K_vi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_K_vp-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_K_vp","text":"get_K_vp(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB K_vp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_PQ_Flag-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_PQ_Flag","text":"get_PQ_Flag(value::RECurrentControlB) -> Int64\n\n\nGet RECurrentControlB PQ_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_Q_Flag-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_Q_Flag","text":"get_Q_Flag(value::RECurrentControlB) -> Int64\n\n\nGet RECurrentControlB Q_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_T_iq-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_T_iq","text":"get_T_iq(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB T_iq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_T_rv-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_T_rv","text":"get_T_rv(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB T_rv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_V_ref0-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_V_ref0","text":"get_V_ref0(value::RECurrentControlB) -> Float64\n\n\nGet RECurrentControlB V_ref0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_Vdip_lim-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_Vdip_lim","text":"get_Vdip_lim(\n value::RECurrentControlB\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet RECurrentControlB Vdip_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_dbd_pnts-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_dbd_pnts","text":"get_dbd_pnts(\n value::RECurrentControlB\n) -> Tuple{Float64, Float64}\n\n\nGet RECurrentControlB dbd_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_ext-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_ext","text":"get_ext(value::RECurrentControlB) -> Dict{String, Any}\n\n\nGet RECurrentControlB ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_n_states-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_n_states","text":"get_n_states(value::RECurrentControlB) -> Int64\n\n\nGet RECurrentControlB n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_states-Tuple{RECurrentControlB}","page":"InnerControl","title":"PowerSystems.get_states","text":"get_states(value::RECurrentControlB) -> Vector{Symbol}\n\n\nGet RECurrentControlB states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_I_max!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_I_max!","text":"set_I_max!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB I_max.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_Iqinj_lim!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_Iqinj_lim!","text":"set_Iqinj_lim!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB Iqinj_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_K_qv!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_K_qv!","text":"set_K_qv!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB K_qv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_K_vi!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_K_vi!","text":"set_K_vi!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB K_vi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_K_vp!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_K_vp!","text":"set_K_vp!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB K_vp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_PQ_Flag!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_PQ_Flag!","text":"set_PQ_Flag!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB PQ_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_Q_Flag!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_Q_Flag!","text":"set_Q_Flag!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB Q_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_T_iq!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_T_iq!","text":"set_T_iq!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB T_iq.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_T_rv!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_T_rv!","text":"set_T_rv!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB T_rv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_V_ref0!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_V_ref0!","text":"set_V_ref0!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB V_ref0.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_Vdip_lim!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_Vdip_lim!","text":"set_Vdip_lim!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB Vdip_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_dbd_pnts!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_dbd_pnts!","text":"set_dbd_pnts!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB dbd_pnts.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_ext!-Tuple{RECurrentControlB, Any}","page":"InnerControl","title":"PowerSystems.set_ext!","text":"set_ext!(value::RECurrentControlB, val) -> Any\n\n\nSet RECurrentControlB ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#VoltageModeControl","page":"InnerControl","title":"VoltageModeControl","text":"","category":"section"},{"location":"model_library/generated_InnerControl/","page":"InnerControl","title":"InnerControl","text":"Modules = [PowerSystems]\nPages = [\"/VoltageModeControl.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_InnerControl/#PowerSystems.VoltageModeControl","page":"InnerControl","title":"PowerSystems.VoltageModeControl","text":"mutable struct VoltageModeControl <: InnerControl\n kpv::Float64\n kiv::Float64\n kffv::Float64\n rv::Float64\n lv::Float64\n kpc::Float64\n kic::Float64\n kffi::Float64\n ωad::Float64\n kad::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of an inner loop current control PID using virtual impedance based on \"A Virtual Synchronous Machine implementation for distributed control of power converters in SmartGrids.\"\n\nArguments\n\nkpv::Float64: voltage controller proportional gain, validation range: (0, nothing)\nkiv::Float64: voltage controller integral gain, validation range: (0, nothing)\nkffv::Float64: Binary variable to enable feed-forward gain of voltage, validation range: (0, nothing)\nrv::Float64: virtual resistance, validation range: (0, nothing)\nlv::Float64: virtual inductance, validation range: (0, nothing)\nkpc::Float64: current controller proportional gain, validation range: (0, nothing)\nkic::Float64: current controller integral gain, validation range: (0, nothing)\nkffi::Float64: Binary variable to enable feed-forward gain of current, validation range: (0, nothing)\nωad::Float64: active damping filter cutoff frequency (rad/sec), validation range: (0, nothing)\nkad::Float64: active damping gain, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the VoltageModeControl model are:\n\nξd_ic: d-axis integrator state of the PI voltage controller,\nξq_ic: q-axis integrator state of the PI voltage controller,\nγd_ic: d-axis integrator state of the PI current controller,\nγq_ic: q-axis integrator state of the PI current controller,\nϕd_ic: d-axis low-pass filter of active damping,\nϕq_ic: q-axis low-pass filter of active damping\n\nn_states::Int: (Do not modify.) VoltageModeControl has 6 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_ext-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_ext","text":"get_ext(value::VoltageModeControl) -> Dict{String, Any}\n\n\nGet VoltageModeControl ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kad-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kad","text":"get_kad(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kffi-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kffi","text":"get_kffi(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kffi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kffv-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kffv","text":"get_kffv(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kffv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kic-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kic","text":"get_kic(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kiv-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kiv","text":"get_kiv(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kiv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kpc-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kpc","text":"get_kpc(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kpc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_kpv-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_kpv","text":"get_kpv(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl kpv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_lv-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_lv","text":"get_lv(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl lv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_n_states-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_n_states","text":"get_n_states(value::VoltageModeControl) -> Int64\n\n\nGet VoltageModeControl n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_rv-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_rv","text":"get_rv(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl rv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_states-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_states","text":"get_states(value::VoltageModeControl) -> Vector{Symbol}\n\n\nGet VoltageModeControl states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.get_ωad-Tuple{VoltageModeControl}","page":"InnerControl","title":"PowerSystems.get_ωad","text":"get_ωad(value::VoltageModeControl) -> Float64\n\n\nGet VoltageModeControl ωad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_ext!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_ext!","text":"set_ext!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kad!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kad!","text":"set_kad!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kffi!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kffi!","text":"set_kffi!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kffi.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kffv!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kffv!","text":"set_kffv!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kffv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kic!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kic!","text":"set_kic!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kic.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kiv!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kiv!","text":"set_kiv!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kiv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kpc!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kpc!","text":"set_kpc!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kpc.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_kpv!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_kpv!","text":"set_kpv!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl kpv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_lv!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_lv!","text":"set_lv!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl lv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_rv!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_rv!","text":"set_rv!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl rv.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_InnerControl/#PowerSystems.set_ωad!-Tuple{VoltageModeControl, Any}","page":"InnerControl","title":"PowerSystems.set_ωad!","text":"set_ωad!(value::VoltageModeControl, val) -> Any\n\n\nSet VoltageModeControl ωad.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#TransmissionInterface","page":"TransmissionInterface","title":"TransmissionInterface","text":"","category":"section"},{"location":"model_library/generated_TransmissionInterface/","page":"TransmissionInterface","title":"TransmissionInterface","text":"Modules = [PowerSystems]\nPages = [\"generated/TransmissionInterface.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.TransmissionInterface","page":"TransmissionInterface","title":"PowerSystems.TransmissionInterface","text":"mutable struct TransmissionInterface <: Service\n name::String\n available::Bool\n active_power_flow_limits::MinMax\n violation_penalty::Float64\n direction_mapping::Dict{String, Int}\n internal::InfrastructureSystemsInternal\nend\n\nA collection of branches that make up an interface or corridor for the transfer of power, such as between different Areas or LoadZones.\n\nThe interface can be used to constrain the power flow across it\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nactive_power_flow_limits::MinMax: Minimum and maximum active power flow limits on the interface (MW)\nviolation_penalty::Float64: (default: INFINITE_COST) Penalty cost for violating the flow limits in the interface\ndirection_mapping::Dict{String, Int}: (default: Dict{String, Int}()) Dictionary of the line names in the interface and their direction of flow (1 or -1) relative to the flow of the interface\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_TransmissionInterface/#InfrastructureSystems.get_name-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"InfrastructureSystems.get_name","text":"get_name(value::TransmissionInterface) -> String\n\n\nGet TransmissionInterface name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.get_active_power_flow_limits-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"PowerSystems.get_active_power_flow_limits","text":"get_active_power_flow_limits(\n value::TransmissionInterface\n) -> NamedTuple{(:min, :max), <:Tuple{Any, Any}}\n\n\nGet TransmissionInterface active_power_flow_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.get_available-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"PowerSystems.get_available","text":"get_available(value::TransmissionInterface) -> Bool\n\n\nGet TransmissionInterface available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.get_direction_mapping-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"PowerSystems.get_direction_mapping","text":"get_direction_mapping(\n value::TransmissionInterface\n) -> Dict{String, Int64}\n\n\nGet TransmissionInterface direction_mapping.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.get_violation_penalty-Tuple{TransmissionInterface}","page":"TransmissionInterface","title":"PowerSystems.get_violation_penalty","text":"get_violation_penalty(\n value::TransmissionInterface\n) -> Float64\n\n\nGet TransmissionInterface violation_penalty.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.set_active_power_flow_limits!-Tuple{TransmissionInterface, Any}","page":"TransmissionInterface","title":"PowerSystems.set_active_power_flow_limits!","text":"set_active_power_flow_limits!(\n value::TransmissionInterface,\n val\n) -> Any\n\n\nSet TransmissionInterface active_power_flow_limits.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.set_available!-Tuple{TransmissionInterface, Any}","page":"TransmissionInterface","title":"PowerSystems.set_available!","text":"set_available!(value::TransmissionInterface, val) -> Any\n\n\nSet TransmissionInterface available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.set_direction_mapping!-Tuple{TransmissionInterface, Any}","page":"TransmissionInterface","title":"PowerSystems.set_direction_mapping!","text":"set_direction_mapping!(\n value::TransmissionInterface,\n val\n) -> Any\n\n\nSet TransmissionInterface direction_mapping.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TransmissionInterface/#PowerSystems.set_violation_penalty!-Tuple{TransmissionInterface, Any}","page":"TransmissionInterface","title":"PowerSystems.set_violation_penalty!","text":"set_violation_penalty!(\n value::TransmissionInterface,\n val\n) -> Any\n\n\nSet TransmissionInterface violation_penalty.\n\n\n\n\n\n","category":"method"},{"location":"model_library/costs/#cost_library","page":"Operating Costs","title":"Operating Costs","text":"","category":"section"},{"location":"model_library/costs/","page":"Operating Costs","title":"Operating Costs","text":"ThermalGenerationCost\nHydroGenerationCost\nRenewableGenerationCost\nStorageCost\nLoadCost\nMarketBidCost","category":"page"},{"location":"model_library/costs/#PowerSystems.ThermalGenerationCost","page":"Operating Costs","title":"PowerSystems.ThermalGenerationCost","text":"mutable struct ThermalGenerationCost <: OperationalCost\n variable::ProductionVariableCostCurve\n fixed::Float64\n start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}\n shut_down::Float64\nend\n\nData Structure Operational Cost Data which includes fixed, variable cost, multiple start up cost and stop costs.\n\nArguments\n\nvariable::ProductionVariableCostCurve: Production Variable Cost. Can take fuel curves or cost curve represenations\nfixed::Union{Nothing, Float64}: Fixed cost of keeping the unit online. For some cost represenations this field can be duplicative.\nstart_up::Union{NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}, Float64}: start-up cost can take linear of multi-stage costs\nshut_down::Float64: cost of turning the unit offline.\n\n\n\n\n\n","category":"type"},{"location":"model_library/costs/#PowerSystems.HydroGenerationCost","page":"Operating Costs","title":"PowerSystems.HydroGenerationCost","text":"mutable struct HydroGenerationCost <: OperationalCost\n variable::ProductionVariableCostCurve\n fixed::Float64\nend\n\nData Structure for the Operational Cost of Hydro Power Plants which includes fixed and variable cost. Variable Costs can be used to represent the cost of curtailment if negative values are used or the opportunity cost of water if the costs are positive. It also supports fuel curves to model specific water intake.\n\nArguments\n\nvariable::ProductionVariableCostCurve: Production variable cost represented by a FuelCurve, where the fuel is water, or a CostCurve in currency.\nfixed::Union{Nothing, Float64}: Fixed cost of keeping the unit online. For some cost represenations this field can be duplicative.\n\n\n\n\n\n","category":"type"},{"location":"model_library/costs/#PowerSystems.RenewableGenerationCost","page":"Operating Costs","title":"PowerSystems.RenewableGenerationCost","text":"mutable struct RenewableGenerationCost <: OperationalCost\n variable::CostCurve\n curtailment_cost::CostCurve\nend\n\nData Structure for the Operational Cost of Renewable Power Plants which includes the variable cost of energy (like a PPA) and the cost of curtailing power. For example, curtailment Costs can be used to represent the loss of tax incentives.\n\nArguments\n\nvariable::CostCurve: Variable cost.\ncurtailment_cost::CostCurve: Input/output cost of curtailing power.\n\n\n\n\n\n","category":"type"},{"location":"model_library/costs/#PowerSystems.StorageCost","page":"Operating Costs","title":"PowerSystems.StorageCost","text":"mutable struct StorageCost <: OperationalCost\n charge_variable_cost::CostCurve\n discharge_variable_cost::CostCurve\n fixed::Float64\n start_up::Union{STORAGE_OPERATION_MODES, Float64}\n shut_down::Float64\n energy_shortage_cost::Float64\n energy_surplus_cost::Float64\nend\n\nData Structure for Operational Cost Data like variable cost and start - stop costs and energy storage cost. This data structure is not intended to represent market storage systems market operations like the submission of buy/sell bids.\n\nArguments\n\ncharge_variable_cost::CostCurve: variable cost represented as a CostCurve\ndischarge_variable_cost::CostCurve: variable cost represented as a CostCurve\nfixed::Float64: fixed cost of operating the storage system\nstart_up::Union{STORAGE_OPERATION_MODES, Float64}: start-up cost, validation range:, action if invalid\nshut_down::Float64: shut-down cost, validation range: action if invalid\nenergy_shortage_cost::Float64: Cost incurred by the model for being short of the energy target.\nenergy_surplus_cost::Float64: Cost incurred by the model for surplus energy stored.\n\n\n\n\n\n","category":"type"},{"location":"model_library/costs/#PowerSystems.LoadCost","page":"Operating Costs","title":"PowerSystems.LoadCost","text":"mutable struct LoadCost <: OperationalCost\n \"variable cost\"\n variable::CostCurve\n \"fixed cost\"\n fixed::Float64\nend\n\nData structure for the operational cost of loads (e.g., InterruptiblePowerLoad), including fixed and variable cost components.\n\nArguments\n\nvariable::CostCurve: Variable cost.\nfixed::Union{Nothing, Float64}: Fixed cost of keeping the unit online. For some cost represenations this field can be duplicative.\n\n\n\n\n\n","category":"type"},{"location":"model_library/costs/#PowerSystems.MarketBidCost","page":"Operating Costs","title":"PowerSystems.MarketBidCost","text":"mutable struct MarketBidCost <: OperationalCost\n no_load_cost::Float64\n start_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}\n shut_down::Float64\n incremental_offer_curves::Union{Nothing, TimeSeriesKey, PiecewiseLinearData} # TODO update docs given struct\n decremental_offer_curves::Union{Nothing, TimeSeriesKey, PiecewiseLinearData}\n ancillary_service_offers::Vector{Service}\nend\n\nData Structure Operational Cost to reflect market bids of energy and ancilliary services for any asset. Compatible with most US Market bidding mechanisms that support demand and generation side.\n\nArguments\n\nno_load_cost::Float64: no load cost\nstart_up::NamedTuple{(:hot, :warm, :cold), NTuple{3, Float64}}: start-up cost at different stages of the thermal cycle. Warm is also refered as intermediate in some markets\nshut_down::Float64: shut-down cost, validation range: (0, nothing), action if invalid: warn\nincremental_offer_curves::Union{Nothing, TimeSeriesKey, PiecewiseLinearData}: Sell Offer Curves data, can be a time series or a fixed PiecewiseLinearData\ndecremental_offer_curves::Union{Nothing, TimeSeriesKey, PiecewiseLinearData}: Buy Offer Curves data, can be a time series or a fixed PiecewiseLinearData\nancillary_service_offers::Vector{Service}: Bids for the ancillary services\n\n\n\n\n\n","category":"type"},{"location":"tutorials/parse_powerflow_cases/#Parsing-Files","page":"Parsing PowerFlow Data","title":"Parsing Files","text":"","category":"section"},{"location":"tutorials/parse_powerflow_cases/","page":"Parsing PowerFlow Data","title":"Parsing PowerFlow Data","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"tutorials/parse_powerflow_cases/#Introduction","page":"Parsing PowerFlow Data","title":"Introduction","text":"","category":"section"},{"location":"tutorials/parse_powerflow_cases/","page":"Parsing PowerFlow Data","title":"Parsing PowerFlow Data","text":"An example of how to parse MATPOWER and PSSe raw files and create a System using PowerSystems.jl","category":"page"},{"location":"tutorials/parse_powerflow_cases/#Create-a-System-from-a-Matpower-File","page":"Parsing PowerFlow Data","title":"Create a System from a Matpower File","text":"","category":"section"},{"location":"tutorials/parse_powerflow_cases/","page":"Parsing PowerFlow Data","title":"Parsing PowerFlow Data","text":"# Load directory\nusing PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\"); #hide\nsys = System(joinpath(file_dir, \"case5_re.m\"))","category":"page"},{"location":"tutorials/parse_powerflow_cases/#Create-a-System-a-PSS/e-File","page":"Parsing PowerFlow Data","title":"Create a System a PSS/e File","text":"","category":"section"},{"location":"tutorials/parse_powerflow_cases/","page":"Parsing PowerFlow Data","title":"Parsing PowerFlow Data","text":"file_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\"); #hide\nsys = System(joinpath(file_dir, \"RTS-GMLC.RAW\"))","category":"page"},{"location":"tutorials/parse_powerflow_cases/","page":"Parsing PowerFlow Data","title":"Parsing PowerFlow Data","text":"This data set does not contain any time series data. For this, check the next tutorial.","category":"page"},{"location":"modeler_guide/cost_functions/#Cost-Functions","page":"Cost Functions","title":"Cost Functions","text":"","category":"section"},{"location":"modeler_guide/cost_functions/","page":"Cost Functions","title":"Cost Functions","text":"PowerSystems.jl provides an extensive type hierarchy to explicitly express relationships between power production and cost. This lets the modeler represent cost functions as linear, quadratic, or piecewise input-output curves, potentially piecewise marginal heat rates, average heat rates, and more, as best fits the input data.","category":"page"},{"location":"modeler_guide/cost_functions/","page":"Cost Functions","title":"Cost Functions","text":"To represent a cost for a particular Component, the modeler first chooses one of the variable cost representations in the table below. Then, they wrap this ProductionVariableCostCurve in either a CostCurve to indicate a cost in currency or in a FuelCurve to indicate a cost per unit of fuel plus a fuel cost. Finally, the user creates a domain-specific OperationalCost that contains this variable cost as well as other costs that may exist in that domain, such as a fixed cost that is always incurred when the unit is on. For instance, we may have RenewableGenerationCost(CostCurve(LinearCurve(22.0))) to represent the cost of a renewable unit that produces at $22/MWh, or ThermalGenerationCost(; variable = CostCurve(LinearCurve(22.0)), fixed = 1.0, start_up = 2.0, shut_down = 3.0) to represent the cost of a thermal unit that produces at $22/MWh plus a fixed cost of $1.0/hr, a start-up cost of $2.0, and a shut-down cost of $3.0. Below, we give the options for ProductionVariableCostCurves. Information on what domain-specific cost must be provided for a given component type can be found in that component type's documentation.","category":"page"},{"location":"modeler_guide/cost_functions/#Variable-Cost-Representations","page":"Cost Functions","title":"Variable Cost Representations","text":"","category":"section"},{"location":"modeler_guide/cost_functions/","page":"Cost Functions","title":"Cost Functions","text":"For more details, see the documentation page for each type. \"Example interpretation\" assumes the cost is wrapped in a CostCurve with natural units. Note that all three Piecewise options here fundamentally represent the same curve.","category":"page"},{"location":"modeler_guide/cost_functions/","page":"Cost Functions","title":"Cost Functions","text":"Type alias Description Constructor parameters Example Example interpretation\nLinearCurve Linear input-output curve with zero no-load cost (constant average rate) Average/marginal rate LinearCurve(3.0) $3/MWh\nLinearCurve Linear input-output curve with nonzero no-load cost (constant marginal rate) Marginal rate, cost at zero production LinearCurve(3.0, 5.0) $3/MWh + $5/hr\nQuadraticCurve Quadratic input-output curve, may have nonzero no-load cost Quadratic, proportional, and constant terms of input-output curve QuadraticCurve(1.0, 1.0, 18.0) C(P) = 1 P^2 + 1 P + 18 where C is $/hr, P is MW\nPiecewisePointCurve Piecewise linear curve specified by cost values at production points Vector of (production, cost) pairs PiecewisePointCurve([(1.0, 20.0), (2.0, 24.0), (3.0, 30.0)]) $20/hr @ 1 MW, $24/hr @ 2 MW, $30/hr @ 3 MW, linear $/hr interpolation between these points\nPiecewiseIncrementalCurve Piecewise linear curve specified by marginal rates (slopes) between production points, may have nonzero initial value Cost at minimum production point, vector of n production points, vector of n-1 marginal rates/slopes of the curve segments between the points PiecewiseIncrementalCurve(20., [1.0, 2.0, 3.0], [4.0, 6.0]) $20/hr @ 1 MW plus additional $4/MWh from 1 MW to 2 MW plus additional $6/MWh from 2 MW to 3 MW\nPiecewiseAverageCurve Piecewise linear curve specified by average rates between production points, may have nonzero initial value Cost at minimum production point, vector of n production points, vector of average rates at the n-1 latter points PiecewiseAverageCurve(20., [1.0, 2.0, 3.0], [12.0, 10.0]) $20/hr @ 1 MW, $12/MWh @ 2 MW, $10/MWh @ 3 MW, linear $/hr interpolation between these points","category":"page"},{"location":"api/internal/#Internal-API","page":"Internal API Reference","title":"Internal API","text":"","category":"section"},{"location":"api/internal/","page":"Internal API Reference","title":"Internal API Reference","text":"Modules = [PowerSystems]\nPublic = false","category":"page"},{"location":"api/internal/#PowerSystems._pti_dtypes","page":"Internal API Reference","title":"PowerSystems._pti_dtypes","text":"lookup array of data types for PTI file sections given by field_name, as enumerated by PSS/E Program Operation Manual.\n\n\n\n\n\n","category":"constant"},{"location":"api/internal/#PowerSystems._pti_sections","page":"Internal API Reference","title":"PowerSystems._pti_sections","text":"A list of data file sections in the order that they appear in a PTI v33 file\n\n\n\n\n\n","category":"constant"},{"location":"api/internal/#PowerSystems.pm_component_status","page":"Internal API Reference","title":"PowerSystems.pm_component_status","text":"maps component types to status parameters\n\n\n\n\n\n","category":"constant"},{"location":"api/internal/#PowerSystems.pm_component_status_inactive","page":"Internal API Reference","title":"PowerSystems.pm_component_status_inactive","text":"maps component types to inactive status values\n\n\n\n\n\n","category":"constant"},{"location":"api/internal/#PowerSystems.EX4VSA","page":"Internal API Reference","title":"PowerSystems.EX4VSA","text":"mutable struct EX4VSA <: AVR\n Iflim::Float64\n d::Float64\n f::Float64\n Spar::Float64\n K1::Float64\n K2::Float64\n Oel_lim::MinMax\n G::Float64\n Ta::Float64\n Tb::Float64\n Te::Float64\n E_lim::MinMax\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nIEEE Excitation System for Voltage Security Assesment\n\nArguments\n\nIflim::Float64: OEL Field current limit, validation range: (0, nothing)\nd::Float64: OEL parameter d, validation range: (0, nothing)\nf::Float64: OEL parameter f, validation range: (0, nothing)\nSpar::Float64: OEL parameter Spar, validation range: (0, nothing)\nK1::Float64: OEL delay time constant, validation range: (0, nothing)\nK2::Float64: OEL parameter K2, validation range: (0, nothing)\nOel_lim::MinMax: Oel integrator limits (Oelmin, Oelmax)\nG::Float64: AVR Exciter Gain, validation range: (0, nothing)\nTa::Float64: Numerator lead-lag (lag) time constant in s, validation range: (0, nothing)\nTb::Float64: Denominator lead-lag (lag) time constant in s, validation range: (0, nothing)\nTe::Float64: Exciter Time Constant in s, validation range: (0, nothing)\nE_lim::MinMax: Voltage regulator limits (regulator output) (Emin, Emax)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVll: Lead-lag internal state,\nVex: Exciter Output, \noel: OEL integrator state\n\nn_states::Int: (Do not modify.) The EX4VSA has 3 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems.EXST1","page":"Internal API Reference","title":"PowerSystems.EXST1","text":"mutable struct EXST1 <: AVR\n Tr::Float64\n Vi_lim::MinMax\n Tc::Float64\n Tb::Float64\n Ka::Float64\n Ta::Float64\n Vr_lim::MinMax\n Kc::Float64\n Kf::Float64\n Tf::Float64\n V_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nIEEE Type ST1 Excitation System (PTI version)\n\nArguments\n\nTr::Float64: Voltage Measurement Time Constant in s, validation range: (0, nothing)\nVi_lim::MinMax: Voltage input limits (Vimin, Vimax)\nTc::Float64: Numerator lead-lag (lead) time constant in s, validation range: (0, nothing)\nTb::Float64: Denominator lead-lag (lag) time constant in s, validation range: (0, nothing)\nKa::Float64: Amplifier Gain, validation range: (0, nothing)\nTa::Float64: Amplifier Time Constant in s, validation range: (0, nothing)\nVr_lim::MinMax: Voltage regulator limits (regulator output) (Vrmin, Vrmax)\nKc::Float64: Current field constant limiter multiplier, validation range: (0, nothing)\nKf::Float64: Excitation control system stabilizer gain, validation range: (eps(), 0.3)\nTf::Float64: Excitation control system stabilizer time constant, validation range: (eps(), nothing)\nV_ref::Float64: (default: 1.0) Reference Voltage Set-point (pu), validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed Terminal Voltage,\nVrll: Lead-Lag state,\nVr: Regulator Output, \nVfb: Feedback state\n\nn_states::Int: (Do not modify.) The EXST1 has 4 states\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems.PowerFlowDataNetwork","page":"Internal API Reference","title":"PowerSystems.PowerFlowDataNetwork","text":"Container for data parsed by PowerFlowData\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems.PowerFlowDataNetwork-Tuple{Union{IO, String}}","page":"Internal API Reference","title":"PowerSystems.PowerFlowDataNetwork","text":"PowerFlowDataNetwork(\n file::Union{IO, String};\n kwargs...\n) -> PowerSystems.PowerFlowDataNetwork\n\n\nConstructs PowerFlowDataNetwork from a raw file. Currently Supports PSSE data files v30, v32 and v33\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._FieldInfo","page":"Internal API Reference","title":"PowerSystems._FieldInfo","text":"Stores user-customized information for required dataframe columns.\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#PowerSystems._HeatRateColumns","page":"Internal API Reference","title":"PowerSystems._HeatRateColumns","text":"Add generators to the System from the raw data.\n\n\n\n\n\n","category":"type"},{"location":"api/internal/#Base.convert-Tuple{Type{@NamedTuple{min::Float64, max::Float64}}, Tuple{Float64, Float64}}","page":"Internal API Reference","title":"Base.convert","text":"convert(\n _::Type{@NamedTuple{min::Float64, max::Float64}},\n input::Tuple{Float64, Float64}\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nConvert Tuple to Min Max Named Tuple\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#Base.convert-Tuple{Type{@NamedTuple{up::Float64, down::Float64}}, Tuple{Float64, Float64}}","page":"Internal API Reference","title":"Base.convert","text":"convert(\n _::Type{@NamedTuple{up::Float64, down::Float64}},\n input::Tuple{Float64, Float64}\n) -> @NamedTuple{up::Float64, down::Float64}\n\n\nConvert Tuple to Up Down Named Tuple\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#Base.zero-Tuple{Union{Type{AverageRateCurve}, AverageRateCurve}}","page":"Internal API Reference","title":"Base.zero","text":"zero(\n _::Union{Type{AverageRateCurve}, AverageRateCurve}\n) -> AverageRateCurve{LinearFunctionData}\n\n\nGet an AverageRateCurve representing f(x)/x = 0 with zero initial_input\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#Base.zero-Tuple{Union{Type{CostCurve}, CostCurve}}","page":"Internal API Reference","title":"Base.zero","text":"zero(\n _::Union{Type{CostCurve}, CostCurve}\n) -> CostCurve{LinearCurve}\n\n\nGet a CostCurve representing zero variable cost\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#Base.zero-Tuple{Union{Type{FuelCurve}, FuelCurve}}","page":"Internal API Reference","title":"Base.zero","text":"zero(\n _::Union{Type{FuelCurve}, FuelCurve}\n) -> FuelCurve{LinearCurve}\n\n\nGet a FuelCurve representing zero fuel usage and zero fuel cost\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#Base.zero-Tuple{Union{Type{IncrementalCurve}, IncrementalCurve}}","page":"Internal API Reference","title":"Base.zero","text":"zero(\n _::Union{Type{IncrementalCurve}, IncrementalCurve}\n) -> IncrementalCurve{LinearFunctionData}\n\n\nGet an IncrementalCurve representing f'(x) = 0 with zero initial_input\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#Base.zero-Tuple{Union{Type{InputOutputCurve}, InputOutputCurve}}","page":"Internal API Reference","title":"Base.zero","text":"zero(\n _::Union{Type{InputOutputCurve}, InputOutputCurve}\n) -> LinearCurve\n\n\nGet an InputOutputCurve representing f(x) = 0\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#Base.zero-Tuple{Union{Type{ValueCurve}, ValueCurve}}","page":"Internal API Reference","title":"Base.zero","text":"zero(_::Union{Type{ValueCurve}, ValueCurve}) -> LinearCurve\n\n\nGet a ValueCurve representing zero variable cost\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.assign_new_uuid!-Tuple{System, Component}","page":"Internal API Reference","title":"InfrastructureSystems.assign_new_uuid!","text":"assign_new_uuid!(sys::System, x::Component)\n\n\nChange the UUID of a component.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ACBus}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ACBus\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ACBus internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AGC}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AGC\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AGC internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AVRFixed}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AVRFixed\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AVRFixed internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AVRSimple}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AVRSimple\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AVRSimple internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AVRTypeII}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AVRTypeII\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AVRTypeII internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AVRTypeI}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AVRTypeI\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AVRTypeI internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ActiveConstantPowerLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ActiveConstantPowerLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ActiveConstantPowerLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AggregateDistributedGenerationA}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AggregateDistributedGenerationA\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AggregateDistributedGenerationA internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AndersonFouadMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AndersonFouadMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AndersonFouadMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Arc}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Arc\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Arc internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{AreaInterchange}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::AreaInterchange\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet AreaInterchange internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Area}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Area\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Area internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{BaseMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::BaseMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet BaseMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{CSVGN1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::CSVGN1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet CSVGN1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ConstantReserveGroup}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ConstantReserveGroup\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ConstantReserveGroup internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ConstantReserveNonSpinning}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ConstantReserveNonSpinning\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ConstantReserveNonSpinning internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ConstantReserve}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ConstantReserve\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ConstantReserve internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{DCBus}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::DCBus\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet DCBus internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{DEGOV}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::DEGOV\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet DEGOV internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{DynamicBranch}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::DynamicBranch\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet DynamicBranch internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{DynamicExponentialLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::DynamicExponentialLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet DynamicExponentialLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESAC1A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESAC1A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESAC1A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESAC6A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESAC6A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESAC6A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESDC1A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESDC1A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESDC1A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESDC2A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESDC2A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESDC2A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESST1A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESST1A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESST1A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ESST4B}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESST4B\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESST4B internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{EXAC1A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::EXAC1A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EXAC1A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{EXAC1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::EXAC1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EXAC1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{EXAC2}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::EXAC2\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EXAC2 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{EXPIC1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::EXPIC1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EXPIC1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{EnergyReservoirStorage}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::EnergyReservoirStorage\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EnergyReservoirStorage internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ExponentialLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ExponentialLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ExponentialLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{FiveMassShaft}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::FiveMassShaft\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet FiveMassShaft internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{FixedAdmittance}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::FixedAdmittance\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet FixedAdmittance internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{FixedDCSource}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::FixedDCSource\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet FixedDCSource internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{FullMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::FullMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet FullMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{GasTG}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::GasTG\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet GasTG internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{GeneralGovModel}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::GeneralGovModel\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet GeneralGovModel internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{GenericDER}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::GenericDER\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet GenericDER internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{HybridSystem}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::HybridSystem\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet HybridSystem internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{HydroDispatch}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::HydroDispatch\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet HydroDispatch internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{HydroEnergyReservoir}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::HydroEnergyReservoir\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet HydroEnergyReservoir internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{HydroPumpedStorage}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::HydroPumpedStorage\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet HydroPumpedStorage internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{HydroTurbineGov}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::HydroTurbineGov\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet HydroTurbineGov internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{IEEEST}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::IEEEST\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet IEEEST internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{IEEET1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::IEEET1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet IEEET1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{IEEETurbineGov1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::IEEETurbineGov1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet IEEETurbineGov1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{InterconnectingConverter}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::InterconnectingConverter\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet InterconnectingConverter internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{InterruptiblePowerLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::InterruptiblePowerLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet InterruptiblePowerLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Line}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Line\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Line internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{LoadZone}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::LoadZone\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet LoadZone internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{MarconatoMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::MarconatoMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet MarconatoMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{MonitoredLine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::MonitoredLine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet MonitoredLine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{OneDOneQMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::OneDOneQMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet OneDOneQMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Outage}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(x::Outage) -> Any\n\n\nGet internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PSS2A}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PSS2A\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PSS2A internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PSS2B}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PSS2B\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PSS2B internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PSS2C}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PSS2C\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PSS2C internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PSSFixed}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PSSFixed\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PSSFixed internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PSSSimple}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PSSSimple\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PSSSimple internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PeriodicVariableSource}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PeriodicVariableSource\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PeriodicVariableSource internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PhaseShiftingTransformer}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PhaseShiftingTransformer\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PhaseShiftingTransformer internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PowerLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PowerLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PowerLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PowerSystems.EX4VSA}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PowerSystems.EX4VSA\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EX4VSA internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{PowerSystems.EXST1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PowerSystems.EXST1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet EXST1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{RenewableDispatch}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::RenewableDispatch\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet RenewableDispatch internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{RenewableNonDispatch}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::RenewableNonDispatch\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet RenewableNonDispatch internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ReserveDemandCurve}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ReserveDemandCurve\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ReserveDemandCurve internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{RoundRotorMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::RoundRotorMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet RoundRotorMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SCRX}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SCRX\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SCRX internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SEXS}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SEXS\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SEXS internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{STAB1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::STAB1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet STAB1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SalientPoleMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SalientPoleMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SalientPoleMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SauerPaiMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SauerPaiMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SauerPaiMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SimpleAFMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SimpleAFMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SimpleAFMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SimpleFullMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SimpleFullMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SimpleFullMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SimpleMarconatoMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SimpleMarconatoMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SimpleMarconatoMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SimplifiedSingleCageInductionMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SimplifiedSingleCageInductionMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SimplifiedSingleCageInductionMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SingleCageInductionMachine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SingleCageInductionMachine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SingleCageInductionMachine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SingleMass}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SingleMass\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SingleMass internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Source}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Source\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Source internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{StandardLoad}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::StandardLoad\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet StandardLoad internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SteamTurbineGov1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SteamTurbineGov1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SteamTurbineGov1 internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{SwitchedAdmittance}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::SwitchedAdmittance\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet SwitchedAdmittance internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{System}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n sys::System\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nReturn the internal of the system\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TGFixed}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TGFixed\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TGFixed internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TGTypeII}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TGTypeII\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TGTypeII internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TGTypeI}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TGTypeI\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TGTypeI internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TModelHVDCLine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TModelHVDCLine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TModelHVDCLine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TapTransformer}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TapTransformer\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TapTransformer internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ThermalMultiStart}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ThermalMultiStart\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ThermalMultiStart internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{ThermalStandard}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ThermalStandard\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ThermalStandard internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{Transformer2W}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::Transformer2W\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet Transformer2W internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TransmissionInterface}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TransmissionInterface\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TransmissionInterface internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TwoTerminalHVDCLine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TwoTerminalHVDCLine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TwoTerminalHVDCLine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{TwoTerminalVSCDCLine}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::TwoTerminalVSCDCLine\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet TwoTerminalVSCDCLine internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{VariableReserveNonSpinning}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::VariableReserveNonSpinning\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet VariableReserveNonSpinning internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#InfrastructureSystems.get_internal-Tuple{VariableReserve}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::VariableReserve\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet VariableReserve internal.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._add_dcline_costs!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._add_dcline_costs!","text":"_add_dcline_costs!(data::Dict{String, Any})\n\n\nadds dcline costs, if gen costs exist\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._add_line_delimiter-Tuple{AbstractString, Any, Any}","page":"Internal API Reference","title":"PowerSystems._add_line_delimiter","text":"_add_line_delimiter(\n mp_line::AbstractString,\n start_char,\n end_char\n) -> Any\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._apply_func!-Tuple{Dict{String}, String, Any}","page":"Internal API Reference","title":"PowerSystems._apply_func!","text":"_apply_func!(data::Dict{String}, key::String, func) -> Any\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._biggest_generator-Tuple{Any}","page":"Internal API Reference","title":"PowerSystems._biggest_generator","text":"_biggest_generator(gens) -> Any\n\n\nfind the largest active generator in the network\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._bold-Tuple{String}","page":"Internal API Reference","title":"PowerSystems._bold","text":"_bold(s::String) -> String\n\n\nMakes a string bold in the terminal\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._calc_branch_flow_ac-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._calc_branch_flow_ac","text":"_calc_branch_flow_ac(\n data::Dict{String}\n) -> Dict{String, Any}\n\n\nhelper function for calcbranchflow_ac\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._calc_branch_flow_dc-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._calc_branch_flow_dc","text":"_calc_branch_flow_dc(\n data::Dict{String}\n) -> Dict{String, Any}\n\n\nhelper function for calcbranchflow_dc\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._calc_comp_lines-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._calc_comp_lines","text":"_calc_comp_lines(component::Dict{String}) -> Vector{Any}\n\n\ncompute lines in m and b from from pwl cost models\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._calc_max_cost_index-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._calc_max_cost_index","text":"_calc_max_cost_index(data::Dict{String}) -> Any\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._calc_power_balance-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._calc_power_balance","text":"_calc_power_balance(data::Dict{String}) -> Dict{String, Any}\n\n\nhelper function for calcpowerbalance\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._cc_dfs-NTuple{4, Any}","page":"Internal API Reference","title":"PowerSystems._cc_dfs","text":"_cc_dfs(i, neighbors, component_lookup, touched)\n\n\nDFS on a graph\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._check_conductors-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._check_conductors","text":"_check_conductors(data::Dict{String})\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._check_keys-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems._check_keys","text":"_check_keys(data, keys)\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._compare_numbers-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems._compare_numbers","text":"_compare_numbers(v1, v2) -> Bool\n\n\ntests if two numbers are equal, up to floating point precision\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._convert_argument_types!-Tuple{AbstractString, Vector}","page":"Internal API Reference","title":"PowerSystems._convert_argument_types!","text":"_convert_argument_types!(\n str::AbstractString,\n struct_args::Vector\n) -> Any\n\n\nConvert specific parameters to types that are not Float64 for specific inverter components\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._correct_cost_function!-Tuple{Any, Any, Any}","page":"Internal API Reference","title":"PowerSystems._correct_cost_function!","text":"_correct_cost_function!(id, comp, type_name) -> Bool\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._correct_reference_buses!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._correct_reference_buses!","text":"_correct_reference_buses!(data::Dict{String})\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._create_starbus_from_transformer-Tuple{Dict, Dict, Int64}","page":"Internal API Reference","title":"PowerSystems._create_starbus_from_transformer","text":"_create_starbus_from_transformer(\n pm_data::Dict,\n transformer::Dict,\n starbus_id::Int64\n) -> Dict{String, Any}\n\n\ncreate_starbus(pm_data, transformer)\n\nCreates 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._deactivate_isolated_components!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._deactivate_isolated_components!","text":"_deactivate_isolated_components!(data::Dict{String}) -> Bool\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._extract_matlab_assignment-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems._extract_matlab_assignment","text":"_extract_matlab_assignment(\n string::AbstractString\n) -> Tuple{SubString, SubString}\n\n\nbreaks up matlab strings of the form 'name = value;'\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._find_max_bus_id-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems._find_max_bus_id","text":"_find_max_bus_id(pm_data::Dict) -> Int64\n\n\n_find_max_bus_id(pm_data)\n\nReturns the maximum bus id in pm_data\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._float2string-Tuple{AbstractFloat, Int64}","page":"Internal API Reference","title":"PowerSystems._float2string","text":"_float2string(\n v::AbstractFloat,\n float_precision::Int64\n) -> Union{String, WeakRefStrings.PosLenString}\n\n\nconverts a float value into a string of fixed precision\n\nsprintf would do the job but this work around is needed because sprintf cannot take format strings during runtime\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._get_bus_value-Tuple{Int64, String, Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._get_bus_value","text":"_get_bus_value(\n bus_i::Int64,\n field::String,\n pm_data::Dict{String, Any}\n) -> Any\n\n\n_get_bus_value(bus_i, field, pm_data)\n\nReturns the value of field of bus_i from the PowerModels data. Requires \"bus\" Dict to already be populated.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._get_contributing_devices-Union{Tuple{T}, Tuple{System, T}} where T<:Service","page":"Internal API Reference","title":"PowerSystems._get_contributing_devices","text":"_get_contributing_devices(\n sys::System,\n service::Service\n) -> ServiceContributingDevices\n\n\nReturns a ServiceContributingDevices object.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._get_line_elements-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems._get_line_elements","text":"_get_line_elements(\n line::AbstractString\n) -> Tuple{Vector{T} where T<:SubString, Union{String, SubString}}\n\n\n_get_line_elements(line)\n\nInternal 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._get_pm_branch_name-Tuple{Any, ACBus, ACBus}","page":"Internal API Reference","title":"PowerSystems._get_pm_branch_name","text":"_get_pm_branch_name(\n device_dict,\n bus_f::ACBus,\n bus_t::ACBus\n) -> String\n\n\nInternal branch name retreval from pm2ps_dict\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._get_pm_dict_name-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems._get_pm_dict_name","text":"_get_pm_dict_name(device_dict::Dict) -> String\n\n\nInternal component name retreval from pm2ps_dict\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._grey-Tuple{String}","page":"Internal API Reference","title":"PowerSystems._grey","text":"_grey(s::String) -> String\n\n\nMakes 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\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._import_remaining_comps!-Tuple{Dict, Dict}","page":"Internal API Reference","title":"PowerSystems._import_remaining_comps!","text":"_import_remaining_comps!(\n data_out::Dict,\n data_in::Dict;\n exclude\n)\n\n\nImports remaining top level component lists from data_in into data_out, excluding keys in exclude\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._import_remaining_keys!-Tuple{Dict, Dict}","page":"Internal API Reference","title":"PowerSystems._import_remaining_keys!","text":"_import_remaining_keys!(\n comp_dest::Dict,\n comp_src::Dict;\n exclude\n)\n\n\nImports remaining keys from a source component into detestation component, excluding keys in exclude\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._init_bus!-Tuple{Dict{String, Any}, Int64}","page":"Internal API Reference","title":"PowerSystems._init_bus!","text":"_init_bus!(bus::Dict{String, Any}, id::Int64)\n\n\n_init_bus!(bus, id)\n\nInitializes a bus of id id with default values given in the PSS(R)E specification.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._instantiate_param_vector_size-Tuple{AbstractString, Dict}","page":"Internal API Reference","title":"PowerSystems._instantiate_param_vector_size","text":"_instantiate_param_vector_size(\n str::AbstractString,\n param_map::Dict\n) -> Any\n\n\nConstruct appropiate vector size for components that collect parameters from more than 2 PSS/E components\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._make_mixed_units!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._make_mixed_units!","text":"_make_mixed_units!(data::Dict{String})\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._make_per_unit!-Tuple{Dict{String}, Real}","page":"Internal API Reference","title":"PowerSystems._make_per_unit!","text":"_make_per_unit!(data::Dict{String}, mva_base::Real)\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._make_shaft-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems._make_shaft","text":"_make_shaft(param_map, val) -> Any\n\n\nCreate a SingleMass shaft struct directly using the parameter mapping.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._matpower_to_powermodels!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._matpower_to_powermodels!","text":"_matpower_to_powermodels!(\n mp_data::Dict{String}\n) -> Dict{String}\n\n\nConverts a Matpower dict into a PowerModels dict\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._merge_bus_name_data!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._merge_bus_name_data!","text":"_merge_bus_name_data!(\n data::Dict{String, Any}\n) -> Union{Nothing, Dict{String, Any}}\n\n\nmerges bus name data into buses, if names exist\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._merge_cost_data!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._merge_cost_data!","text":"_merge_cost_data!(\n data::Dict{String, Any}\n) -> Union{Nothing, Dict{String, Any}}\n\n\nmerges generator cost functions into generator data, if costs exist\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._merge_generic_data!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._merge_generic_data!","text":"_merge_generic_data!(data::Dict{String, Any})\n\n\nmerges Matpower tables based on the table extension syntax\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._mp2pm_branch!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._mp2pm_branch!","text":"_mp2pm_branch!(data::Dict{String, Any})\n\n\nsets all branch transformer taps to 1.0, to simplify branch models\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._mp2pm_dcline!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._mp2pm_dcline!","text":"_mp2pm_dcline!(data::Dict{String, Any})\n\n\nadds pmin and pmax values at to and from buses\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._mp_cost_data-Tuple{Any}","page":"Internal API Reference","title":"PowerSystems._mp_cost_data","text":"_mp_cost_data(cost_row) -> Dict\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dera1!-Tuple{Any, Any, Any, Dict, Int64}","page":"Internal API Reference","title":"PowerSystems._parse_dera1!","text":"_parse_dera1!(\n bus_dict,\n componentID,\n componentValues,\n param_map::Dict,\n bus_num::Int64\n)\n\n\nParse 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dyr_components-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems._parse_dyr_components","text":"_parse_dyr_components(\n dyr_file::AbstractString\n) -> Dict{Int64, Any}\n\n\nParse a .dyr file directly from its name by constructing its dictionary of dictionaries.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dyr_components-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems._parse_dyr_components","text":"_parse_dyr_components(data::Dict) -> Dict{Int64, Any}\n\n\nParse 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).\n\nFor Generators, each dictionary indexed by id contains a vector with 5 of its components:\n\nMachine\nShaft\nAVR\nTurbineGov\nPSS\n\nFor Inverters, each dictionary indexed by id contains a vector with 7 of its components:\n\nConverter\nActivePowerControl\nReactivePowerControl\nInnerControl\nDCSource\nFrequencyEstimator\nFilter\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dyr_file-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems._parse_dyr_file","text":"_parse_dyr_file(file::AbstractString) -> Dict{Int64, Dict}\n\n\nParse .dyr file into a dictionary indexed by bus number. Each bus number key has a dictionary indexed by component type and id.\n\nComments in .dyr files are not supported (beginning of lines with //).\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dyr_generator_components!-Tuple{Dict, Any, Any, Dict, Dict}","page":"Internal API Reference","title":"PowerSystems._parse_dyr_generator_components!","text":"_parse_dyr_generator_components!(\n bus_dict::Dict,\n componentID,\n componentValues,\n gen_map::Dict,\n param_map::Dict\n)\n\n\nParse 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_dyr_inverter_components!-Tuple{Dict, Dict, Tuple{String, String}, Dict}","page":"Internal API Reference","title":"PowerSystems._parse_dyr_inverter_components!","text":"_parse_dyr_inverter_components!(\n bus_dict::Dict,\n inv_dict::Dict,\n componentID::Tuple{String, String},\n inv_map::Dict\n)\n\n\nParse 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_elements-Tuple{Array, Array, Dict, AbstractString}","page":"Internal API Reference","title":"PowerSystems._parse_elements","text":"_parse_elements(\n elements::Array,\n dtypes::Array,\n defaults::Dict,\n section::AbstractString\n) -> Dict{String, Any}\n\n\nThis 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_line_element!-Tuple{Dict, Array, AbstractString}","page":"Internal API Reference","title":"PowerSystems._parse_line_element!","text":"_parse_line_element!(\n data::Dict,\n elements::Array,\n section::AbstractString\n)\n\n\n_parse_line_element!(data, elements, section)\n\nInternal 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_matlab_cells-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems._parse_matlab_cells","text":"_parse_matlab_cells(lines, index) -> Dict\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_matlab_data-NTuple{4, Any}","page":"Internal API Reference","title":"PowerSystems._parse_matlab_data","text":"_parse_matlab_data(\n lines,\n index,\n start_char,\n end_char\n) -> Dict\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_matlab_matrix-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems._parse_matlab_matrix","text":"_parse_matlab_matrix(lines, index) -> Dict\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_matpower_string-Tuple{String}","page":"Internal API Reference","title":"PowerSystems._parse_matpower_string","text":"_parse_matpower_string(\n data_string::String\n) -> Dict{String, Any}\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._parse_pti_data-Tuple{IO}","page":"Internal API Reference","title":"PowerSystems._parse_pti_data","text":"_parse_pti_data(data_io::IO) -> Dict{String, Array{Dict}}\n\n\n_parse_pti_data(data_string, sections)\n\nInternal 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().\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._populate_args-Tuple{Vector, Any}","page":"Internal API Reference","title":"PowerSystems._populate_args","text":"_populate_args(param_map::Vector, val) -> Vector{Any}\n\n\nPopulate arguments in a vector for each dynamic component (except Shafts). Returns a vector with the parameter values of the argument of each component.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._populate_defaults!-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems._populate_defaults!","text":"_populate_defaults!(data::Dict)\n\n\n_populate_defaults!(pti_data)\n\nInternal function. Populates empty fields with PSS(R)E PTI v33 default values\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._process_get_cost-Tuple{Any, Any, Nothing, Vararg{Any, 4}}","page":"Internal API Reference","title":"PowerSystems._process_get_cost","text":"_process_get_cost(_, _, cost::Nothing, _, _, _, _)\n\n\nHelper function for cost getters.\n\nArguments\n\nT: type/eltype we expect\ncomponent::Component: the component\ncost: the data: either a single element of type T or a TimeSeriesKey\ntransform_fn: a function to apply to the elements of the time series\nstart_time: as in get_time_series\nlen: as in get_time_series\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._process_set_cost-Tuple{Any, Any, Any, Any, Nothing}","page":"Internal API Reference","title":"PowerSystems._process_set_cost","text":"_process_set_cost(_, _, _, _, _::Nothing)\n\n\nHelper function for cost setters.\n\nArguments\n\nT1: type we expect if it's not a time series\nT2: eltype we expect if it is a time series\nsys::System: the system\ncomponent::Component: the component\ncost: the data: either a single element of type T1 or a IS.TimeSeriesData of eltype T2\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._propagate_topology_status!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._propagate_topology_status!","text":"_propagate_topology_status!(data::Dict{String}) -> Bool\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_branch!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_branch!","text":"_psse2pm_branch!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_branch!(pm_data, pti_data)\n\nParses 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_bus!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_bus!","text":"_psse2pm_bus!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_bus!(pm_data, pti_data)\n\nParses PSS(R)E-style Bus data into a PowerModels-style Dict. \"source_id\" is given by [\"I\", \"NAME\"] in PSS(R)E Bus specification.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_dcline!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_dcline!","text":"_psse2pm_dcline!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_dcline!(pm_data, pti_data)\n\nParses 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_generator!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_generator!","text":"_psse2pm_generator!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n) -> Union{Nothing, Vector{Dict{String, Any}}}\n\n\n_psse2pm_generator!(pm_data, pti_data)\n\nParses PSS(R)E-style Generator data in a PowerModels-style Dict. \"source_id\" is given by [\"I\", \"ID\"] in PSS(R)E Generator specification.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_load!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_load!","text":"_psse2pm_load!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_load!(pm_data, pti_data)\n\nParses 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_shunt!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_shunt!","text":"_psse2pm_shunt!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_shunt!(pm_data, pti_data)\n\nParses 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._psse2pm_transformer!-Tuple{Dict, Dict, Bool}","page":"Internal API Reference","title":"PowerSystems._psse2pm_transformer!","text":"_psse2pm_transformer!(\n pm_data::Dict,\n pti_data::Dict,\n import_all::Bool\n)\n\n\n_psse2pm_transformer!(pm_data, pti_data)\n\nParses 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._pti_to_powermodels!-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems._pti_to_powermodels!","text":"_pti_to_powermodels!(\n pti_data::Dict;\n import_all,\n validate,\n correct_branch_rating\n) -> Dict{String, Any}\n\n\n_pti_to_powermodels!(pti_data)\n\nConverts 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).\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._read_data_row-Tuple{PowerSystemTableData, Any, Any}","page":"Internal API Reference","title":"PowerSystems._read_data_row","text":"_read_data_row(\n data::PowerSystemTableData,\n row,\n field_infos;\n na_to_nothing\n) -> NamedTuple\n\n\nReads values from dataframe row and performs necessary conversions.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._remove_aggregration_topology!-Tuple{ACBus, LoadZone}","page":"Internal API Reference","title":"PowerSystems._remove_aggregration_topology!","text":"_remove_aggregration_topology!(bus::ACBus, _::LoadZone)\n\n\nRemove the aggregation topology in a ACBus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._remove_pwl_cost_duplicates!","page":"Internal API Reference","title":"PowerSystems._remove_pwl_cost_duplicates!","text":"_remove_pwl_cost_duplicates!(id, comp, type_name) -> Bool\n_remove_pwl_cost_duplicates!(\n id,\n comp,\n type_name,\n tolerance\n) -> Bool\n\n\nchecks that each point in the a pwl function is unique, simplifies the function if duplicates appear\n\n\n\n\n\n","category":"function"},{"location":"api/internal/#PowerSystems._remove_service!-Tuple{Device, Service}","page":"Internal API Reference","title":"PowerSystems._remove_service!","text":"_remove_service!(device::Device, service::Service) -> Bool\n\n\nRemove service from device if it is attached.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._rescale_cost_model!-Tuple{Dict{String}, Real}","page":"Internal API Reference","title":"PowerSystems._rescale_cost_model!","text":"_rescale_cost_model!(comp::Dict{String}, scale::Real)\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._resolve_swithces!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._resolve_swithces!","text":"_resolve_swithces!(data::Dict{String})\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._select_largest_component!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems._select_largest_component!","text":"_select_largest_component!(data::Dict{String}) -> Any\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._simplify_pwl_cost!","page":"Internal API Reference","title":"PowerSystems._simplify_pwl_cost!","text":"_simplify_pwl_cost!(id, comp, type_name) -> Bool\n_simplify_pwl_cost!(id, comp, type_name, tolerance) -> Bool\n\n\nchecks the slope of each segment in a pwl function, simplifies the function if the slope changes is below a tolerance\n\n\n\n\n\n","category":"function"},{"location":"api/internal/#PowerSystems._split_loads_shunts!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems._split_loads_shunts!","text":"_split_loads_shunts!(data::Dict{String, Any})\n\n\n_split_loads_shunts!(data)\n\nSeperates 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._standardize_cost_terms!-Tuple{Dict{String}, Int64, String}","page":"Internal API Reference","title":"PowerSystems._standardize_cost_terms!","text":"_standardize_cost_terms!(\n components::Dict{String},\n comp_order::Int64,\n cost_comp_name::String\n) -> Set{Int64}\n\n\nensures all polynomial costs functions have at exactly comp_order terms\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._type_array-Union{Tuple{Vector{T}}, Tuple{T}} where T<:AbstractString","page":"Internal API Reference","title":"PowerSystems._type_array","text":"_type_array(\n string_array::Array{T<:AbstractString, 1}\n) -> Vector\n\n\nAttempts to determine the type of an array of strings extracted from a matlab file\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._type_value-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems._type_value","text":"_type_value(value_string::AbstractString) -> Any\n\n\nAttempts to determine the type of a string extracted from a matlab file\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._update_data!-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems._update_data!","text":"_update_data!(data::Dict{String}, new_data::Dict{String})\n\n\nrecursive call of updatedata\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems._value2string-Tuple{Any, Int64}","page":"Internal API Reference","title":"PowerSystems._value2string","text":"_value2string(v, float_precision::Int64) -> Any\n\n\nconverts any value to a string, summarizes arrays and dicts\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.add_service_internal!-Tuple{Device, Service}","page":"Internal API Reference","title":"PowerSystems.add_service_internal!","text":"add_service_internal!(device::Device, service::Service)\n\n\nThis function add a service to the component without checking if the component and the service are attached to the same system\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.adequacy_check-Tuple{System}","page":"Internal API Reference","title":"PowerSystems.adequacy_check","text":"adequacy_check(sys::System)\n\n\nadequacy_check(sys::System)\n\nChecks the system for sum(generator ratings) >= sum(load ratings).\n\nArguments\n\nsys::System: system\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.arrays_to_dicts!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.arrays_to_dicts!","text":"arrays_to_dicts!(data::Dict{String})\n\n\nturns top level arrays into dicts\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.branch_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.branch_csv_parser!","text":"branch_csv_parser!(sys::System, data::PowerSystemTableData)\n\n\nAdd branches to the System from the raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.bus_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.bus_csv_parser!","text":"bus_csv_parser!(sys::System, data::PowerSystemTableData)\n\n\nAdd buses and areas to the System from the raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.bus_gen_lookup-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems.bus_gen_lookup","text":"bus_gen_lookup(\n gen_data::Dict{String},\n bus_data::Dict{String}\n) -> Dict\n\n\nbuilds a lookup list of what generators are connected to a given bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.bus_load_lookup-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems.bus_load_lookup","text":"bus_load_lookup(\n load_data::Dict{String},\n bus_data::Dict{String}\n) -> Dict\n\n\nbuilds a lookup list of what loads are connected to a given bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.bus_shunt_lookup-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems.bus_shunt_lookup","text":"bus_shunt_lookup(\n shunt_data::Dict{String},\n bus_data::Dict{String}\n) -> Dict\n\n\nbuilds a lookup list of what shunts are connected to a given bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.bus_storage_lookup-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems.bus_storage_lookup","text":"bus_storage_lookup(\n storage_data::Dict{String},\n bus_data::Dict{String}\n) -> Dict\n\n\nbuilds a lookup list of what storage is connected to a given bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_branch_flow_ac-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_branch_flow_ac","text":"calc_branch_flow_ac(data::Dict{String}) -> Dict{String, Any}\n\n\nassumes a vaild ac solution is included in the data and computes the branch flow values\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_branch_flow_dc-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_branch_flow_dc","text":"calc_branch_flow_dc(data::Dict{String}) -> Dict{String, Any}\n\n\nassumes a vaild dc solution is included in the data and computes the branch flow values\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_branch_t-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_branch_t","text":"calc_branch_t(branch::Dict{String}) -> Tuple{Any, Any}\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_branch_y-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_branch_y","text":"calc_branch_y(branch::Dict{String}) -> Tuple{Any, Any}\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_connected_components-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_connected_components","text":"calc_connected_components(\n pm_data::Dict{String};\n edges\n) -> Set{Set{Int64}}\n\n\ncomputes the connected components of the network graph returns a set of sets of bus ids, each set is a connected component\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_cost_pwl_lines-Tuple{Dict}","page":"Internal API Reference","title":"PowerSystems.calc_cost_pwl_lines","text":"calc_cost_pwl_lines(comp_dict::Dict) -> Dict{Any, Any}\n\n\ncompute lines in m and b from from pwl cost models data is a list of components.\n\nCan be run on data or ref data structures\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_dcline_cost-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_dcline_cost","text":"calc_dcline_cost(data::Dict{String}) -> Any\n\n\ncomputes the dcline cost from given network data\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_gen_cost-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_gen_cost","text":"calc_gen_cost(data::Dict{String}) -> Any\n\n\ncomputes the generator cost from given network data\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_max_cost_index-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.calc_max_cost_index","text":"calc_max_cost_index(data::Dict{String, Any}) -> Any\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_power_balance-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_power_balance","text":"calc_power_balance(data::Dict{String}) -> Dict{String, Any}\n\n\nassumes a vaild solution is included in the data and computes the power balance at each bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calc_theta_delta_bounds-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.calc_theta_delta_bounds","text":"calc_theta_delta_bounds(\n data::Dict{String}\n) -> Tuple{Real, Real}\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.calculate_saturation_coefficients-Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}","page":"Internal API Reference","title":"PowerSystems.calculate_saturation_coefficients","text":"calculate_saturation_coefficients(\n E::Tuple{Float64, Float64},\n Se::Tuple{Float64, Float64}\n) -> Tuple{Float64, Float64}\n\n\nObtain 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 \n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_ascending_order-Tuple{Array{Int64}, AbstractString}","page":"Internal API Reference","title":"PowerSystems.check_ascending_order","text":"check_ascending_order(\n array::Array{Int64},\n name::AbstractString\n)\n\n\nThrows DataFormatError if the array is not in ascending order.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_attached_buses-Tuple{System, Component}","page":"Internal API Reference","title":"PowerSystems.check_attached_buses","text":"check_attached_buses(sys::System, component::Component)\n\n\nThrows ArgumentError if any bus attached to the component is invalid.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_branch_loops-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_branch_loops","text":"check_branch_loops(data::Dict{String})\n\n\nchecks that all branches connect two distinct buses\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_component_addition-Tuple{System, Component}","page":"Internal API Reference","title":"PowerSystems.check_component_addition","text":"check_component_addition(\n sys::System,\n component::Component;\n kwargs...\n)\n\n\nThrows ArgumentError if a PowerSystems rule blocks addition to the system.\n\nThis method is tied with handlecomponentaddition!. If the methods are re-implemented for a subtype then whatever is added in handlecomponentaddition! must be checked here.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_component_removal-Tuple{System, Component}","page":"Internal API Reference","title":"PowerSystems.check_component_removal","text":"check_component_removal(sys::System, component::Component)\n\n\nThrows ArgumentError if a PowerSystems rule blocks removal from the system.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_component_removal-Union{Tuple{T}, Tuple{System, T}} where T<:Service","page":"Internal API Reference","title":"PowerSystems.check_component_removal","text":"check_component_removal(sys::System, service::Service)\n\n\nThrows ArgumentError if a PowerSystems rule blocks removal from the system.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_conductors-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_conductors","text":"check_conductors(data::Dict{String})\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_connectivity-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_connectivity","text":"check_connectivity(data::Dict{String})\n\n\nchecks that all buses are unique and other components link to valid buses\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_reference_bus-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_reference_bus","text":"check_reference_bus(data::Dict{String})\n\n\nchecks that contains at least one refrence bus\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_reference_buses-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.check_reference_buses","text":"check_reference_buses(data::Dict{String, Any})\n\n\nchecks that each connected components has a reference bus, if not, adds one\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_status-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_status","text":"check_status(data::Dict{String})\n\n\nchecks that active components are not connected to inactive buses, otherwise prints warnings\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_storage_parameters-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.check_storage_parameters","text":"check_storage_parameters(data::Dict{String, Any})\n\n\nchecks that each storage unit has a reasonable parameters\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_subsystems-Tuple{System}","page":"Internal API Reference","title":"PowerSystems.check_subsystems","text":"check_subsystems(sys::System)\n\n\nCheck the the consistency of subsystems.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_switch_parameters-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_switch_parameters","text":"check_switch_parameters(data::Dict{String})\n\n\nchecks that each switch has a reasonable parameters\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_type-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems.check_type","text":"check_type(typ, value) -> Any\n\n\nChecks if the given value is of a given type, if not tries to make it that type\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.check_voltage_setpoints-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.check_voltage_setpoints","text":"check_voltage_setpoints(data::Dict{String})\n\n\nthrows warnings if generator and dc line voltage setpoints are not consistent with the bus voltage setpoint\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.compare_dict-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems.compare_dict","text":"compare_dict(d1, d2) -> Bool\n\n\ntests if two dicts are equal, up to floating point precision\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_branch_directions!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_branch_directions!","text":"correct_branch_directions!(data::Dict{String}) -> Set{Int64}\n\n\nchecks that all parallel branches have the same orientation\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_bus_types!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_bus_types!","text":"correct_bus_types!(data::Dict{String}) -> Set{Int64}\n\n\nchecks bus types are consistent with generator connections, if not, fixes them\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_component_refrence_bus!-Tuple{Any, Any, Any}","page":"Internal API Reference","title":"PowerSystems.correct_component_refrence_bus!","text":"correct_component_refrence_bus!(\n component_bus_ids,\n bus_lookup,\n component_gens\n)\n\n\nchecks that a connected component has a reference bus, if not, tries to add one\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_cost_functions!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_cost_functions!","text":"correct_cost_functions!(\n data::Dict{String}\n) -> Tuple{Set{Int64}, Set{Int64}}\n\n\nthrows warnings if cost functions are malformed\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_current_limits!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_current_limits!","text":"correct_current_limits!(data::Dict{String}) -> Set{Int64}\n\n\nchecks that each branch has a reasonable current rating-a, if not computes one\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_dcline_limits!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.correct_dcline_limits!","text":"correct_dcline_limits!(\n data::Dict{String, Any}\n) -> Set{Int64}\n\n\nchecks that parameters for dc lines are reasonable\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_network_data!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_network_data!","text":"correct_network_data!(\n data::Dict{String};\n correct_branch_rating\n) -> Dict{String, Dict{Symbol, Set{Int64}}}\n\n\nRuns various data quality checks on a PowerModels data dictionary. Applies modifications in some cases. Reports modified component ids.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_thermal_limits!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_thermal_limits!","text":"correct_thermal_limits!(data::Dict{String}) -> Set{Int64}\n\n\nchecks that each branch has a reasonable thermal rating-a, if not computes one\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_transformer_parameters!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.correct_transformer_parameters!","text":"correct_transformer_parameters!(\n data::Dict{String}\n) -> Set{Int64}\n\n\nchecks that each branch has a reasonable transformer parameters\n\nthis is important because setting tap == 0.0 leads to NaN computations, which are hard to debug\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.correct_voltage_angle_differences!","page":"Internal API Reference","title":"PowerSystems.correct_voltage_angle_differences!","text":"correct_voltage_angle_differences!(\n data::Dict{String}\n) -> Set{Int64}\ncorrect_voltage_angle_differences!(\n data::Dict{String},\n default_pad\n) -> Set{Int64}\n\n\nchecks that voltage angle differences are within 90 deg., if not tightens\n\n\n\n\n\n","category":"function"},{"location":"api/internal/#PowerSystems.dc_branch_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.dc_branch_csv_parser!","text":"dc_branch_csv_parser!(\n sys::System,\n data::PowerSystemTableData\n)\n\n\nAdd DC branches to the System from raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.deactivate_isolated_components!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.deactivate_isolated_components!","text":"deactivate_isolated_components!(data::Dict{String}) -> Bool\n\n\nremoves buses with single branch connections and without any other attached components. Also removes connected components without suffuceint generation or loads.\n\nalso deactivates 0 valued loads and shunts.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.deserialize_uuid_handling-Tuple{Any, Any, Any}","page":"Internal API Reference","title":"PowerSystems.deserialize_uuid_handling","text":"deserialize_uuid_handling(\n field_type,\n val,\n component_cache\n) -> Any\n\n\nDeserialize the value, converting UUIDs to components where necessary.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_avr_saturation-Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}","page":"Internal API Reference","title":"PowerSystems.get_avr_saturation","text":"get_avr_saturation(\n E::Tuple{Float64, Float64},\n Se::Tuple{Float64, Float64}\n) -> Tuple{Float64, Float64}\n\n\nObtain coefficients for an AVR \n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_branch-Tuple{DynamicBranch}","page":"Internal API Reference","title":"PowerSystems.get_branch","text":"get_branch(value::DynamicBranch) -> ACBranch\n\n\nGet branch\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_charge_variable_cost-Tuple{StorageCost}","page":"Internal API Reference","title":"PowerSystems.get_charge_variable_cost","text":"get_charge_variable_cost(value::StorageCost) -> CostCurve\n\n\nGet StorageCost charge_variable_cost.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_dataframe-Tuple{PowerSystemTableData, PowerSystems.InputCategoryModule.InputCategory}","page":"Internal API Reference","title":"PowerSystems.get_dataframe","text":"get_dataframe(\n data::PowerSystemTableData,\n category::PowerSystems.InputCategoryModule.InputCategory\n) -> DataFrames.DataFrame\n\n\nReturn the dataframe for the category.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_discharge_variable_cost-Tuple{StorageCost}","page":"Internal API Reference","title":"PowerSystems.get_discharge_variable_cost","text":"get_discharge_variable_cost(value::StorageCost) -> CostCurve\n\n\nGet StorageCost charge_variable_cost.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_energy_shortage_cost-Tuple{StorageCost}","page":"Internal API Reference","title":"PowerSystems.get_energy_shortage_cost","text":"get_energy_shortage_cost(value::StorageCost) -> Float64\n\n\nGet StorageCost energy_shortage_cost.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_energy_surplus_cost-Tuple{StorageCost}","page":"Internal API Reference","title":"PowerSystems.get_energy_surplus_cost","text":"get_energy_surplus_cost(value::StorageCost) -> Float64\n\n\nGet StorageCost energy_surplus_cost.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_enum_value-Tuple{Any, AbstractString}","page":"Internal API Reference","title":"PowerSystems.get_enum_value","text":"get_enum_value(enum, value::AbstractString) -> Any\n\n\nGet the enum value for the string. Case insensitive.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_exponential_saturation-Tuple{Tuple{Float64, Float64}}","page":"Internal API Reference","title":"PowerSystems.get_exponential_saturation","text":"get_exponential_saturation(\n Se::Tuple{Float64, Float64}\n) -> Tuple{Float64, Float64}\n\n\nObtain 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)\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_fixed-Tuple{HydroGenerationCost}","page":"Internal API Reference","title":"PowerSystems.get_fixed","text":"get_fixed(value::HydroGenerationCost) -> Float64\n\n\nGet HydroGenerationCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_fixed-Tuple{LoadCost}","page":"Internal API Reference","title":"PowerSystems.get_fixed","text":"get_fixed(value::LoadCost) -> Float64\n\n\nGet ThermalGenerationCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_fixed-Tuple{StorageCost}","page":"Internal API Reference","title":"PowerSystems.get_fixed","text":"get_fixed(value::StorageCost) -> Float64\n\n\nGet StorageCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_fixed-Tuple{ThermalGenerationCost}","page":"Internal API Reference","title":"PowerSystems.get_fixed","text":"get_fixed(value::ThermalGenerationCost) -> Float64\n\n\nGet ThermalGenerationCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_generator_mapping","page":"Internal API Reference","title":"PowerSystems.get_generator_mapping","text":"get_generator_mapping() -> Dict{NamedTuple, DataType}\nget_generator_mapping(\n filename\n) -> Dict{NamedTuple, DataType}\n\n\nReturn a dict where keys are a tuple of input parameters (fuel, unit_type) and values are generator types.\n\n\n\n\n\n","category":"function"},{"location":"api/internal/#PowerSystems.get_generator_type-Tuple{Any, Any, Dict{NamedTuple, DataType}}","page":"Internal API Reference","title":"PowerSystems.get_generator_type","text":"get_generator_type(\n fuel,\n unit_type,\n mappings::Dict{NamedTuple, DataType}\n) -> Union{Nothing, DataType}\n\n\nReturn the PowerSystems generator type for this fuel and unit_type.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_interconnection_efficiency-Tuple{HybridSystem}","page":"Internal API Reference","title":"PowerSystems.get_interconnection_efficiency","text":"get_interconnection_efficiency(\n value::HybridSystem\n) -> Union{Nothing, @NamedTuple{in::Float64, out::Float64}}\n\n\nget HybridSystem interconnection efficiency\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_outage_status_scenario-Tuple{TimeSeriesForcedOutage}","page":"Internal API Reference","title":"PowerSystems.get_outage_status_scenario","text":"get_outage_status_scenario(\n value::TimeSeriesForcedOutage\n) -> String\n\n\nGet TimeSeriesForcedOutage outage_status_scenario.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_quadratic_saturation-Tuple{Tuple{Float64, Float64}}","page":"Internal API Reference","title":"PowerSystems.get_quadratic_saturation","text":"get_quadratic_saturation(\n Se::Tuple{Float64, Float64}\n) -> Tuple{Float64, Float64}\n\n\nObtain 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_series_susceptance-Tuple{ACBranch}","page":"Internal API Reference","title":"PowerSystems.get_series_susceptance","text":"get_series_susceptance(b::ACBranch) -> Float64\n\n\nCalculate the admittance of AC branches\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_series_susceptance-Tuple{Union{PhaseShiftingTransformer, TapTransformer}}","page":"Internal API Reference","title":"PowerSystems.get_series_susceptance","text":"get_series_susceptance(\n b::Union{PhaseShiftingTransformer, TapTransformer}\n) -> Float64\n\n\nReturns 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_user_field-Tuple{PowerSystemTableData, PowerSystems.InputCategoryModule.InputCategory, AbstractString}","page":"Internal API Reference","title":"PowerSystems.get_user_field","text":"get_user_field(\n data::PowerSystemTableData,\n category::PowerSystems.InputCategoryModule.InputCategory,\n field::AbstractString\n) -> Any\n\n\nReturn the custom name stored in the user descriptor file.\n\nThrows DataFormatError if a required value is not found in the file.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.get_user_fields-Tuple{PowerSystemTableData, PowerSystems.InputCategoryModule.InputCategory}","page":"Internal API Reference","title":"PowerSystems.get_user_fields","text":"get_user_fields(\n data::PowerSystemTableData,\n category::PowerSystems.InputCategoryModule.InputCategory\n) -> Any\n\n\nReturn a vector of user-defined fields for the category.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.handle_component_addition!-Tuple{System, Component}","page":"Internal API Reference","title":"PowerSystems.handle_component_addition!","text":"handle_component_addition!(\n sys::System,\n component::Component;\n kwargs...\n)\n\n\nRefer to docstring for checkcomponentaddition!\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.handle_component_addition_to_subsystem!-Tuple{System, AbstractString, Component}","page":"Internal API Reference","title":"PowerSystems.handle_component_addition_to_subsystem!","text":"handle_component_addition_to_subsystem!(\n _::System,\n subsystem_name::AbstractString,\n _::Component\n)\n\n\nPeforms component-type-specific postprocessing when a component is added to a subsystem.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.handle_component_removal!-Tuple{System, ACBus}","page":"Internal API Reference","title":"PowerSystems.handle_component_removal!","text":"handle_component_removal!(sys::System, bus::ACBus)\n\n\nThrows ArgumentError if the bus number is not stored in the system.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.handle_component_removal_from_subsystem!-Tuple{System, AbstractString, Component}","page":"Internal API Reference","title":"PowerSystems.handle_component_removal_from_subsystem!","text":"handle_component_removal_from_subsystem!(\n _::System,\n subsystem_name::AbstractString,\n _::Component\n)\n\n\nPeforms component-type-specific postprocessing when a component is removed from a subsystem.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.handle_deserialization_special_cases!-Tuple{Dict, Type{<:Component}}","page":"Internal API Reference","title":"PowerSystems.handle_deserialization_special_cases!","text":"handle_deserialization_special_cases!(\n component::Dict,\n _::Type{<:Component}\n)\n\n\nAllow types to implement handling of special cases during deserialization.\n\nArguments\n\ncomponent::Dict: The component serialized as a dictionary.\n::Type: The type of the component.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.im_replicate-Tuple{Dict{String}, Int64, Set{String}}","page":"Internal API Reference","title":"PowerSystems.im_replicate","text":"im_replicate(\n sn_data::Dict{String},\n count::Int64,\n global_keys::Set{String}\n) -> Dict{String, Any}\n\n\nTransforms a single network into a multinetwork with several deepcopies of the original network\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.is_attached-Union{Tuple{T}, Tuple{T, System}} where T<:Component","page":"Internal API Reference","title":"PowerSystems.is_attached","text":"is_attached(component::Component, sys::System) -> Bool\n\n\nReturn true if the component is attached to the system.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.is_cost_alias-Tuple{Union{Type{<:ValueCurve}, ValueCurve}}","page":"Internal API Reference","title":"PowerSystems.is_cost_alias","text":"is_cost_alias(\n _::Union{Type{<:ValueCurve}, ValueCurve}\n) -> Bool\n\n\nWhether there is a cost alias for the instance or type under consideration\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.isafield-Tuple{Component, Symbol}","page":"Internal API Reference","title":"PowerSystems.isafield","text":"isafield(component::Component, field::Symbol) -> Any\n\n\nChecks if a PowerSystemDevice has a field or subfield name.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.ismultinetwork-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.ismultinetwork","text":"ismultinetwork(data::Dict{String}) -> Any\n\n\nchecks if a given network data is a multinetwork\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.iterate_rows-Tuple{PowerSystemTableData, Any}","page":"Internal API Reference","title":"PowerSystems.iterate_rows","text":"iterate_rows(\n data::PowerSystemTableData,\n category;\n na_to_nothing\n) -> Channel{Any}\n\n\nReturn a NamedTuple of parameters from the descriptor file for each row of a dataframe, making type conversions as necessary.\n\nRefer to the PowerSystems descriptor file for field names that will be created.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.load_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.load_csv_parser!","text":"load_csv_parser!(sys::System, data::PowerSystemTableData)\n\n\nload_csv_parser!(sys::System, data::PowerSystemTableData)\n\nAdd loads to the System from the raw load data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.loadzone_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.loadzone_csv_parser!","text":"loadzone_csv_parser!(\n sys::System,\n data::PowerSystemTableData\n)\n\n\nloadzone_csv_parser!(sys::System, data::PowerSystemTableData)\n\nAdd branches to the System from the raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.make_bus-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.make_bus","text":"make_bus(bus_dict::Dict{String, Any}) -> ACBus\n\n\nCreates a PowerSystems.ACBus from a PowerSystems bus dictionary\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.make_generator-Tuple{PowerSystemTableData, Vararg{Any, 4}}","page":"Internal API Reference","title":"PowerSystems.make_generator","text":"make_generator(\n data::PowerSystemTableData,\n gen,\n cost_colnames,\n bus,\n gen_storage\n) -> Any\n\n\nCreates a generator of any type.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.make_mixed_units!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.make_mixed_units!","text":"make_mixed_units!(data::Dict{String})\n\n\nTransforms network data into mixed-units (inverse of per-unit)\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.make_per_unit!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.make_per_unit!","text":"make_per_unit!(data::Dict{String})\n\n\nTransforms network data into per-unit\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.make_thermal_gen-Tuple{Union{SubString{String}, String}, Dict, ACBus, Float64}","page":"Internal API Reference","title":"PowerSystems.make_thermal_gen","text":"make_thermal_gen(\n gen_name::Union{SubString{String}, String},\n d::Dict,\n bus::ACBus,\n sys_mbase::Float64\n) -> ThermalStandard\n\n\nThe 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\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.move_genfuel_and_gentype!-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.move_genfuel_and_gentype!","text":"move_genfuel_and_gentype!(data::Dict{String, Any})\n\n\nMove gentype and genfuel fields to be subfields of gen\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.parse_matpower-Tuple{IO}","page":"Internal API Reference","title":"PowerSystems.parse_matpower","text":"parse_matpower(io::IO; validate) -> Dict{String, Any}\n\n\nParses the matpwer data from either a filename or an IO object\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.parse_psse-Tuple{IO}","page":"Internal API Reference","title":"PowerSystems.parse_psse","text":"parse_psse(io::IO; kwargs...) -> Dict{String, Any}\n\n\nfunction parse_psse(io::IO; kwargs...)::Dict\n\nParses directly from iostream\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.parse_psse-Tuple{String}","page":"Internal API Reference","title":"PowerSystems.parse_psse","text":"parse_psse(filename::String; kwargs...) -> Dict{String, Any}\n\n\nparse_psse(filename::String; kwargs...)::Dict\n\nParses directly from file\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.parse_pti-Tuple{IO}","page":"Internal API Reference","title":"PowerSystems.parse_pti","text":"parse_pti(io::IO) -> Dict{String, Array{Dict}}\n\n\nparse_pti(io::IO)\n\nReads PTI data in io::IO, returning a Dict of the data parsed into the proper types.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.parse_pti-Tuple{String}","page":"Internal API Reference","title":"PowerSystems.parse_pti","text":"parse_pti(filename::String) -> Dict{String, Array{Dict}}\n\n\nparse_pti(filename::String)\n\nOpen PTI raw file given by filename, returning a Dict of the data parsed into the proper types.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.propagate_topology_status!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.propagate_topology_status!","text":"propagate_topology_status!(\n data::Dict{String}\n) -> Union{Nothing, Bool}\n\n\nfinds active network buses and branches that are not necessary for the computation and sets their status to off.\n\nWorks on a PowerModels data dict, so that a it can be used without a GenericPowerModel object\n\nWarning: this implementation has quadratic complexity, in the worst case\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.read_and_convert_ts","page":"Internal API Reference","title":"PowerSystems.read_and_convert_ts","text":"read_and_convert_ts(\n ts::TimeSeriesData,\n component::Component\n) -> TimeSeries.TimeArray\nread_and_convert_ts(\n ts::TimeSeriesData,\n component::Component,\n start_time::Union{Nothing, Dates.DateTime}\n) -> TimeSeries.TimeArray\nread_and_convert_ts(\n ts::TimeSeriesData,\n component::Component,\n start_time::Union{Nothing, Dates.DateTime},\n len::Union{Nothing, Int64}\n) -> TimeSeries.TimeArray\nread_and_convert_ts(\n ts::TimeSeriesData,\n component::Component,\n start_time::Union{Nothing, Dates.DateTime},\n len::Union{Nothing, Int64},\n transform_fn\n) -> TimeSeries.TimeArray\n\n\nCall gettimeseriesarray on the given time series and return a TimeArray of the results, values mapped by `transformfn` if it is not nothing\n\n\n\n\n\n","category":"function"},{"location":"api/internal/#PowerSystems.read_gen!-Tuple{System, Dict, Dict{Int64, ACBus}}","page":"Internal API Reference","title":"PowerSystems.read_gen!","text":"read_gen!(\n sys::System,\n data::Dict,\n bus_number_to_bus::Dict{Int64, ACBus};\n kwargs...\n)\n\n\nTransfer generators to ps_dict according to their classification\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.replicate-Tuple{Dict{String}, Int64}","page":"Internal API Reference","title":"PowerSystems.replicate","text":"replicate(\n sn_data::Dict{String},\n count::Int64;\n global_keys\n) -> Dict{String, Any}\n\n\nTurns 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.resolve_swithces!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.resolve_swithces!","text":"resolve_swithces!(data::Dict{String})\n\n\ngiven a network data dict merges buses that are connected by closed switches converting the dataset into a pure bus-branch model.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.row_to_dict-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems.row_to_dict","text":"row_to_dict(row_data, columns) -> Dict{String, Any}\n\n\ntakes a row from a matrix and assigns the values names\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.row_to_typed_dict-Tuple{Any, Any}","page":"Internal API Reference","title":"PowerSystems.row_to_typed_dict","text":"row_to_typed_dict(row_data, columns) -> Dict{String, Any}\n\n\ntakes a row from a matrix and assigns the values names and types\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.select_largest_component-Tuple{Dict{String, Any}}","page":"Internal API Reference","title":"PowerSystems.select_largest_component","text":"select_largest_component(data::Dict{String, Any}) -> Any\n\n\ndetermines the largest connected component of the network and turns everything else off\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.serialize_uuid_handling-Tuple{Any}","page":"Internal API Reference","title":"PowerSystems.serialize_uuid_handling","text":"serialize_uuid_handling(val) -> Any\n\n\nSerialize the value, encoding as UUIDs where necessary.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.services_csv_parser!-Tuple{System, PowerSystemTableData}","page":"Internal API Reference","title":"PowerSystems.services_csv_parser!","text":"services_csv_parser!(\n sys::System,\n data::PowerSystemTableData\n)\n\n\nAdd services to the System from the raw data.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_ancillary_service_offers!-Tuple{MarketBidCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_ancillary_service_offers!","text":"set_ancillary_service_offers!(\n value::MarketBidCost,\n val\n) -> Any\n\n\nSet MarketBidCost ancillary_service_offers.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_branch!-Tuple{DynamicBranch, ACBranch}","page":"Internal API Reference","title":"PowerSystems.set_branch!","text":"set_branch!(value::DynamicBranch, val::ACBranch) -> ACBranch\n\n\nSet branch\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_decremental_offer_curves!-Tuple{MarketBidCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_decremental_offer_curves!","text":"set_decremental_offer_curves!(\n value::MarketBidCost,\n val\n) -> Any\n\n\nSet MarketBidCost incremental_offer_curves.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_electric_load!-Tuple{HybridSystem, ElectricLoad}","page":"Internal API Reference","title":"PowerSystems.set_electric_load!","text":"set_electric_load!(hybrid::HybridSystem, val::ElectricLoad)\n\n\nSet HybridSystem load\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_energy_shortage_cost!-Tuple{StorageCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_energy_shortage_cost!","text":"set_energy_shortage_cost!(value::StorageCost, val) -> Any\n\n\nSet StorageCost energy_shortage_cost.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_energy_surplus_cost!-Tuple{StorageCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_energy_surplus_cost!","text":"set_energy_surplus_cost!(value::StorageCost, val) -> Any\n\n\nSet StorageCost energy_surplus_cost.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_fixed!-Tuple{HydroGenerationCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_fixed!","text":"set_fixed!(value::HydroGenerationCost, val) -> Any\n\n\nSet HydroGenerationCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_fixed!-Tuple{LoadCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_fixed!","text":"set_fixed!(value::LoadCost, val) -> Any\n\n\nSet ThermalGenerationCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_fixed!-Tuple{StorageCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_fixed!","text":"set_fixed!(value::StorageCost, val) -> Any\n\n\nSet StorageCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_fixed!-Tuple{ThermalGenerationCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_fixed!","text":"set_fixed!(value::ThermalGenerationCost, val) -> Any\n\n\nSet ThermalGenerationCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_incremental_offer_curves!-Tuple{MarketBidCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_incremental_offer_curves!","text":"set_incremental_offer_curves!(\n value::MarketBidCost,\n val\n) -> Any\n\n\nSet MarketBidCost incremental_offer_curves.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_interconnection_efficiency!-Tuple{HybridSystem, Any}","page":"Internal API Reference","title":"PowerSystems.set_interconnection_efficiency!","text":"set_interconnection_efficiency!(\n value::HybridSystem,\n val\n) -> Any\n\n\nSet HybridSystem interconnection_efficiency.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_interconnection_impedance!-Tuple{HybridSystem, Any}","page":"Internal API Reference","title":"PowerSystems.set_interconnection_impedance!","text":"set_interconnection_impedance!(\n value::HybridSystem,\n val\n) -> Any\n\n\nset HybridSystem interconnection impedance\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_interconnection_rating!-Tuple{HybridSystem, Any}","page":"Internal API Reference","title":"PowerSystems.set_interconnection_rating!","text":"set_interconnection_rating!(value::HybridSystem, val) -> Any\n\n\nSet HybridSystem rating.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_renewable_unit!-Tuple{HybridSystem, RenewableGen}","page":"Internal API Reference","title":"PowerSystems.set_renewable_unit!","text":"set_renewable_unit!(hybrid::HybridSystem, val::RenewableGen)\n\n\nSet HybridSystem renewable unit\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_shut_down!-Tuple{MarketBidCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_shut_down!","text":"set_shut_down!(value::MarketBidCost, val) -> Any\n\n\nSet MarketBidCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_shut_down!-Tuple{StorageCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_shut_down!","text":"set_shut_down!(value::StorageCost, val) -> Any\n\n\nSet StorageCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_shut_down!-Tuple{ThermalGenerationCost, Any}","page":"Internal API Reference","title":"PowerSystems.set_shut_down!","text":"set_shut_down!(value::ThermalGenerationCost, val) -> Any\n\n\nSet ThermalGenerationCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_storage!-Tuple{HybridSystem, Storage}","page":"Internal API Reference","title":"PowerSystems.set_storage!","text":"set_storage!(hybrid::HybridSystem, val::Storage)\n\n\nSet HybridSystem storage unit\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.set_thermal_unit!-Tuple{HybridSystem, ThermalGen}","page":"Internal API Reference","title":"PowerSystems.set_thermal_unit!","text":"set_thermal_unit!(hybrid::HybridSystem, val::ThermalGen)\n\n\nSet HybridSystem thermal unit\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.simplify_cost_terms!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.simplify_cost_terms!","text":"simplify_cost_terms!(\n data::Dict{String}\n) -> Tuple{Set{Int64}, Set{Int64}}\n\n\ntrims zeros from higher order cost terms\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.simplify_network!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.simplify_network!","text":"simplify_network!(data::Dict{String}) -> Bool\n\n\nattempts to deactive components that are not needed in the network by repeated calls to propagate_topology_status! and deactivate_isolated_components!\n\nwarning: this implementation has quadratic complexity, in the worst case\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.split_line-Tuple{AbstractString}","page":"Internal API Reference","title":"PowerSystems.split_line","text":"split_line(mp_line::AbstractString) -> Vector{Any}\n\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.standardize_cost_terms!-Tuple{Dict{String}}","page":"Internal API Reference","title":"PowerSystems.standardize_cost_terms!","text":"standardize_cost_terms!(data::Dict{String}; order)\n\n\nensures all polynomial costs functions have the same number of terms\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.throw_if_not_attached-Tuple{Component, System}","page":"Internal API Reference","title":"PowerSystems.throw_if_not_attached","text":"throw_if_not_attached(component::Component, sys::System)\n\n\nThrows ArgumentError if the component is not attached to the system.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.total_capacity_rating-Tuple{System}","page":"Internal API Reference","title":"PowerSystems.total_capacity_rating","text":"total_capacity_rating(sys::System) -> Any\n\n\ntotal_capacity_rating(sys::System)\n\nSum of system generator and storage ratings.\n\nArguments\n\nsys::System: system\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.total_load_rating-Tuple{System}","page":"Internal API Reference","title":"PowerSystems.total_load_rating","text":"total_load_rating(sys::System) -> Any\n\n\ntotal_load_rating(sys::System)\n\nChecks the system for sum(generator ratings) >= sum(load ratings).\n\nArguments\n\nsys::System: system\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.update_bus_ids!-Tuple{Dict{String}, Dict{Int64, Int64}}","page":"Internal API Reference","title":"PowerSystems.update_bus_ids!","text":"update_bus_ids!(\n data::Dict{String},\n bus_id_map::Dict{Int64, Int64};\n injective\n)\n\n\ngiven 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.\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.update_data!-Tuple{Dict{String}, Dict{String}}","page":"Internal API Reference","title":"PowerSystems.update_data!","text":"update_data!(data::Dict{String}, new_data::Dict{String})\n\n\nrecursively applies new_data to data, overwriting information\n\n\n\n\n\n","category":"method"},{"location":"api/internal/#PowerSystems.verify_device_eligibility-Tuple{System, StaticInjection, Service}","page":"Internal API Reference","title":"PowerSystems.verify_device_eligibility","text":"verify_device_eligibility(\n sys::System,\n component::StaticInjection,\n service::Service\n)\n\n\nValidates if a device is eligible to contribute to a service.\n\nArguments\n\nsys::System: PowerSystem System\ncomponent::StaticInjection: Static injection device\nservice::Service,: Service for which the device is eligible to contribute\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#FrequencyEstimator","page":"FrequencyEstimator","title":"FrequencyEstimator","text":"","category":"section"},{"location":"model_library/generated_FrequencyEstimator/#FixedFrequency","page":"FrequencyEstimator","title":"FixedFrequency","text":"","category":"section"},{"location":"model_library/generated_FrequencyEstimator/","page":"FrequencyEstimator","title":"FrequencyEstimator","text":"Modules = [PowerSystems]\nPages = [\"/FixedFrequency.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.FixedFrequency","page":"FrequencyEstimator","title":"PowerSystems.FixedFrequency","text":"mutable struct FixedFrequency <: FrequencyEstimator\n frequency::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Fixed Frequency Estimator (i.e. no PLL)\n\nArguments\n\nfrequency::Float64: (default: 1.0) Reference Frequency (pu)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) FixedFrequency has no states\nn_states::Int: (Do not modify.) FixedFrequency has no states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ext-Tuple{FixedFrequency}","page":"FrequencyEstimator","title":"PowerSystems.get_ext","text":"get_ext(value::FixedFrequency) -> Dict{String, Any}\n\n\nGet FixedFrequency ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_frequency-Tuple{FixedFrequency}","page":"FrequencyEstimator","title":"PowerSystems.get_frequency","text":"get_frequency(value::FixedFrequency) -> Float64\n\n\nGet FixedFrequency frequency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_n_states-Tuple{FixedFrequency}","page":"FrequencyEstimator","title":"PowerSystems.get_n_states","text":"get_n_states(value::FixedFrequency) -> Int64\n\n\nGet FixedFrequency n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_states-Tuple{FixedFrequency}","page":"FrequencyEstimator","title":"PowerSystems.get_states","text":"get_states(value::FixedFrequency) -> Vector{Symbol}\n\n\nGet FixedFrequency states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ext!-Tuple{FixedFrequency, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ext!","text":"set_ext!(value::FixedFrequency, val) -> Any\n\n\nSet FixedFrequency ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_frequency!-Tuple{FixedFrequency, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_frequency!","text":"set_frequency!(value::FixedFrequency, val) -> Any\n\n\nSet FixedFrequency frequency.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#KauraPLL","page":"FrequencyEstimator","title":"KauraPLL","text":"","category":"section"},{"location":"model_library/generated_FrequencyEstimator/","page":"FrequencyEstimator","title":"FrequencyEstimator","text":"Modules = [PowerSystems]\nPages = [\"/KauraPLL.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.KauraPLL","page":"FrequencyEstimator","title":"PowerSystems.KauraPLL","text":"mutable struct KauraPLL <: FrequencyEstimator\n ω_lp::Float64\n kp_pll::Float64\n ki_pll::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Phase-Locked Loop (PLL) based on \"Operation of a phase locked loop system under distorted utility conditions\" by Vikram Kaura, and Vladimir Blasko\n\nArguments\n\nω_lp::Float64: PLL low-pass filter frequency (rad/sec), validation range: (0, nothing)\nkp_pll::Float64: PLL proportional gain, validation range: (0, nothing)\nki_pll::Float64: PLL integral gain, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the KauraPLL model are:\n\nvd_pll: d-axis of the measured voltage in the PLL synchronous reference frame (SRF),\nvq_pll: q-axis of the measured voltage in the PLL SRF,\nε_pll: Integrator state of the PI controller,\nθ_pll: Phase angle displacement in the PLL SRF\n\nn_states::Int: (Do not modify.) KauraPLL has 4 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ext-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ext","text":"get_ext(value::KauraPLL) -> Dict{String, Any}\n\n\nGet KauraPLL ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ki_pll-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ki_pll","text":"get_ki_pll(value::KauraPLL) -> Float64\n\n\nGet KauraPLL ki_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_kp_pll-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_kp_pll","text":"get_kp_pll(value::KauraPLL) -> Float64\n\n\nGet KauraPLL kp_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_n_states-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_n_states","text":"get_n_states(value::KauraPLL) -> Int64\n\n\nGet KauraPLL n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_states-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_states","text":"get_states(value::KauraPLL) -> Vector{Symbol}\n\n\nGet KauraPLL states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ω_lp-Tuple{KauraPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ω_lp","text":"get_ω_lp(value::KauraPLL) -> Float64\n\n\nGet KauraPLL ω_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ext!-Tuple{KauraPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ext!","text":"set_ext!(value::KauraPLL, val) -> Any\n\n\nSet KauraPLL ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ki_pll!-Tuple{KauraPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ki_pll!","text":"set_ki_pll!(value::KauraPLL, val) -> Any\n\n\nSet KauraPLL ki_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_kp_pll!-Tuple{KauraPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_kp_pll!","text":"set_kp_pll!(value::KauraPLL, val) -> Any\n\n\nSet KauraPLL kp_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ω_lp!-Tuple{KauraPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ω_lp!","text":"set_ω_lp!(value::KauraPLL, val) -> Any\n\n\nSet KauraPLL ω_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#ReducedOrderPLL","page":"FrequencyEstimator","title":"ReducedOrderPLL","text":"","category":"section"},{"location":"model_library/generated_FrequencyEstimator/","page":"FrequencyEstimator","title":"FrequencyEstimator","text":"Modules = [PowerSystems]\nPages = [\"/ReducedOrderPLL.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.ReducedOrderPLL","page":"FrequencyEstimator","title":"PowerSystems.ReducedOrderPLL","text":"mutable struct ReducedOrderPLL <: FrequencyEstimator\n ω_lp::Float64\n kp_pll::Float64\n ki_pll::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\nend\n\nParameters of a Phase-Locked Loop (PLL) based on \"Reduced-order Structure-preserving Model for Parallel-connected Three-phase Grid-tied Inverters.\"\n\nArguments\n\nω_lp::Float64: PLL low-pass filter frequency (rad/sec), validation range: (0, nothing)\nkp_pll::Float64: PLL proportional gain, validation range: (0, nothing)\nki_pll::Float64: PLL integral gain, validation range: (0, nothing)\next::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. See Adding additional fields\nstates::Vector{Symbol}: (Do not modify.) The states of the ReducedOrderPLL model are:\n\nvq_pll: q-axis of the measured voltage in the PLL synchronous reference frame (SRF),\nε_pll: Integrator state of the PI controller,\nθ_pll: Phase angle displacement in the PLL SRF\n\nn_states::Int: (Do not modify.) ReducedOrderPLL has 3 states\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ext-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ext","text":"get_ext(value::ReducedOrderPLL) -> Dict{String, Any}\n\n\nGet ReducedOrderPLL ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ki_pll-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ki_pll","text":"get_ki_pll(value::ReducedOrderPLL) -> Float64\n\n\nGet ReducedOrderPLL ki_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_kp_pll-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_kp_pll","text":"get_kp_pll(value::ReducedOrderPLL) -> Float64\n\n\nGet ReducedOrderPLL kp_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_n_states-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_n_states","text":"get_n_states(value::ReducedOrderPLL) -> Int64\n\n\nGet ReducedOrderPLL n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_states-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_states","text":"get_states(value::ReducedOrderPLL) -> Vector{Symbol}\n\n\nGet ReducedOrderPLL states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.get_ω_lp-Tuple{ReducedOrderPLL}","page":"FrequencyEstimator","title":"PowerSystems.get_ω_lp","text":"get_ω_lp(value::ReducedOrderPLL) -> Float64\n\n\nGet ReducedOrderPLL ω_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ext!-Tuple{ReducedOrderPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ext!","text":"set_ext!(value::ReducedOrderPLL, val) -> Any\n\n\nSet ReducedOrderPLL ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ki_pll!-Tuple{ReducedOrderPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ki_pll!","text":"set_ki_pll!(value::ReducedOrderPLL, val) -> Any\n\n\nSet ReducedOrderPLL ki_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_kp_pll!-Tuple{ReducedOrderPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_kp_pll!","text":"set_kp_pll!(value::ReducedOrderPLL, val) -> Any\n\n\nSet ReducedOrderPLL kp_pll.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_FrequencyEstimator/#PowerSystems.set_ω_lp!-Tuple{ReducedOrderPLL, Any}","page":"FrequencyEstimator","title":"PowerSystems.set_ω_lp!","text":"set_ω_lp!(value::ReducedOrderPLL, val) -> Any\n\n\nSet ReducedOrderPLL ω_lp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#ExponentialLoad","page":"ExponentialLoad","title":"ExponentialLoad","text":"","category":"section"},{"location":"model_library/generated_ExponentialLoad/","page":"ExponentialLoad","title":"ExponentialLoad","text":"Modules = [PowerSystems]\nPages = [\"generated/ExponentialLoad.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.ExponentialLoad","page":"ExponentialLoad","title":"PowerSystems.ExponentialLoad","text":"mutable struct ExponentialLoad <: StaticLoad\n name::String\n available::Bool\n bus::ACBus\n active_power::Float64\n reactive_power::Float64\n α::Float64\n β::Float64\n base_power::Float64\n max_active_power::Float64\n max_reactive_power::Float64\n services::Vector{Service}\n dynamic_injector::Union{Nothing, DynamicInjection}\n ext::Dict{String, Any}\n internal::InfrastructureSystemsInternal\nend\n\nA voltage-dependent ZIP load, most commonly used for dynamics modeling.\n\nAn ExponentialLoad models active power as P = P0 * V^α and reactive power as Q = Q0 * V^β, where the exponents α and β select govern the voltage dependency. For an alternative three-part formulation of the ZIP model, see StandardLoad. For a simpler load model with no voltage dependency, see PowerLoad\n\nArguments\n\nname::String: Name of the component. Components of the same type (e.g., PowerLoad) must have unique names, but components of different types (e.g., PowerLoad and ACBus) can have the same name\navailable::Bool: Indicator of whether the component is connected and online (true) or disconnected, offline, or down (false). Unavailable components are excluded during simulations\nbus::ACBus: Bus that this component is connected to\nactive_power::Float64: Active power coefficient, P0 (MW)\nreactive_power::Float64: Reactive power coefficient, Q0 (MVAR)\nα::Float64: Exponent relating voltage dependency for active power. 0 = constant power only, 1 = constant current only, and 2 = constant impedance only, validation range: (0, nothing)\nβ::Float64: Exponent relating voltage dependency for reactive power. 0 = constant power only, 1 = constant current only, and 2 = constant impedance only, validation range: (0, nothing)\nbase_power::Float64: Base power (MVA) for per unitization, validation range: (0, nothing)\nmax_active_power::Float64: Maximum active power (MW) that this load can demand\nmax_reactive_power::Float64: Maximum reactive power (MVAR) that this load can demand\nservices::Vector{Service}: (default: Device[]) Services that this device contributes to\ndynamic_injector::Union{Nothing, DynamicInjection}: (default: nothing) corresponding dynamic injection device\next::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. See Adding additional fields\ninternal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference\n\n\n\n\n\n","category":"type"},{"location":"model_library/generated_ExponentialLoad/#InfrastructureSystems.get_name-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"InfrastructureSystems.get_name","text":"get_name(value::ExponentialLoad) -> String\n\n\nGet ExponentialLoad name.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_active_power-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_active_power","text":"get_active_power(value::ExponentialLoad) -> Any\n\n\nGet ExponentialLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_available-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_available","text":"get_available(value::ExponentialLoad) -> Bool\n\n\nGet ExponentialLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_base_power-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_base_power","text":"get_base_power(value::ExponentialLoad) -> Float64\n\n\nGet ExponentialLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_bus-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_bus","text":"get_bus(value::ExponentialLoad) -> ACBus\n\n\nGet ExponentialLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_dynamic_injector-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_dynamic_injector","text":"get_dynamic_injector(\n value::ExponentialLoad\n) -> Union{Nothing, DynamicInjection}\n\n\nGet ExponentialLoad dynamic_injector.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_ext-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_ext","text":"get_ext(value::ExponentialLoad) -> Dict{String, Any}\n\n\nGet ExponentialLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_max_active_power-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_max_active_power","text":"get_max_active_power(value::ExponentialLoad) -> Any\n\n\nGet ExponentialLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_max_reactive_power-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_max_reactive_power","text":"get_max_reactive_power(value::ExponentialLoad) -> Any\n\n\nGet ExponentialLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_reactive_power-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_reactive_power","text":"get_reactive_power(value::ExponentialLoad) -> Any\n\n\nGet ExponentialLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_services-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_services","text":"get_services(value::ExponentialLoad) -> Vector{Service}\n\n\nGet ExponentialLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_α-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_α","text":"get_α(value::ExponentialLoad) -> Float64\n\n\nGet ExponentialLoad α.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.get_β-Tuple{ExponentialLoad}","page":"ExponentialLoad","title":"PowerSystems.get_β","text":"get_β(value::ExponentialLoad) -> Float64\n\n\nGet ExponentialLoad β.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_active_power!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_active_power!","text":"set_active_power!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_available!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_available!","text":"set_available!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad available.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_base_power!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_base_power!","text":"set_base_power!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad base_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_bus!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_bus!","text":"set_bus!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad bus.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_ext!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_ext!","text":"set_ext!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_max_active_power!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_max_active_power!","text":"set_max_active_power!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad max_active_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_max_reactive_power!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_max_reactive_power!","text":"set_max_reactive_power!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad max_reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_reactive_power!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_reactive_power!","text":"set_reactive_power!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad reactive_power.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_services!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_services!","text":"set_services!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad services.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_α!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_α!","text":"set_α!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad α.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_ExponentialLoad/#PowerSystems.set_β!-Tuple{ExponentialLoad, Any}","page":"ExponentialLoad","title":"PowerSystems.set_β!","text":"set_β!(value::ExponentialLoad, val) -> Any\n\n\nSet ExponentialLoad β.\n\n\n\n\n\n","category":"method"}] } diff --git a/dev/tutorials/add_forecasts/index.html b/dev/tutorials/add_forecasts/index.html index 0e101d6ab0..fe4d2d37a2 100644 --- a/dev/tutorials/add_forecasts/index.html +++ b/dev/tutorials/add_forecasts/index.html @@ -1,5 +1,5 @@ -Add Forecasts · PowerSystems.jl

      Add time series to System

      Originally Contributed by: Clayton Barrows

      Introduction

      An example of how to parse add time series data to a System using PowerSystems.jl

      For example, a System created by parsing a MATPOWER file doesn't contain any time series data. So a user may want to add time series to the System.

      Dependencies

      Let's use the 5-bus dataset we parsed in the MATPOWER example

      julia> using PowerSystems
      julia> using JSON3
      julia> sys = System(joinpath(file_dir, "case5_re.m"))┌ Error: Matlab parser skipping line number 85 consisting of: +Add Forecasts · PowerSystems.jl

      Add time series to System

      Originally Contributed by: Clayton Barrows

      Introduction

      An example of how to parse add time series data to a System using PowerSystems.jl

      For example, a System created by parsing a MATPOWER file doesn't contain any time series data. So a user may want to add time series to the System.

      Dependencies

      Let's use the 5-bus dataset we parsed in the MATPOWER example

      julia> using PowerSystems
      julia> using JSON3
      julia> sys = System(joinpath(file_dir, "case5_re.m"))┌ Error: Matlab parser skipping line number 85 consisting of: │ }; └ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/im_io/matlab.jl:64 [ Info: Correcting vm in bus 1 to 1.07762 to match generator set-point @@ -10,13 +10,13 @@ [ Info: extending matpower format with data: gen_name 7x4 [ Info: extending matpower format by appending matrix "gen_name" in to "gen" [ Info: reversing the orientation of branch 6 (4, 3) to be consistent with other parallel branches -[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] -[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] [ Info: removing 1 cost terms from generator 5: [1000.0, 0.0] -[ Info: removing 1 cost terms from generator 2: [1500.0, 0.0] +[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] [ Info: removing 3 cost terms from generator 6: Float64[] [ Info: removing 3 cost terms from generator 7: Float64[] +[ Info: removing 1 cost terms from generator 2: [1500.0, 0.0] [ Info: removing 1 cost terms from generator 3: [3000.0, 0.0] +[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] ┌ Info: Constructing System from Power Models │ data["name"] = "nesta_case5_pjm" └ data["source_type"] = "matpower" @@ -25,7 +25,7 @@ [ Info: Reading LoadZones data in PowerModels dict to populate System ... [ Info: Reading generator data [ Info: Reading branch data -[ Info: Reading branch data +[ Info: Reading shunt data [ Info: Reading DC Line data [ Info: Reading storage data System @@ -41,19 +41,19 @@ └───────────────────┴─────────────┘ Static Components -┌──────────────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├──────────────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 5 │ false │ false │ -│ Arc │ 6 │ false │ false │ -│ Area │ 1 │ false │ false │ -│ Line │ 5 │ false │ false │ -│ LoadZone │ 1 │ false │ false │ -│ PhaseShiftingTransformer │ 2 │ false │ false │ -│ PowerLoad │ 3 │ false │ false │ -│ RenewableDispatch │ 2 │ false │ false │ -│ ThermalStandard │ 5 │ false │ false │ -└──────────────────────────┴───────┴────────────────────────┴───────────────┘

      Define pointers to time series files

      For example, if we want to add a bunch of time series files, say one for each load and one for each renewable generator, we need to define pointers to each .csv file containing the time series in the following format (PowerSystems.jl also supports a CSV format for this file). We will use Artifacts for the following data.


      julia> fname = joinpath(FORECASTS_DIR, "timeseries_pointers_da.json")"/home/runner/.julia/artifacts/2b7013812a985ce5884696ce276ca17b2719a57a/PowerSystemsTestData-2.0/5-Bus/5bus_ts/timeseries_pointers_da.json"
      julia> open(fname, "r") do f +┌──────────────────────────┬───────┐ +│ Type │ Count │ +├──────────────────────────┼───────┤ +│ ACBus │ 5 │ +│ Arc │ 6 │ +│ Area │ 1 │ +│ Line │ 5 │ +│ LoadZone │ 1 │ +│ PhaseShiftingTransformer │ 2 │ +│ PowerLoad │ 3 │ +│ RenewableDispatch │ 2 │ +│ ThermalStandard │ 5 │ +└──────────────────────────┴───────┘

      Define pointers to time series files

      For example, if we want to add a bunch of time series files, say one for each load and one for each renewable generator, we need to define pointers to each .csv file containing the time series in the following format (PowerSystems.jl also supports a CSV format for this file). We will use Artifacts for the following data.


      julia> fname = joinpath(FORECASTS_DIR, "timeseries_pointers_da.json")"/home/runner/.julia/artifacts/906591a156d0f786940f105e4f6aeceffefa7a2e/PowerSystemsTestData-3.0/5-Bus/5bus_ts/timeseries_pointers_da.json"
      julia> open(fname, "r") do f JSON3.@pretty JSON3.read(f) end[ { @@ -121,7 +121,12 @@ "normalization_factor": 1, "data_file": "./load/da_load5.csv" } -]

      Read and assign time series to System using these parameters.

      julia> add_time_series!(sys, fname)
      julia> sysSystem +]

      Read and assign time series to System using these parameters.

      julia> add_time_series!(sys, fname)5-element Vector{TimeSeriesKey}:
      + StaticTimeSeriesKey(SingleTimeSeries, "max_active_power", Dates.DateTime("2024-06-25T00:00:00"), Dates.Millisecond(3600000), 24, Dict{String, Any}())
      + StaticTimeSeriesKey(SingleTimeSeries, "max_active_power", Dates.DateTime("2024-06-25T00:00:00"), Dates.Millisecond(3600000), 24, Dict{String, Any}())
      + StaticTimeSeriesKey(SingleTimeSeries, "max_active_power", Dates.DateTime("2024-06-25T00:00:00"), Dates.Millisecond(3600000), 24, Dict{String, Any}())
      + StaticTimeSeriesKey(SingleTimeSeries, "max_active_power", Dates.DateTime("2024-06-25T00:00:00"), Dates.Millisecond(3600000), 24, Dict{String, Any}())
      + StaticTimeSeriesKey(SingleTimeSeries, "max_active_power", Dates.DateTime("2024-06-25T00:00:00"), Dates.Millisecond(3600000), 24, Dict{String, Any}())
      julia> sysSystem ┌───────────────────┬─────────────┐ │ Property │ Value │ ├───────────────────┼─────────────┤ @@ -134,26 +139,26 @@ └───────────────────┴─────────────┘ Static Components -┌──────────────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├──────────────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 5 │ false │ false │ -│ Arc │ 6 │ false │ false │ -│ Area │ 1 │ false │ false │ -│ Line │ 5 │ false │ false │ -│ LoadZone │ 1 │ false │ false │ -│ PhaseShiftingTransformer │ 2 │ false │ false │ -│ PowerLoad │ 3 │ true │ false │ -│ RenewableDispatch │ 2 │ true │ false │ -│ ThermalStandard │ 5 │ false │ false │ -└──────────────────────────┴───────┴────────────────────────┴───────────────┘ +┌──────────────────────────┬───────┐ +│ Type │ Count │ +├──────────────────────────┼───────┤ +│ ACBus │ 5 │ +│ Arc │ 6 │ +│ Area │ 1 │ +│ Line │ 5 │ +│ LoadZone │ 1 │ +│ PhaseShiftingTransformer │ 2 │ +│ PowerLoad │ 3 │ +│ RenewableDispatch │ 2 │ +│ ThermalStandard │ 5 │ +└──────────────────────────┴───────┘ Time Series Summary -┌──────────────────────────────────┬────────────┐ -│ Property │ Value │ -├──────────────────────────────────┼────────────┤ -│ Components with time series data │ 5 │ -│ Total StaticTimeSeries │ 5 │ -│ Total Forecasts │ 0 │ -│ Resolution │ 60 minutes │ -└──────────────────────────────────┴────────────┘
      +┌───────────────────┬────────────────┬──────────────────┬─────────────────────── +│ owner_type │ owner_category │ time_series_type │ time_series_category ⋯ +│ String │ String │ String │ String ⋯ +├───────────────────┼────────────────┼──────────────────┼─────────────────────── +│ PowerLoad │ Component │ SingleTimeSeries │ StaticTimeSeries ⋯ +│ RenewableDispatch │ Component │ SingleTimeSeries │ StaticTimeSeries ⋯ +└───────────────────┴────────────────┴──────────────────┴─────────────────────── + 3 columns omitted
      diff --git a/dev/tutorials/basics/index.html b/dev/tutorials/basics/index.html index e57b1f71c3..99aa7e7638 100644 --- a/dev/tutorials/basics/index.html +++ b/dev/tutorials/basics/index.html @@ -1,5 +1,5 @@ -Introduction · PowerSystems.jl

      Basics

      This tutorial shows some basic operations that you can do in PowerSystems.jl with your data.

      Load Packages

      julia> using PowerSystems
      +Introduction · PowerSystems.jl

      Basics

      This tutorial shows some basic operations that you can do in PowerSystems.jl with your data.

      Load Packages

      julia> using PowerSystems
              # For displaying subtypes
      julia> import TypeTree: tt
      julia> docs_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "utils");

      Types in PowerSystems

      PowerSystems.jl provides a type hierarchy for specifying power system data. Data that describes infrastructure components is held in structs. For example, a Bus is defined as follows with fields for the parameters required to describe a bus (along with an internal field used by InfrastructureSystems to improve the efficiency of handling data).

      julia> print_struct(ACBus)mutable struct ACBus
           number::Int64
           name::String
      @@ -13,6 +13,7 @@
           ext::Dict{String, Any}
           internal::InfrastructureSystems.InfrastructureSystemsInternal
       end

      Type Hierarchy

      PowerSystems is intended to organize data containers by the behavior of the devices that the data represents. To that end, a type hierarchy has been defined with several levels of abstract types starting with InfrastructureSystemsType. There are a bunch of subtypes of InfrastructureSystemsType, but the important ones to know about are:

      • Component: includes all elements of power system data
        • Topology: includes non physical elements describing network connectivity
        • Service: includes descriptions of system requirements (other than energy balance)
        • Device: includes descriptions of all the physical devices in a power system
      • InfrastructureSystems.DeviceParameter: includes structs that hold data describing the

      dynamic, or economic capabilities of Device.

      • TimeSeriesData: Includes all time series types
        • Forecast: includes structs to define time series of forecasted data where multiple

      values can represent each time stamp

      • StaticTimeSeries: includes structs to define time series with a single value for each

      time stamp

      • System: collects all of the Components

      The following code displays the hierarchy, but concrete types are omitted for brevity:

      julia> print(join(tt(PowerSystems.IS.InfrastructureSystemsType, concrete = false), ""))InfrastructureSystems.InfrastructureSystemsType
      + ├─ InfrastructureSystems.AbstractTimeSeriesParameters
        ├─ InfrastructureSystems.DeviceParameter
        │   ├─ DynamicComponent
        │   │   ├─ PowerSystems.DynamicGeneratorComponent
      @@ -27,44 +28,49 @@
        │   │   │   ├─ Filter
        │   │   │   ├─ FrequencyEstimator
        │   │   │   ├─ InnerControl
      - │   │   │   └─ PowerSystems.InverterLimiter
      + │   │   │   └─ PowerSystems.OutputCurrentLimiter
        │   │   └─ PowerSystems.InverterComponent
      + │   ├─ OperationalCost
        │   ├─ PowerSystems.ActivePowerControl
      - │   ├─ PowerSystems.OperationalCost
        │   └─ PowerSystems.ReactivePowerControl
        ├─ InfrastructureSystems.InfrastructureSystemsComponent
      - │   ├─ Component
      - │   │   ├─ Device
      - │   │   │   ├─ Branch
      - │   │   │   │   ├─ ACBranch
      - │   │   │   │   └─ DCBranch
      - │   │   │   ├─ DynamicInjection
      - │   │   │   └─ StaticInjection
      - │   │   │       ├─ ElectricLoad
      - │   │   │       │   ├─ ControllableLoad
      - │   │   │       │   └─ StaticLoad
      - │   │   │       ├─ Generator
      - │   │   │       │   ├─ HydroGen
      - │   │   │       │   ├─ RenewableGen
      - │   │   │       │   └─ ThermalGen
      - │   │   │       ├─ StaticInjectionSubsystem
      - │   │   │       └─ Storage
      - │   │   ├─ Service
      - │   │   │   └─ AbstractReserve
      - │   │   │       ├─ Reserve
      - │   │   │       └─ ReserveNonSpinning
      - │   │   └─ Topology
      - │   │       ├─ AggregationTopology
      - │   │       └─ Bus
      - │   └─ TimeSeriesData
      - │       ├─ Forecast
      - │       │   └─ AbstractDeterministic
      - │       └─ StaticTimeSeries
      + │   └─ Component
      + │       ├─ Device
      + │       │   ├─ Branch
      + │       │   │   ├─ ACBranch
      + │       │   │   └─ DCBranch
      + │       │   ├─ DynamicInjection
      + │       │   └─ StaticInjection
      + │       │       ├─ ElectricLoad
      + │       │       │   └─ StaticLoad
      + │       │       │       └─ ControllableLoad
      + │       │       ├─ Generator
      + │       │       │   ├─ HydroGen
      + │       │       │   ├─ RenewableGen
      + │       │       │   └─ ThermalGen
      + │       │       ├─ StaticInjectionSubsystem
      + │       │       └─ Storage
      + │       ├─ Service
      + │       │   └─ AbstractReserve
      + │       │       ├─ Reserve
      + │       │       └─ ReserveNonSpinning
      + │       └─ Topology
      + │           ├─ AggregationTopology
      + │           └─ Bus
      + ├─ InfrastructureSystems.InfrastructureSystemsContainer
        ├─ InfrastructureSystems.TimeSeriesMetadata
        │   ├─ InfrastructureSystems.ForecastMetadata
        │   └─ InfrastructureSystems.StaticTimeSeriesMetadata
      - └─ PowerSystemCaseBuilder.PowerSystemCaseBuilderType
      -     └─ PowerSystemCaseBuilder.SystemCategory

      TimeSeriesData

      Read the Docs! Every Component has a time_series_container::InfrastructureSystems.TimeSeriesContainer field. TimeSeriesData are used to hold time series information that describes the temporally dependent data of fields within the same struct. For example, the ThermalStandard.time_series_container field can describe other fields in the struct (available, activepower, reactivepower).

      TimeSeriesDatas themselves can take the form of the following:

      julia> print(join(tt(TimeSeriesData), ""))TimeSeriesData
      + ├─ PowerSystemCaseBuilder.PowerSystemCaseBuilderType
      + │   └─ PowerSystemCaseBuilder.SystemCategory
      + ├─ SupplementalAttribute
      + │   └─ Contingency
      + │       └─ Outage
      + ├─ TimeSeriesData
      + │   ├─ Forecast
      + │   │   └─ AbstractDeterministic
      + │   └─ StaticTimeSeries
      + └─ TimeSeriesKey

      TimeSeriesData

      Read the Docs! Some Component types support time series data (refer to supports_time_series(component). TimeSeriesData are used to hold time series information that describes the temporally dependent data of fields within the same struct. For example, the ThermalStandard.time_series_container field can describe other fields in the struct (available, activepower, reactivepower).

      TimeSeriesDatas themselves can take the form of the following:

      julia> print(join(tt(TimeSeriesData), ""))TimeSeriesData
        ├─ Forecast
        │   ├─ AbstractDeterministic
        │   │   ├─ Deterministic
      @@ -74,7 +80,7 @@
        └─ StaticTimeSeries
            └─ SingleTimeSeries

      In each case, the time series contains fields for scaling_factor_multiplier and data to identify the details of th Component field that the time series describes, and the time series data. For example: we commonly want to use a time series to describe the maximum active power capability of a renewable generator. In this case, we can create a SingleTimeSeries with a TimeArray and an accessor function to the maximum active power field in the struct describing the generator. In this way, we can store a scaling factor time series that will get multiplied by the maximum active power rather than the magnitudes of the maximum active power time series.

      julia> print_struct(Deterministic)mutable struct Deterministic
           name::String
      -    data::Union{DataStructures.SortedDict{Dates.DateTime, Vector{Vector{Tuple{Float64, Float64}}}}, DataStructures.SortedDict{Dates.DateTime, Vector{Float64}}, DataStructures.SortedDict{Dates.DateTime, Vector{Tuple{Float64, Float64}}}}
      +    data::DataStructures.SortedDict
           resolution::Dates.Period
           scaling_factor_multiplier::Union{Nothing, Function}
           internal::InfrastructureSystems.InfrastructureSystemsInternal
      @@ -93,14 +99,14 @@
        ACBus(3, nodeC, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())
        ACBus(4, nodeD, ACBusTypes.REF = 3, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())
        ACBus(5, nodeE, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())
      julia> thermal_generators5(nodes_5) # function to create thermal generators in 5-bus buses5-element Vector{ThermalStandard}: - ThermalStandard(Alta, true, true, ACBus(1, nodeA, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 0.4, 0.01, 0.5, (min = 0.0, max = 0.4), (min = -0.3, max = 0.3), nothing, ThreePartCost(VariableCost{Tuple{Float64, Float64}}((0.0, 1400.0)), 0.0, 4.0, 2.0), 100.0, nothing, false, PrimeMovers.ST = 20, ThermalFuels.COAL = 1, Service[], 10000.0, nothing, Dict{String, Any}()) - ThermalStandard(Park City, true, true, ACBus(1, nodeA, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 1.7, 0.2, 2.2125, (min = 0.0, max = 1.7), (min = -1.275, max = 1.275), (up = 2.0, down = 1.0), ThreePartCost(VariableCost{Tuple{Float64, Float64}}((0.0, 1500.0)), 0.0, 1.5, 0.75), 100.0, (up = 0.02, down = 0.02), false, PrimeMovers.ST = 20, ThermalFuels.COAL = 1, Service[], 10000.0, nothing, Dict{String, Any}()) - ThermalStandard(Solitude, true, true, ACBus(3, nodeC, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 5.2, 1.0, 5.2, (min = 0.0, max = 5.2), (min = -3.9, max = 3.9), (up = 3.0, down = 2.0), ThreePartCost(VariableCost{Tuple{Float64, Float64}}((0.0, 3000.0)), 0.0, 3.0, 1.5), 100.0, (up = 0.012, down = 0.012), false, PrimeMovers.ST = 20, ThermalFuels.COAL = 1, Service[], 10000.0, nothing, Dict{String, Any}()) - ThermalStandard(Sundance, true, true, ACBus(4, nodeD, ACBusTypes.REF = 3, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 2.0, 0.4, 2.5, (min = 0.0, max = 2.0), (min = -1.5, max = 1.5), (up = 2.0, down = 1.0), ThreePartCost(VariableCost{Tuple{Float64, Float64}}((0.0, 4000.0)), 0.0, 4.0, 2.0), 100.0, (up = 0.015, down = 0.015), false, PrimeMovers.ST = 20, ThermalFuels.COAL = 1, Service[], 10000.0, nothing, Dict{String, Any}()) - ThermalStandard(Brighton, true, true, ACBus(5, nodeE, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 6.0, 1.5, 0.75, (min = 0.0, max = 6.0), (min = -4.5, max = 4.5), (up = 5.0, down = 3.0), ThreePartCost(VariableCost{Tuple{Float64, Float64}}((0.0, 1000.0)), 0.0, 1.5, 0.75), 100.0, (up = 0.015, down = 0.015), false, PrimeMovers.ST = 20, ThermalFuels.COAL = 1, Service[], 10000.0, nothing, Dict{String, Any}())
      julia> renewable_generators5(nodes_5) # function to create renewable generators in 5-bus buses3-element Vector{RenewableDispatch}: - RenewableDispatch(WindBusA, true, ACBus(5, nodeE, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 2.0, 1.0, 1.2, PrimeMovers.WT = 22, (min = 0.0, max = 0.0), 1.0, TwoPartCost(VariableCost{Float64}(22.0), 0.0), 100.0, Service[], nothing, Dict{String, Any}()) - RenewableDispatch(WindBusB, true, ACBus(4, nodeD, ACBusTypes.REF = 3, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 2.0, 1.0, 1.2, PrimeMovers.WT = 22, (min = 0.0, max = 0.0), 1.0, TwoPartCost(VariableCost{Float64}(22.0), 0.0), 100.0, Service[], nothing, Dict{String, Any}()) - RenewableDispatch(WindBusC, true, ACBus(3, nodeC, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 1.0, 0.0, 1.2, PrimeMovers.WT = 22, (min = -0.8, max = 0.8), 1.0, TwoPartCost(VariableCost{Float64}(22.0), 0.0), 100.0, Service[], nothing, Dict{String, Any}())
      julia> loads5(nodes_5) # function to create the loads3-element Vector{PowerLoad}: + ThermalStandard(Alta, true, true, ACBus(1, nodeA, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 0.4, 0.01, 0.5, (min = 0.0, max = 0.4), (min = -0.3, max = 0.3), nothing, ThermalGenerationCost(CostCurve{LinearCurve}(LinearCurve(1400.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0)), 0.0, 4.0, 2.0), 100.0, nothing, false, PrimeMovers.ST = 20, ThermalFuels.COAL = 1, Service[], 10000.0, nothing, Dict{String, Any}()) + ThermalStandard(Park City, true, true, ACBus(1, nodeA, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 1.7, 0.2, 2.2125, (min = 0.0, max = 1.7), (min = -1.275, max = 1.275), (up = 2.0, down = 1.0), ThermalGenerationCost(CostCurve{LinearCurve}(LinearCurve(1500.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0)), 0.0, 1.5, 0.75), 100.0, (up = 0.02, down = 0.02), false, PrimeMovers.ST = 20, ThermalFuels.COAL = 1, Service[], 10000.0, nothing, Dict{String, Any}()) + ThermalStandard(Solitude, true, true, ACBus(3, nodeC, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 5.2, 1.0, 5.2, (min = 0.0, max = 5.2), (min = -3.9, max = 3.9), (up = 3.0, down = 2.0), ThermalGenerationCost(CostCurve{LinearCurve}(LinearCurve(3000.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0)), 0.0, 3.0, 1.5), 100.0, (up = 0.012, down = 0.012), false, PrimeMovers.ST = 20, ThermalFuels.COAL = 1, Service[], 10000.0, nothing, Dict{String, Any}()) + ThermalStandard(Sundance, true, true, ACBus(4, nodeD, ACBusTypes.REF = 3, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 2.0, 0.4, 2.5, (min = 0.0, max = 2.0), (min = -1.5, max = 1.5), (up = 2.0, down = 1.0), ThermalGenerationCost(CostCurve{LinearCurve}(LinearCurve(4000.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0)), 0.0, 4.0, 2.0), 100.0, (up = 0.015, down = 0.015), false, PrimeMovers.ST = 20, ThermalFuels.COAL = 1, Service[], 10000.0, nothing, Dict{String, Any}()) + ThermalStandard(Brighton, true, true, ACBus(5, nodeE, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 6.0, 1.5, 0.75, (min = 0.0, max = 6.0), (min = -4.5, max = 4.5), (up = 5.0, down = 3.0), ThermalGenerationCost(CostCurve{LinearCurve}(LinearCurve(1000.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0)), 0.0, 1.5, 0.75), 100.0, (up = 0.015, down = 0.015), false, PrimeMovers.ST = 20, ThermalFuels.COAL = 1, Service[], 10000.0, nothing, Dict{String, Any}())
      julia> renewable_generators5(nodes_5) # function to create renewable generators in 5-bus buses3-element Vector{RenewableDispatch}: + RenewableDispatch(WindBusA, true, ACBus(5, nodeE, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 2.0, 1.0, 1.2, PrimeMovers.WT = 22, (min = 0.0, max = 0.0), 1.0, RenewableGenerationCost(CostCurve{LinearCurve}(LinearCurve(22.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0)), CostCurve{LinearCurve}(LinearCurve(0.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0))), 100.0, Service[], nothing, Dict{String, Any}()) + RenewableDispatch(WindBusB, true, ACBus(4, nodeD, ACBusTypes.REF = 3, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 2.0, 1.0, 1.2, PrimeMovers.WT = 22, (min = 0.0, max = 0.0), 1.0, RenewableGenerationCost(CostCurve{LinearCurve}(LinearCurve(22.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0)), CostCurve{LinearCurve}(LinearCurve(0.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0))), 100.0, Service[], nothing, Dict{String, Any}()) + RenewableDispatch(WindBusC, true, ACBus(3, nodeC, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 1.0, 0.0, 1.2, PrimeMovers.WT = 22, (min = -0.8, max = 0.8), 1.0, RenewableGenerationCost(CostCurve{LinearCurve}(LinearCurve(22.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0)), CostCurve{LinearCurve}(LinearCurve(0.0, 0.0), UnitSystem.NATURAL_UNITS = 2, LinearCurve(0.0, 0.0))), 100.0, Service[], nothing, Dict{String, Any}())
      julia> loads5(nodes_5) # function to create the loads3-element Vector{PowerLoad}: PowerLoad(Bus2, true, ACBus(2, nodeB, ACBusTypes.PQ = 1, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 3.0, 0.9861, 100.0, 3.0, 0.9861, Service[], nothing, Dict{String, Any}()) PowerLoad(Bus3, true, ACBus(3, nodeC, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 3.0, 0.9861, 100.0, 3.0, 0.9861, Service[], nothing, Dict{String, Any}()) PowerLoad(Bus4, true, ACBus(4, nodeD, ACBusTypes.REF = 3, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 4.0, 1.3147, 100.0, 4.0, 1.3147, Service[], nothing, Dict{String, Any}())
      julia> branches5(nodes_5) # function to create the branches6-element Vector{Line}: @@ -130,16 +136,16 @@ └───────────────────┴─────────────┘ Static Components -┌───────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├───────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 5 │ false │ false │ -│ Arc │ 6 │ false │ false │ -│ Line │ 6 │ false │ false │ -│ PowerLoad │ 3 │ false │ false │ -│ RenewableDispatch │ 3 │ false │ false │ -│ ThermalStandard │ 5 │ false │ false │ -└───────────────────┴───────┴────────────────────────┴───────────────┘

      Accessing System Data

      PowerSystems provides functional interfaces to all data. The following examples outline the intended approach to accessing data expressed using PowerSystems.

      PowerSystems enforces unique name fields between components of a particular concrete type. So, in order to retrieve a specific component, the user must specify the type of the component along with the name and system

      Accessing components

      julia> get_component(ACBus, sys, "nodeA")nodeA (ACBus):
      +┌───────────────────┬───────┐
      +│ Type              │ Count │
      +├───────────────────┼───────┤
      +│ ACBus             │ 5     │
      +│ Arc               │ 6     │
      +│ Line              │ 6     │
      +│ PowerLoad         │ 3     │
      +│ RenewableDispatch │ 3     │
      +│ ThermalStandard   │ 5     │
      +└───────────────────┴───────┘

      Accessing System Data

      PowerSystems provides functional interfaces to all data. The following examples outline the intended approach to accessing data expressed using PowerSystems.

      PowerSystems enforces unique name fields between components of a particular concrete type. So, in order to retrieve a specific component, the user must specify the type of the component along with the name and system

      Accessing components

      julia> get_component(ACBus, sys, "nodeA")ACBus: nodeA:
          number: 1
          name: nodeA
          bustype: ACBusTypes.PV = 2
      @@ -152,23 +158,26 @@
          ext: Dict{String, Any}()
          InfrastructureSystems.SystemUnitsSettings:
             base_value: 100.0
      -      unit_system: UnitSystem.SYSTEM_BASE = 0
      julia> get_component(Line, sys, "1")1 (Line): + unit_system: UnitSystem.SYSTEM_BASE = 0 + has_supplemental_attributes: false + has_time_series: false
      julia> get_component(Line, sys, "1")Line: 1: name: 1 available: true active_power_flow: 0.0 reactive_power_flow: 0.0 - arc: nodeA -> nodeB (Arc) + arc: Arc: nodeA -> nodeB r: 0.00281 x: 0.0281 b: (from = 0.00356, to = 0.00356) - rate: 2.0 + rating: 2.0 angle_limits: (min = -0.7, max = 0.7) services: 0-element Vector{Service} ext: Dict{String, Any}() - time_series_container: InfrastructureSystems.SystemUnitsSettings: base_value: 100.0 - unit_system: UnitSystem.SYSTEM_BASE = 0

      Similarly, you can access all the components of a particular type: *note: the return type of get_components is a FlattenIteratorWrapper, so call collect to get an Array

      julia> get_components(ACBus, sys) |> collect5-element Vector{ACBus}:
      +      unit_system: UnitSystem.SYSTEM_BASE = 0
      +   has_supplemental_attributes: false
      +   has_time_series: false

      Similarly, you can access all the components of a particular type: *note: the return type of get_components is a FlattenIteratorWrapper, so call collect to get an Array

      julia> get_components(ACBus, sys) |> collect5-element Vector{ACBus}:
        ACBus(1, nodeA, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())
        ACBus(3, nodeC, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())
        ACBus(5, nodeE, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())
      @@ -179,7 +188,7 @@
        Line(5, true, 0.0, 0.0, Arc(ACBus(3, nodeC, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), ACBus(4, nodeD, ACBusTypes.REF = 3, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())), 0.00297, 0.0297, (from = 0.00337, to = 0.00337), 40.53, (min = -0.7, max = 0.7), Service[], Dict{String, Any}())
        Line(2, true, 0.0, 0.0, Arc(ACBus(1, nodeA, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), ACBus(4, nodeD, ACBusTypes.REF = 3, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())), 0.00304, 0.0304, (from = 0.00329, to = 0.00329), 2.0, (min = -0.7, max = 0.7), Service[], Dict{String, Any}())
        Line(6, true, 0.0, 0.0, Arc(ACBus(4, nodeD, ACBusTypes.REF = 3, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), ACBus(5, nodeE, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())), 0.00297, 0.0297, (from = 0.00337, to = 0.00337), 2.0, (min = -0.7, max = 0.7), Service[], Dict{String, Any}())
      - Line(3, true, 0.0, 0.0, Arc(ACBus(1, nodeA, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), ACBus(5, nodeE, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())), 0.00064, 0.0064, (from = 0.01563, to = 0.01563), 18.812, (min = -0.7, max = 0.7), Service[], Dict{String, Any}())

      The fields within a component can be accessed using the get_* functions: It's highly recommended that users avoid using the . to access fields since we make no guarantees on the stability field names and locations. We do however promise to keep the accessor functions stable.

      julia> bus1 = get_component(ACBus, sys, "nodeA")nodeA (ACBus):
      + Line(3, true, 0.0, 0.0, Arc(ACBus(1, nodeA, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), ACBus(5, nodeE, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}())), 0.00064, 0.0064, (from = 0.01563, to = 0.01563), 18.812, (min = -0.7, max = 0.7), Service[], Dict{String, Any}())

      The fields within a component can be accessed using the get_* functions: It's highly recommended that users avoid using the . to access fields since we make no guarantees on the stability field names and locations. We do however promise to keep the accessor functions stable.

      julia> bus1 = get_component(ACBus, sys, "nodeA")ACBus: nodeA:
          number: 1
          name: nodeA
          bustype: ACBusTypes.PV = 2
      @@ -192,7 +201,9 @@
          ext: Dict{String, Any}()
          InfrastructureSystems.SystemUnitsSettings:
             base_value: 100.0
      -      unit_system: UnitSystem.SYSTEM_BASE = 0
      julia> @show get_name(bus1);get_name(bus1) = "nodeA"
      julia> @show get_magnitude(bus1);get_magnitude(bus1) = 1.0

      Accessing TimeSeries

      First we need to add some time series to the System

      julia> loads = collect(get_components(PowerLoad, sys))3-element Vector{PowerLoad}:
      +      unit_system: UnitSystem.SYSTEM_BASE = 0
      +   has_supplemental_attributes: false
      +   has_time_series: false
      julia> @show get_name(bus1);get_name(bus1) = "nodeA"
      julia> @show get_magnitude(bus1);get_magnitude(bus1) = 1.0

      Accessing TimeSeries

      First we need to add some time series to the System

      julia> loads = collect(get_components(PowerLoad, sys))3-element Vector{PowerLoad}:
        PowerLoad(Bus2, true, ACBus(2, nodeB, ACBusTypes.PQ = 1, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 3.0, 0.9861, 100.0, 3.0, 0.9861, Service[], nothing, Dict{String, Any}())
        PowerLoad(Bus3, true, ACBus(3, nodeC, ACBusTypes.PV = 2, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 3.0, 0.9861, 100.0, 3.0, 0.9861, Service[], nothing, Dict{String, Any}())
        PowerLoad(Bus4, true, ACBus(4, nodeD, ACBusTypes.REF = 3, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0, nothing, nothing, Dict{String, Any}()), 4.0, 1.3147, 100.0, 4.0, 1.3147, Service[], nothing, Dict{String, Any}())
      julia> for (l, ts) in zip(loads, load_timeseries_DA[2]) @@ -205,43 +216,9 @@ ), ) end

      If we want to access a specific time series for a specific component, we need to specify:

      • time series type
      • component
      • initial_time
      • label

      We can find the initial time of all the time series in the system:

      julia> get_forecast_initial_times(sys)1-element Vector{Dates.DateTime}:
      - 2024-01-02T00:00:00

      We can find the names of all time series attached to a component:

      julia> ts_names = get_time_series_names(Deterministic, loads[1])1-element Vector{String}:
      - "activepower"

      We can access a specific time series for a specific component:

      julia> ta = get_time_series_array(Deterministic, loads[1], ts_names[1])24×1 TimeSeries.TimeArray{Float64, 1, Dates.DateTime, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}} 2024-01-02T00:00:00 to 2024-01-02T23:00:00
      -│                     │ A      │
      -├─────────────────────┼────────┤
      -│ 2024-01-02T00:00:00 │ 0.8381 │
      -│ 2024-01-02T01:00:00 │ 0.7495 │
      -│ 2024-01-02T02:00:00 │ 0.7838 │
      -│ 2024-01-02T03:00:00 │ 0.7168 │
      -│ 2024-01-02T04:00:00 │ 0.7588 │
      -│ 2024-01-02T05:00:00 │ 0.6965 │
      -│ 2024-01-02T06:00:00 │ 0.787  │
      -│ 2024-01-02T07:00:00 │ 0.7373 │
      -│ ⋮                   │ ⋮      │
      -│ 2024-01-02T17:00:00 │ 0.9152 │
      -│ 2024-01-02T18:00:00 │ 1.0525 │
      -│ 2024-01-02T19:00:00 │ 1.0628 │
      -│ 2024-01-02T20:00:00 │ 1.0218 │
      -│ 2024-01-02T21:00:00 │ 1.0469 │
      -│ 2024-01-02T22:00:00 │ 0.9915 │
      -│ 2024-01-02T23:00:00 │ 0.8926 │

      Or, we can just get the values of the time series:

      julia> ts = get_time_series_values(Deterministic, loads[1], ts_names[1])24-element view(::Vector{Float64}, 1:24) with eltype Float64:
      - 0.838129647719248
      - 0.749514192756804
      - 0.7838417987785512
      - 0.7168451291947536
      - 0.7588308598081244
      - 0.6964741338545557
      - 0.786987041139342
      - 0.7372882406420527
      - 0.7894056042215613
      - 0.8038610660436006
      - ⋮
      - 0.8409638967650769
      - 0.8280249155972459
      - 0.9151647321135224
      - 1.0525387218210638
      - 1.0627919612772736
      - 1.0217842742833305
      - 1.0469069687201926
      - 0.9915226648798282
      - 0.8925885271520445
      + 2024-01-02T00:00:00

      We can find the names of all time series attached to a component:

      julia> show_time_series(loads[1])┌──────────────────┬─────────────┬─────────────────────┬──────────────────────┬───────────────────────┬──────────────┬───────┬─────────────────────┐
      +│ time_series_type │        name │   initial_timestamp │           resolution │               horizon │     interval │ count │            features │
      +│           String │      String │      Dates.DateTime │    Dates.Millisecond │     Dates.Millisecond │ Dates.Second │ Int64 │   Dict{String, Any} │
      +├──────────────────┼─────────────┼─────────────────────┼──────────────────────┼───────────────────────┼──────────────┼───────┼─────────────────────┤
      +│    Deterministic │ activepower │ 2024-01-02T00:00:00 │ 3600000 milliseconds │ 86400000 milliseconds │    0 seconds │     1 │ Dict{String, Any}() │
      +└──────────────────┴─────────────┴─────────────────────┴──────────────────────┴───────────────────────┴──────────────┴───────┴─────────────────────┘

      We can access a specific time series for a specific component:

      julia> ta = get_time_series_array(Deterministic, loads[1], ts_names[1])ERROR: UndefVarError: `ts_names` not defined

      Or, we can just get the values of the time series:

      julia> ts = get_time_series_values(Deterministic, loads[1], ts_names[1])ERROR: UndefVarError: `ts_names` not defined
      diff --git a/dev/tutorials/dynamic_data/index.html b/dev/tutorials/dynamic_data/index.html index 03ad173715..fa57f2bf3d 100644 --- a/dev/tutorials/dynamic_data/index.html +++ b/dev/tutorials/dynamic_data/index.html @@ -1,2 +1,2 @@ -Use Dynamic Data · PowerSystems.jl
      +Use Dynamic Data · PowerSystems.jl
      diff --git a/dev/tutorials/modifying_data/index.html b/dev/tutorials/modifying_data/index.html index 14694fc49e..3815aa8896 100644 --- a/dev/tutorials/modifying_data/index.html +++ b/dev/tutorials/modifying_data/index.html @@ -1,11 +1,11 @@ -- · PowerSystems.jl
      using PowerSystems
      +- · PowerSystems.jl
      using PowerSystems
       using PowerSystemCaseBuilder
       
       c_sys5_pjm_da = build_system(PSITestSystems, "c_sys5_pjm")
      -transform_single_time_series!(c_sys5_pjm_da, 24, Hour(24))
      +transform_single_time_series!(c_sys5_pjm_da, Hour(24), Hour(24))
       c_sys5_pjm_rt = build_system(PSITestSystems, "c_sys5_pjm_rt")
      -transform_single_time_series!(c_sys5_pjm_rt, 24, Hour(1))
      +transform_single_time_series!(c_sys5_pjm_rt, Hour(24), Hour(1))
       
       for sys in [c_sys5_pjm_da, c_sys5_pjm_rt]
           th = get_component(ThermalStandard, sys, "Park City")
      @@ -52,4 +52,4 @@
       end
       
       to_json(c_sys5_pjm_da, "c_sys5_pjm_da.json")
      -to_json(c_sys5_pjm_rt, "c_sys5_pjm_rt.json")
      +to_json(c_sys5_pjm_rt, "c_sys5_pjm_rt.json")
      diff --git a/dev/tutorials/parse_powerflow_cases/index.html b/dev/tutorials/parse_powerflow_cases/index.html index 4c5c0a0293..61de8f6af5 100644 --- a/dev/tutorials/parse_powerflow_cases/index.html +++ b/dev/tutorials/parse_powerflow_cases/index.html @@ -1,5 +1,5 @@ -Parsing PowerFlow Data · PowerSystems.jl

      Parsing Files

      Originally Contributed by: Clayton Barrows

      Introduction

      An example of how to parse MATPOWER and PSSe raw files and create a System using PowerSystems.jl

      Create a System from a Matpower File

      julia> # Load directory
      +Parsing PowerFlow Data · PowerSystems.jl

      Parsing Files

      Originally Contributed by: Clayton Barrows

      Introduction

      An example of how to parse MATPOWER and PSSe raw files and create a System using PowerSystems.jl

      Create a System from a Matpower File

      julia> # Load directory
              using PowerSystems
      julia> sys = System(joinpath(file_dir, "case5_re.m"))┌ Error: Matlab parser skipping line number 85 consisting of: │ }; └ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/im_io/matlab.jl:64 @@ -11,13 +11,13 @@ [ Info: extending matpower format with data: gen_name 7x4 [ Info: extending matpower format by appending matrix "gen_name" in to "gen" [ Info: reversing the orientation of branch 6 (4, 3) to be consistent with other parallel branches -[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] -[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] [ Info: removing 1 cost terms from generator 5: [1000.0, 0.0] -[ Info: removing 1 cost terms from generator 2: [1500.0, 0.0] +[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] [ Info: removing 3 cost terms from generator 6: Float64[] [ Info: removing 3 cost terms from generator 7: Float64[] +[ Info: removing 1 cost terms from generator 2: [1500.0, 0.0] [ Info: removing 1 cost terms from generator 3: [3000.0, 0.0] +[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] ┌ Info: Constructing System from Power Models │ data["name"] = "nesta_case5_pjm" └ data["source_type"] = "matpower" @@ -26,7 +26,7 @@ [ Info: Reading LoadZones data in PowerModels dict to populate System ... [ Info: Reading generator data [ Info: Reading branch data -[ Info: Reading branch data +[ Info: Reading shunt data [ Info: Reading DC Line data [ Info: Reading storage data System @@ -42,19 +42,19 @@ └───────────────────┴─────────────┘ Static Components -┌──────────────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├──────────────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 5 │ false │ false │ -│ Arc │ 6 │ false │ false │ -│ Area │ 1 │ false │ false │ -│ Line │ 5 │ false │ false │ -│ LoadZone │ 1 │ false │ false │ -│ PhaseShiftingTransformer │ 2 │ false │ false │ -│ PowerLoad │ 3 │ false │ false │ -│ RenewableDispatch │ 2 │ false │ false │ -│ ThermalStandard │ 5 │ false │ false │ -└──────────────────────────┴───────┴────────────────────────┴───────────────┘

      Create a System a PSS/e File


      julia> sys = System(joinpath(file_dir, "RTS-GMLC.RAW"))[ Info: The PSS(R)E parser currently supports buses, loads, shunts, generators, branches, transformers, and dc lines +┌──────────────────────────┬───────┐ +│ Type │ Count │ +├──────────────────────────┼───────┤ +│ ACBus │ 5 │ +│ Arc │ 6 │ +│ Area │ 1 │ +│ Line │ 5 │ +│ LoadZone │ 1 │ +│ PhaseShiftingTransformer │ 2 │ +│ PowerLoad │ 3 │ +│ RenewableDispatch │ 2 │ +│ ThermalStandard │ 5 │ +└──────────────────────────┴───────┘

      Create a System a PSS/e File


      julia> sys = System(joinpath(file_dir, "RTS-GMLC.RAW"))[ Info: The PSS(R)E parser currently supports buses, loads, shunts, generators, branches, transformers, and dc lines [ Info: The PSS(R)E parser currently supports buses, loads, shunts, generators, branches, transformers, and dc lines [ Info: The following fields in LOAD are missing: INTRPT [ Info: The following fields in LOAD are missing: INTRPT @@ -116,9 +116,9 @@ [ Info: Parsing PSS(R)E Transformer data into a PowerModels Dict... [ Info: Parsing PSS(R)E Two-Terminal and VSC DC line data into a PowerModels Dict... ┌ Warning: This PSS(R)E parser currently doesn't support Storage data parsing... -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:985 +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:998 ┌ Warning: This PSS(R)E parser currently doesn't support Switch data parsing... -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:991 +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/pm_io/psse.jl:1004 [ Info: angmin and angmax values are 0, widening these values on branch 32 to +/- 60.0 deg. [ Info: angmin and angmax values are 0, widening these values on branch 29 to +/- 60.0 deg. [ Info: angmin and angmax values are 0, widening these values on branch 1 to +/- 60.0 deg. @@ -169,19 +169,19 @@ [ Info: angmin and angmax values are 0, widening these values on branch 43 to +/- 60.0 deg. [ Info: angmin and angmax values are 0, widening these values on branch 90 to +/- 60.0 deg. [ Info: angmin and angmax values are 0, widening these values on branch 39 to +/- 60.0 deg. -[ Info: no active generators found at bus 309, updating to bus type from 2 to 1 -[ Info: no active generators found at bus 320, updating to bus type from 2 to 1 -[ Info: no active generators found at bus 119, updating to bus type from 2 to 1 -[ Info: no active generators found at bus 303, updating to bus type from 2 to 1 -[ Info: no active generators found at bus 310, updating to bus type from 2 to 1 -[ Info: no active generators found at bus 104, updating to bus type from 2 to 1 [ Info: no active generators found at bus 308, updating to bus type from 2 to 1 [ Info: no active generators found at bus 319, updating to bus type from 2 to 1 -[ Info: no active generators found at bus 212, updating to bus type from 2 to 1 -[ Info: no active generators found at bus 312, updating to bus type from 2 to 1 -[ Info: no active generators found at bus 317, updating to bus type from 2 to 1 +[ Info: no active generators found at bus 320, updating to bus type from 2 to 1 [ Info: no active generators found at bus 324, updating to bus type from 2 to 1 +[ Info: no active generators found at bus 104, updating to bus type from 2 to 1 +[ Info: no active generators found at bus 119, updating to bus type from 2 to 1 +[ Info: no active generators found at bus 310, updating to bus type from 2 to 1 [ Info: no active generators found at bus 103, updating to bus type from 2 to 1 +[ Info: no active generators found at bus 317, updating to bus type from 2 to 1 +[ Info: no active generators found at bus 312, updating to bus type from 2 to 1 +[ Info: no active generators found at bus 212, updating to bus type from 2 to 1 +[ Info: no active generators found at bus 303, updating to bus type from 2 to 1 +[ Info: no active generators found at bus 309, updating to bus type from 2 to 1 [ Info: the voltage setpoint on generator 32 does not match the value at bus 118 [ Info: the voltage setpoint on generator 29 does not match the value at bus 118 [ Info: the voltage setpoint on generator 1 does not match the value at bus 101 @@ -240,7 +240,7 @@ [ Info: Reading LoadZones data in PowerModels dict to populate System ... [ Info: Reading generator data [ Info: Reading branch data -[ Info: Reading branch data +[ Info: Reading shunt data [ Info: Reading DC Line data [ Info: Reading storage data System @@ -256,16 +256,16 @@ └───────────────────┴─────────────┘ Static Components -┌─────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├─────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 73 │ false │ false │ -│ Arc │ 108 │ false │ false │ -│ Area │ 3 │ false │ false │ -│ FixedAdmittance │ 3 │ false │ false │ -│ Line │ 105 │ false │ false │ -│ LoadZone │ 21 │ false │ false │ -│ StandardLoad │ 51 │ false │ false │ -│ TapTransformer │ 15 │ false │ false │ -│ ThermalStandard │ 160 │ false │ false │ -└─────────────────┴───────┴────────────────────────┴───────────────┘

      This data set does not contain any time series data. For this, check the next tutorial.

      +┌─────────────────┬───────┐ +│ Type │ Count │ +├─────────────────┼───────┤ +│ ACBus │ 73 │ +│ Arc │ 108 │ +│ Area │ 3 │ +│ FixedAdmittance │ 3 │ +│ Line │ 105 │ +│ LoadZone │ 21 │ +│ StandardLoad │ 51 │ +│ TapTransformer │ 15 │ +│ ThermalStandard │ 160 │ +└─────────────────┴───────┘

      This data set does not contain any time series data. For this, check the next tutorial.

      diff --git a/dev/tutorials/parse_tabular_data/index.html b/dev/tutorials/parse_tabular_data/index.html index 75765c5ef3..e862c4138c 100644 --- a/dev/tutorials/parse_tabular_data/index.html +++ b/dev/tutorials/parse_tabular_data/index.html @@ -1,5 +1,5 @@ -Parsing Tabular Data · PowerSystems.jl

      Parsing Tabular Data

      Originally Contributed by: Clayton Barrows

      Introduction

      An example of how to parse tabular files (CSV) files similar to the format established in the RTS-GMLC and create a System using PowerSystems.jl

      Dependencies

      julia> using PowerSystems
      julia> using TimeSeries
      julia> using Dates

      Fetch Data

      PowerSystems.jl links to some test data that is suitable for this example. Let's get the test data using Artifacts. You can find the repository of the data of the GMLC system here:


      julia> # include download methods"/home/runner/.julia/artifacts/2b7013812a985ce5884696ce276ca17b2719a57a/PowerSystemsTestData-2.0"
      julia> RTS_GMLC_DIR = joinpath(DATA_DIR, "RTS_GMLC")"/home/runner/.julia/artifacts/2b7013812a985ce5884696ce276ca17b2719a57a/PowerSystemsTestData-2.0/RTS_GMLC"

      The tabular data format relies on a folder containing *.csv files and a user_descriptors.yaml file

      First, we'll read the tabular data

      julia> rawsys = PowerSystems.PowerSystemTableData(
      +Parsing Tabular Data · PowerSystems.jl

      Parsing Tabular Data

      Originally Contributed by: Clayton Barrows

      Introduction

      An example of how to parse tabular files (CSV) files similar to the format established in the RTS-GMLC and create a System using PowerSystems.jl

      Dependencies

      julia> using PowerSystems
      julia> using TimeSeries
      julia> using Dates

      Fetch Data

      PowerSystems.jl links to some test data that is suitable for this example. Let's get the test data using Artifacts. You can find the repository of the data of the GMLC system here:


      julia> # include download methods"/home/runner/.julia/artifacts/906591a156d0f786940f105e4f6aeceffefa7a2e/PowerSystemsTestData-3.0"
      julia> RTS_GMLC_DIR = joinpath(DATA_DIR, "RTS_GMLC")"/home/runner/.julia/artifacts/906591a156d0f786940f105e4f6aeceffefa7a2e/PowerSystemsTestData-3.0/RTS_GMLC"

      The tabular data format relies on a folder containing *.csv files and a user_descriptors.yaml file

      First, we'll read the tabular data

      julia> rawsys = PowerSystems.PowerSystemTableData(
                  RTS_GMLC_DIR,
                  100.0,
                  joinpath(RTS_GMLC_DIR, "user_descriptors.yaml"),
      @@ -36,198 +36,40 @@
       [ Info: Parsing csv data in timeseries_pointers.csv ...
       [ Info: Successfully parsed timeseries_pointers.csv
       PowerSystemTableData:
      -  directory:  /home/runner/.julia/artifacts/2b7013812a985ce5884696ce276ca17b2719a57a/PowerSystemsTestData-2.0/RTS_GMLC
      -  timeseries_metadata_file:  /home/runner/.julia/artifacts/2b7013812a985ce5884696ce276ca17b2719a57a/PowerSystemsTestData-2.0/RTS_GMLC/timeseries_pointers.json
      +  directory:  /home/runner/.julia/artifacts/906591a156d0f786940f105e4f6aeceffefa7a2e/PowerSystemsTestData-3.0/RTS_GMLC
      +  timeseries_metadata_file:  /home/runner/.julia/artifacts/906591a156d0f786940f105e4f6aeceffefa7a2e/PowerSystemsTestData-3.0/RTS_GMLC/timeseries_pointers.json
         base_power:  100.0
         PowerSystems.InputCategoryModule.InputCategory.GENERATOR = 4:  158×58 DataFrame
      -  PowerSystems.InputCategoryModule.InputCategory.STORAGE = 8:  22×8 DataFrame
      -  PowerSystems.InputCategoryModule.InputCategory.BRANCH = 1:  120×14 DataFrame
         PowerSystems.InputCategoryModule.InputCategory.DC_BRANCH = 3:  1×60 DataFrame
      +  PowerSystems.InputCategoryModule.InputCategory.BRANCH = 1:  120×14 DataFrame
      +  PowerSystems.InputCategoryModule.InputCategory.STORAGE = 8:  22×8 DataFrame
         PowerSystems.InputCategoryModule.InputCategory.BUS = 2:  73×15 DataFrame
         PowerSystems.InputCategoryModule.InputCategory.RESERVE = 6:  7×7 DataFrame

      Create a System

      Next, we'll create a System from the rawsys data. Since a System is predicated on a time series resolution and the rawsys data includes both 5-minute and 1-hour resolution time series, we also need to specify which time series we want to include in the System. The time_series_resolution kwarg filters to only include time series with a matching resolution.

      julia> sys = System(rawsys; time_series_resolution = Dates.Hour(1));[ Info: Unit System changed to UnitSystem.DEVICE_BASE = 1
       ┌ Warning: Missing PowerSystems.InputCategoryModule.InputCategory.LOAD = 5 data.
       └ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:212
       ┌ Warning: User-defined column name Startup Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Shutdown Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Status at Start is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Time at Status is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Cold is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Warm is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Hot is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Must Run is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: Missing PowerSystems.InputCategoryModule.InputCategory.LOAD = 5 data.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:212
      -[ Info: Adding contributing generators for Spin_Up_R1 by category
      -┌ Warning: User-defined column name Startup Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Shutdown Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Status at Start is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Time at Status is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Cold is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Warm is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Hot is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Must Run is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -[ Info: Adding contributing generators for Spin_Up_R2 by category
      -┌ Warning: User-defined column name Startup Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Shutdown Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Status at Start is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Time at Status is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Cold is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Warm is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Hot is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Must Run is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -[ Info: Adding contributing generators for Spin_Up_R3 by category
      -┌ Warning: User-defined column name Startup Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1433
       ┌ Warning: User-defined column name Shutdown Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1433
       ┌ Warning: User-defined column name Status at Start is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1433
       ┌ Warning: User-defined column name Time at Status is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1433
       ┌ Warning: User-defined column name Start Cost Cold is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1433
       ┌ Warning: User-defined column name Start Cost Warm is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1433
       ┌ Warning: User-defined column name Start Cost Hot is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1433
       ┌ Warning: User-defined column name Must Run is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -[ Info: Adding contributing generators for Flex_Up by category
      -┌ Warning: User-defined column name Startup Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Shutdown Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Status at Start is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Time at Status is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Cold is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Warm is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Hot is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Must Run is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -[ Info: Adding contributing generators for Flex_Down by category
      -┌ Warning: User-defined column name Startup Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Shutdown Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Status at Start is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Time at Status is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Cold is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Warm is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Hot is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Must Run is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -[ Info: Adding contributing generators for Reg_Up by category
      -┌ Warning: User-defined column name Startup Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Shutdown Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Status at Start is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Time at Status is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Cold is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Warm is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Hot is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Must Run is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -[ Info: Adding contributing generators for Reg_Down by category
      -┌ Warning: User-defined column name Startup Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Shutdown Ramp Rate MW/min is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Status at Start is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Time at Status is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Cold is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Warm is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Start Cost Hot is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      -┌ Warning: User-defined column name Must Run is not in dataframe.
      -└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1413
      julia> horizon = 24;
      julia> interval = Dates.Hour(24);
      julia> transform_single_time_series!(sys, horizon, interval);┌ Warning: There is only one forecast window. Setting interval = 0 seconds -└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/9btGb/src/component.jl:779
      julia> sysSystem -┌───────────────────┬─────────────┐ -│ Property │ Value │ -├───────────────────┼─────────────┤ -│ Name │ │ -│ Description │ │ -│ System Units Base │ DEVICE_BASE │ -│ Base Power │ 100.0 │ -│ Base Frequency │ 60.0 │ -│ Num Components │ 525 │ -└───────────────────┴─────────────┘ - -Static Components -┌─────────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├─────────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 73 │ false │ false │ -│ Arc │ 109 │ false │ false │ -│ Area │ 3 │ false │ false │ -│ GenericBattery │ 1 │ false │ false │ -│ HydroDispatch │ 20 │ true │ true │ -│ Line │ 105 │ false │ false │ -│ LoadZone │ 3 │ true │ true │ -│ PowerLoad │ 51 │ true │ true │ -│ RenewableDispatch │ 30 │ true │ true │ -│ RenewableFix │ 31 │ true │ true │ -│ TapTransformer │ 15 │ false │ false │ -│ ThermalMultiStart │ 76 │ false │ false │ -│ TwoTerminalHVDCLine │ 1 │ false │ false │ -│ VariableReserve │ 5 │ true │ true │ -│ VariableReserve │ 2 │ true │ true │ -└─────────────────────┴───────┴────────────────────────┴───────────────┘ +└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1433 +ERROR: MethodError: no method matching iterate(::PiecewiseLinearData) -Time Series Summary -┌──────────────────────────────────┬─────────────────────┐ -│ Property │ Value │ -├──────────────────────────────────┼─────────────────────┤ -│ Components with time series data │ 142 │ -│ Total StaticTimeSeries │ 182 │ -│ Total Forecasts │ 182 │ -│ Resolution │ 60 minutes │ -│ First initial time │ 2020-01-01T00:00:00 │ -│ Last initial time │ 2020-01-01T00:00:00 │ -│ Horizon │ 24 │ -│ Interval │ 0 minutes │ -│ Forecast window count │ 1 │ -└──────────────────────────────────┴─────────────────────┘
      +Closest candidates are: + iterate(!Matched::DataStructures.SparseIntSet, Any...) + @ DataStructures ~/.julia/packages/DataStructures/95DJa/src/sparse_int_set.jl:147 + iterate(!Matched::MathOptInterface.Bridges.Objective.Map, Any...) + @ MathOptInterface ~/.julia/packages/MathOptInterface/2CULs/src/Bridges/Objective/map.jl:49 + iterate(!Matched::MathOptInterface.Bridges.Objective.EmptyMap) + @ MathOptInterface ~/.julia/packages/MathOptInterface/2CULs/src/Bridges/Objective/map.jl:117 + ...

      julia> horizon = Dates.Hour(24);
      julia> interval = Dates.Hour(24);
      julia> transform_single_time_series!(sys, horizon, interval);ERROR: UndefVarError: `sys` not defined
      julia> sysERROR: UndefVarError: `sys` not defined
      diff --git a/dev/tutorials/powersystembuilder/index.html b/dev/tutorials/powersystembuilder/index.html index ac683cb1cd..6dff807a0c 100644 --- a/dev/tutorials/powersystembuilder/index.html +++ b/dev/tutorials/powersystembuilder/index.html @@ -1,5 +1,5 @@ -PowerSystemCaseBuilder · PowerSystems.jl

      PowerSystemCaseBuilder

      Originally Contributed by: Clayton Barrows

      Introduction

      PowerSystemCaseBuilder.jl provides a utility to manage a library of Systems. The package has utilities to list the available system data and to create instances of each system. By keeping track of which systems have been constructed locally, it makes the re-instantiation of systems efficient by utilizing the serialization features and avoiding the parsing process for systems that have been previously constructed.

      Dependencies

      julia> using PowerSystemCaseBuilder

      List all systems in library

      julia> show_systems()
      +PowerSystemCaseBuilder · PowerSystems.jl

      PowerSystemCaseBuilder

      Originally Contributed by: Clayton Barrows

      Introduction

      PowerSystemCaseBuilder.jl provides a utility to manage a library of Systems. The package has utilities to list the available system data and to create instances of each system. By keeping track of which systems have been constructed locally, it makes the re-instantiation of systems efficient by utilizing the serialization features and avoiding the parsing process for systems that have been previously constructed.

      Dependencies

      julia> using PowerSystemCaseBuilder

      List all systems in library

      julia> show_systems()
       Category: PowerSystemCaseBuilder.MatpowerTestSystems
       
       ┌──────────────────────────────┬───────────────────────────────────┐
      @@ -111,66 +111,77 @@
       │ modified_RTS_GMLC_RT_sys            │ Modified RTS-GMLC Full system for real-time simulations\n            with modifications to reserve definitions to improve feasibility │
       │ modified_RTS_GMLC_RT_sys_noForecast │ Modified RTS-GMLC Full system for real-time simulations\n            with modifications to reserve definitions to improve feasibility │
       │ modified_RTS_GMLC_realization_sys   │ Modified RTS-GMLC Full system for real-time simulations\n            with modifications to reserve definitions to improve feasibility │
      -│ modified_tamu_ercot_da_system       │ Modified tamu ercot day ahead system                                                                                                  │
       │ sys10_pjm_ac_dc                     │ 10-bus system (duplicate 5-bus PJM) with 4-DC bus system                                                                              │
      +│ two_area_pjm_DA                     │ 2 Area 5-Bus system                                                                                                                   │
       └─────────────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
       
       Category: PowerSystemCaseBuilder.PSITestSystems
       
      -┌───────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
      -│ Name                          │ Descriptor                                                                                                        │
      -├───────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
      -│ batt_test_case_b_sys          │ test system for Storage Energy Target formulation(case-b)                                                         │
      -│ batt_test_case_c_sys          │ test system for Storage Energy Target formulation(case-c)                                                         │
      -│ batt_test_case_d_sys          │ test system for Storage Energy Target formulation(case-d)                                                         │
      -│ batt_test_case_e_sys          │ test system for Storage Energy Target formulation(case-e)                                                         │
      -│ batt_test_case_f_sys          │ test system for Storage Energy Target formulation(case-f)                                                         │
      -│ c_duration_test               │ 1 Bus for duration testing                                                                                        │
      -│ c_linear_pwl_test             │ 1 Bus lineal PWL linear testing                                                                                   │
      -│ c_market_bid_cost             │ 1 bus system with MarketBidCost Model                                                                             │
      -│ c_ramp_test                   │ 1-bus for ramp testing                                                                                            │
      -│ c_sos_pwl_test                │ 1 Bus lineal PWL sos testing                                                                                      │
      -│ c_sys14                       │ 14-bus system                                                                                                     │
      -│ c_sys14_dc                    │ 14-bus system with DC line                                                                                        │
      -│ c_sys5                        │ 5-Bus system                                                                                                      │
      -│ c_sys5_all_components         │ 5-Bus system with 5-Bus system with Renewable Energy, Hydro Energy Reservoir, and both StandardLoad and PowerLoad │
      -│ c_sys5_bat                    │ 5-Bus system with Storage Device                                                                                  │
      -│ c_sys5_bat_ems                │ 5-Bus system with Storage Device with EMS                                                                         │
      -│ c_sys5_dc                     │ Systems with HVDC data in the branches                                                                            │
      -│ c_sys5_ed                     │ 5-Bus System for Economic Dispatch Simulations                                                                    │
      -│ c_sys5_hy                     │ 5-Bus system with HydroDispatch                                                                                   │
      -│ c_sys5_hy_ed                  │ 5-Bus system with Hydro-Power for Economic Dispatch Simulations                                                   │
      -│ c_sys5_hy_ems_ed              │ 5-Bus system with Hydro-Power for Economic Dispatch Simulations                                                   │
      -│ c_sys5_hy_ems_uc              │ 5-Bus system with Hydro-Power for Unit Commitment Simulations                                                     │
      -│ c_sys5_hy_uc                  │ 5-Bus system with Hydro-Power for Unit Commitment Simulations                                                     │
      -│ c_sys5_hybrid                 │ 5-Bus system with Hybrid devices                                                                                  │
      -│ c_sys5_hybrid_ed              │ 5-Bus system with Hybrid devices and thermal devices for ED.                                                      │
      -│ c_sys5_hybrid_uc              │ 5-Bus system with Hybrid devices and thermal UC devices                                                           │
      -│ c_sys5_hyd                    │ 5-Bus system with Hydro Energy Reservoir                                                                          │
      -│ c_sys5_hyd_ems                │ 5-Bus system with Hydro Energy Reservoir                                                                          │
      -│ c_sys5_il                     │ System with Interruptible Load                                                                                    │
      -│ c_sys5_ml                     │ Test System with Monitored Line                                                                                   │
      -│ c_sys5_pglib                  │ 5-Bus with ThermalMultiStart                                                                                      │
      -│ c_sys5_pglib_sim              │ 5-Bus with ThermalMultiStart for simulation                                                                       │
      -│ c_sys5_phes_ed                │ 5-Bus system with Hydro Pumped Energy Storage for Economic Dispatch Simulations                                   │
      -│ c_sys5_pwl_ed                 │ 5-Bus with pwl cost function                                                                                      │
      -│ c_sys5_pwl_ed_nonconvex       │ 5-Bus with SOS cost function for Economic Dispatch Simulations                                                    │
      -│ c_sys5_pwl_uc                 │ 5-Bus with SOS cost function for Unit Commitment Simulations                                                      │
      -│ c_sys5_radial                 │ 5-Bus with a radial branches                                                                                      │
      -│ c_sys5_re                     │ 5-Bus system with Renewable Energy                                                                                │
      -│ c_sys5_re_only                │ 5-Bus system with only Renewable Energy                                                                           │
      -│ c_sys5_reg                    │ 5-Bus with regulation devices and AGC                                                                             │
      -│ c_sys5_uc                     │ 5-Bus system for Unit Commitment Simulations                                                                      │
      -│ c_sys5_uc_non_spin            │ 5-Bus system for Unit Commitment with Non-Spinning Reserve Simulations                                            │
      -│ c_sys5_uc_re                  │ 5-Bus system for Unit Commitment Simulations with Renewable Units                                                 │
      -│ hydro_test_case_b_sys         │ test system for HydroGen Energy Target formulation(case-b)                                                        │
      -│ hydro_test_case_c_sys         │ test system for HydroGen Energy Target formulation(case-c)                                                        │
      -│ hydro_test_case_d_sys         │ test system for HydroGen Energy Target formulation(case-d)                                                        │
      -│ hydro_test_case_e_sys         │ test system for HydroGen Energy Target formulation(case-e)                                                        │
      -│ hydro_test_case_f_sys         │ test system for HydroGen  Energy Target formulation(case-f)                                                       │
      -│ test_RTS_GMLC_sys             │ RTS-GMLC test system with day-ahead forecast                                                                      │
      -│ test_RTS_GMLC_sys_with_hybrid │ RTS-GMLC test system with day-ahead forecast and HybridSystem                                                     │
      -└───────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
      +┌────────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
      +│ Name                           │ Descriptor                                                                                                        │
      +├────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
      +│ batt_test_case_b_sys           │ test system for Storage Energy Target formulation(case-b)                                                         │
      +│ batt_test_case_c_sys           │ test system for Storage Energy Target formulation(case-c)                                                         │
      +│ batt_test_case_d_sys           │ test system for Storage Energy Target formulation(case-d)                                                         │
      +│ batt_test_case_e_sys           │ test system for Storage Energy Target formulation(case-e)                                                         │
      +│ batt_test_case_f_sys           │ test system for Storage Energy Target formulation(case-f)                                                         │
      +│ c_duration_test                │ 1 Bus for duration testing                                                                                        │
      +│ c_fixed_market_bid_cost        │ 1 bus system with a Fixed MarketBidCost Model                                                                     │
      +│ c_linear_cost_test             │ 1 Bus linear cost for testing                                                                                     │
      +│ c_linear_fuel_test             │ 1 Bus linear fuel curve testing                                                                                   │
      +│ c_linear_fuel_test_ts          │ 1 Bus linear fuel curve testing                                                                                   │
      +│ c_market_bid_cost              │ 1 bus system with MarketBidCost Model                                                                             │
      +│ c_non_convex_io_pwl_cost_test  │ 1 Bus PWL sos testing                                                                                             │
      +│ c_pwl_incremental_cost_test    │ 1 Bus PWL incremental cost curve testing                                                                          │
      +│ c_pwl_incremental_fuel_test    │ 1 Bus PWL incremental (marginal) fuel curve testing                                                               │
      +│ c_pwl_incremental_fuel_test_ts │ 1 Bus PWL incremental (marginal) fuel curve testing                                                               │
      +│ c_pwl_io_cost_test             │ 1 Bus PWL I/O cost curve testing                                                                                  │
      +│ c_pwl_io_fuel_test             │ 1 Bus PWL I/O fuel curve testing                                                                                  │
      +│ c_pwl_io_fuel_test_ts          │ 1 Bus PWL I/O fuel curve testing                                                                                  │
      +│ c_quadratic_cost_test          │ 1 Bus quadratic cost for testing                                                                                  │
      +│ c_quadratic_fuel_test          │ 1 Bus quadratic fuel curve testing                                                                                │
      +│ c_quadratic_fuel_test_ts       │ 1 Bus quadratic fuel curve testing                                                                                │
      +│ c_ramp_test                    │ 1-bus for ramp testing                                                                                            │
      +│ c_sys14                        │ 14-bus system                                                                                                     │
      +│ c_sys14_dc                     │ 14-bus system with DC line                                                                                        │
      +│ c_sys5                         │ 5-Bus system                                                                                                      │
      +│ c_sys5_all_components          │ 5-Bus system with 5-Bus system with Renewable Energy, Hydro Energy Reservoir, and both StandardLoad and PowerLoad │
      +│ c_sys5_bat                     │ 5-Bus system with Storage Device                                                                                  │
      +│ c_sys5_bat_ems                 │ 5-Bus system with Storage Device with EMS                                                                         │
      +│ c_sys5_dc                      │ Systems with HVDC data in the branches                                                                            │
      +│ c_sys5_ed                      │ 5-Bus System for Economic Dispatch Simulations                                                                    │
      +│ c_sys5_hy                      │ 5-Bus system with HydroDispatch                                                                                   │
      +│ c_sys5_hy_ed                   │ 5-Bus system with Hydro-Power for Economic Dispatch Simulations                                                   │
      +│ c_sys5_hy_ems_ed               │ 5-Bus system with Hydro-Power for Economic Dispatch Simulations                                                   │
      +│ c_sys5_hy_ems_uc               │ 5-Bus system with Hydro-Power for Unit Commitment Simulations                                                     │
      +│ c_sys5_hy_uc                   │ 5-Bus system with Hydro-Power for Unit Commitment Simulations                                                     │
      +│ c_sys5_hybrid                  │ 5-Bus system with Hybrid devices                                                                                  │
      +│ c_sys5_hybrid_ed               │ 5-Bus system with Hybrid devices and thermal devices for ED.                                                      │
      +│ c_sys5_hybrid_uc               │ 5-Bus system with Hybrid devices and thermal UC devices                                                           │
      +│ c_sys5_hyd                     │ 5-Bus system with Hydro Energy Reservoir                                                                          │
      +│ c_sys5_hyd_ems                 │ 5-Bus system with Hydro Energy Reservoir                                                                          │
      +│ c_sys5_il                      │ System with Interruptible Load                                                                                    │
      +│ c_sys5_ml                      │ Test System with Monitored Line                                                                                   │
      +│ c_sys5_pglib                   │ 5-Bus with ThermalMultiStart                                                                                      │
      +│ c_sys5_pglib_sim               │ 5-Bus with ThermalMultiStart for simulation                                                                       │
      +│ c_sys5_phes_ed                 │ 5-Bus system with Hydro Pumped Energy Storage for Economic Dispatch Simulations                                   │
      +│ c_sys5_pwl_ed                  │ 5-Bus with pwl cost function                                                                                      │
      +│ c_sys5_pwl_ed_nonconvex        │ 5-Bus with SOS cost function for Economic Dispatch Simulations                                                    │
      +│ c_sys5_pwl_uc                  │ 5-Bus with SOS cost function for Unit Commitment Simulations                                                      │
      +│ c_sys5_radial                  │ 5-Bus with a radial branches                                                                                      │
      +│ c_sys5_re                      │ 5-Bus system with Renewable Energy                                                                                │
      +│ c_sys5_re_only                 │ 5-Bus system with only Renewable Energy                                                                           │
      +│ c_sys5_uc                      │ 5-Bus system for Unit Commitment Simulations                                                                      │
      +│ c_sys5_uc_non_spin             │ 5-Bus system for Unit Commitment with Non-Spinning Reserve Simulations                                            │
      +│ c_sys5_uc_re                   │ 5-Bus system for Unit Commitment Simulations with Renewable Units                                                 │
      +│ hydro_test_case_b_sys          │ test system for HydroGen Energy Target formulation(case-b)                                                        │
      +│ hydro_test_case_c_sys          │ test system for HydroGen Energy Target formulation(case-c)                                                        │
      +│ hydro_test_case_d_sys          │ test system for HydroGen Energy Target formulation(case-d)                                                        │
      +│ hydro_test_case_e_sys          │ test system for HydroGen Energy Target formulation(case-e)                                                        │
      +│ hydro_test_case_f_sys          │ test system for HydroGen  Energy Target formulation(case-f)                                                       │
      +│ test_RTS_GMLC_sys              │ RTS-GMLC test system with day-ahead forecast                                                                      │
      +│ test_RTS_GMLC_sys_with_hybrid  │ RTS-GMLC test system with day-ahead forecast and HybridSystem                                                     │
      +└────────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
       
       Category: PowerSystemCaseBuilder.PSSEParsingTestSystems
       
      @@ -222,10 +233,10 @@
       PowerSystemCaseBuilder.PSITestSystems
       PowerSystemCaseBuilder.PSSEParsingTestSystems
       PowerSystemCaseBuilder.PSYTestSystems

      Create a System

      The first time this is run, it will parse csv data. Subsequent executions will rely on serialized data and will execute much faster since the employ deserialization

      julia> sys = build_system(PSITestSystems, "c_sys5_uc")┌ Info: Building new system c_sys5_uc from raw data
      -└   sys_descriptor.raw_data = "/home/runner/.julia/artifacts/2b7013812a985ce5884696ce276ca17b2719a57a/PowerSystemsTestData-2.0/psy_data/data_5bus_pu.jl"
      -[ Info: Serialized time series data to /home/runner/.julia/packages/PowerSystemCaseBuilder/8GyJc/data/serialized_system/ForecastOnly/c_sys5_uc_time_series_storage.h5.
      -[ Info: Serialized System to /home/runner/.julia/packages/PowerSystemCaseBuilder/8GyJc/data/serialized_system/ForecastOnly/c_sys5_uc.json
      -[ Info: Serialized System metadata to /home/runner/.julia/packages/PowerSystemCaseBuilder/8GyJc/data/serialized_system/ForecastOnly/c_sys5_uc_metadata.json
      +└   sys_descriptor.raw_data = "/home/runner/.julia/artifacts/906591a156d0f786940f105e4f6aeceffefa7a2e/PowerSystemsTestData-3.0/psy_data/data_5bus_pu.jl"
      +[ Info: Serialized time series data to /home/runner/.julia/packages/PowerSystemCaseBuilder/2fYQI/data/serialized_system/4e67b70ea6977dbe21c7731d72cdc1494adf072a7f3f08d921db740cf264ce79/c_sys5_uc_time_series_storage.h5.
      +[ Info: Serialized System to /home/runner/.julia/packages/PowerSystemCaseBuilder/2fYQI/data/serialized_system/4e67b70ea6977dbe21c7731d72cdc1494adf072a7f3f08d921db740cf264ce79/c_sys5_uc.json
      +[ Info: Serialized System metadata to /home/runner/.julia/packages/PowerSystemCaseBuilder/2fYQI/data/serialized_system/4e67b70ea6977dbe21c7731d72cdc1494adf072a7f3f08d921db740cf264ce79/c_sys5_uc_metadata.json
       System
       ┌───────────────────┬─────────────┐
       │ Property          │ Value       │
      @@ -239,27 +250,21 @@
       └───────────────────┴─────────────┘
       
       Static Components
      -┌─────────────────┬───────┬────────────────────────┬───────────────┐
      -│ Type            │ Count │ Has Static Time Series │ Has Forecasts │
      -├─────────────────┼───────┼────────────────────────┼───────────────┤
      -│ ACBus           │ 5     │ false                  │ false         │
      -│ Arc             │ 6     │ false                  │ false         │
      -│ Line            │ 6     │ false                  │ false         │
      -│ PowerLoad       │ 3     │ false                  │ true          │
      -│ ThermalStandard │ 5     │ false                  │ false         │
      -└─────────────────┴───────┴────────────────────────┴───────────────┘
      +┌─────────────────┬───────┐
      +│ Type            │ Count │
      +├─────────────────┼───────┤
      +│ ACBus           │ 5     │
      +│ Arc             │ 6     │
      +│ Line            │ 6     │
      +│ PowerLoad       │ 3     │
      +│ ThermalStandard │ 5     │
      +└─────────────────┴───────┘
       
       Time Series Summary
      -┌──────────────────────────────────┬─────────────────────┐
      -│ Property                         │ Value               │
      -├──────────────────────────────────┼─────────────────────┤
      -│ Components with time series data │ 3                   │
      -│ Total StaticTimeSeries           │ 0                   │
      -│ Total Forecasts                  │ 3                   │
      -│ Resolution                       │ 60 minutes          │
      -│ First initial time               │ 2024-01-01T00:00:00 │
      -│ Last initial time                │ 2024-01-02T00:00:00 │
      -│ Horizon                          │ 24                  │
      -│ Interval                         │ 1440 minutes        │
      -│ Forecast window count            │ 2                   │
      -└──────────────────────────────────┴─────────────────────┘
      +┌────────────┬────────────────┬──────────────────┬──────────────────────┬─────── +│ owner_type │ owner_category │ time_series_type │ time_series_category │ init ⋯ +│ String │ String │ String │ String │ Stri ⋯ +├────────────┼────────────────┼──────────────────┼──────────────────────┼─────── +│ PowerLoad │ Component │ Deterministic │ Forecast │ 2024 ⋯ +└────────────┴────────────────┴──────────────────┴──────────────────────┴─────── + 3 columns omitted
      diff --git a/dev/tutorials/serialize_data/index.html b/dev/tutorials/serialize_data/index.html index 67c26ecbd9..4d3983bfe9 100644 --- a/dev/tutorials/serialize_data/index.html +++ b/dev/tutorials/serialize_data/index.html @@ -1,5 +1,5 @@ -Serialize Data · PowerSystems.jl

      Serializing PowerSystem Data

      Originally Contributed by: Clayton Barrows

      Introduction

      PowerSystems.jl supports serializing/deserializing data with JSON. This provides an example of how to write and read a System to/from disk.

      Dependencies

      Let's use a dataset from the tabular data parsing tutorial:

      julia> using PowerSystems
      julia> file_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "tutorials_data"); #hide
      julia> sys = System(joinpath(file_dir, "case5_re.m"))┌ Error: Matlab parser skipping line number 85 consisting of: +Serialize Data · PowerSystems.jl

      Serializing PowerSystem Data

      Originally Contributed by: Clayton Barrows

      Introduction

      PowerSystems.jl supports serializing/deserializing data with JSON. This provides an example of how to write and read a System to/from disk.

      Dependencies

      Let's use a dataset from the tabular data parsing tutorial:

      julia> using PowerSystems
      julia> file_dir = joinpath(pkgdir(PowerSystems), "docs", "src", "tutorials", "tutorials_data"); #hide
      julia> sys = System(joinpath(file_dir, "case5_re.m"))┌ Error: Matlab parser skipping line number 85 consisting of: │ }; └ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/im_io/matlab.jl:64 [ Info: Correcting vm in bus 1 to 1.07762 to match generator set-point @@ -10,13 +10,13 @@ [ Info: extending matpower format with data: gen_name 7x4 [ Info: extending matpower format by appending matrix "gen_name" in to "gen" [ Info: reversing the orientation of branch 6 (4, 3) to be consistent with other parallel branches -[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] -[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] [ Info: removing 1 cost terms from generator 5: [1000.0, 0.0] -[ Info: removing 1 cost terms from generator 2: [1500.0, 0.0] +[ Info: removing 1 cost terms from generator 4: [4000.0, 0.0] [ Info: removing 3 cost terms from generator 6: Float64[] [ Info: removing 3 cost terms from generator 7: Float64[] +[ Info: removing 1 cost terms from generator 2: [1500.0, 0.0] [ Info: removing 1 cost terms from generator 3: [3000.0, 0.0] +[ Info: removing 1 cost terms from generator 1: [1400.0, 0.0] ┌ Info: Constructing System from Power Models │ data["name"] = "nesta_case5_pjm" └ data["source_type"] = "matpower" @@ -25,7 +25,7 @@ [ Info: Reading LoadZones data in PowerModels dict to populate System ... [ Info: Reading generator data [ Info: Reading branch data -[ Info: Reading branch data +[ Info: Reading shunt data [ Info: Reading DC Line data [ Info: Reading storage data System @@ -41,20 +41,20 @@ └───────────────────┴─────────────┘ Static Components -┌──────────────────────────┬───────┬────────────────────────┬───────────────┐ -│ Type │ Count │ Has Static Time Series │ Has Forecasts │ -├──────────────────────────┼───────┼────────────────────────┼───────────────┤ -│ ACBus │ 5 │ false │ false │ -│ Arc │ 6 │ false │ false │ -│ Area │ 1 │ false │ false │ -│ Line │ 5 │ false │ false │ -│ LoadZone │ 1 │ false │ false │ -│ PhaseShiftingTransformer │ 2 │ false │ false │ -│ PowerLoad │ 3 │ false │ false │ -│ RenewableDispatch │ 2 │ false │ false │ -│ ThermalStandard │ 5 │ false │ false │ -└──────────────────────────┴───────┴────────────────────────┴───────────────┘

      Write data to a temporary directory

      julia> folder = mktempdir();
      julia> path = joinpath(folder, "system.json")"/tmp/jl_tCpW64/system.json"
      julia> println("Serializing to $path")Serializing to /tmp/jl_tCpW64/system.json
      julia> to_json(sys, path)[ Info: Serialized System to /tmp/jl_tCpW64/system.json -[ Info: Serialized System metadata to /tmp/jl_tCpW64/system_metadata.json

      Read the JSON file and create a new System

      julia> sys2 = System(path)System
      +┌──────────────────────────┬───────┐
      +│ Type                     │ Count │
      +├──────────────────────────┼───────┤
      +│ ACBus                    │ 5     │
      +│ Arc                      │ 6     │
      +│ Area                     │ 1     │
      +│ Line                     │ 5     │
      +│ LoadZone                 │ 1     │
      +│ PhaseShiftingTransformer │ 2     │
      +│ PowerLoad                │ 3     │
      +│ RenewableDispatch        │ 2     │
      +│ ThermalStandard          │ 5     │
      +└──────────────────────────┴───────┘

      Write data to a temporary directory

      julia> folder = mktempdir();
      julia> path = joinpath(folder, "system.json")"/tmp/jl_LKRAB8/system.json"
      julia> println("Serializing to $path")Serializing to /tmp/jl_LKRAB8/system.json
      julia> to_json(sys, path)[ Info: Serialized System to /tmp/jl_LKRAB8/system.json +[ Info: Serialized System metadata to /tmp/jl_LKRAB8/system_metadata.json

      Read the JSON file and create a new System

      julia> sys2 = System(path)System
       ┌───────────────────┬─────────────┐
       │ Property          │ Value       │
       ├───────────────────┼─────────────┤
      @@ -67,16 +67,16 @@
       └───────────────────┴─────────────┘
       
       Static Components
      -┌──────────────────────────┬───────┬────────────────────────┬───────────────┐
      -│ Type                     │ Count │ Has Static Time Series │ Has Forecasts │
      -├──────────────────────────┼───────┼────────────────────────┼───────────────┤
      -│ ACBus                    │ 5     │ false                  │ false         │
      -│ Arc                      │ 6     │ false                  │ false         │
      -│ Area                     │ 1     │ false                  │ false         │
      -│ Line                     │ 5     │ false                  │ false         │
      -│ LoadZone                 │ 1     │ false                  │ false         │
      -│ PhaseShiftingTransformer │ 2     │ false                  │ false         │
      -│ PowerLoad                │ 3     │ false                  │ false         │
      -│ RenewableDispatch        │ 2     │ false                  │ false         │
      -│ ThermalStandard          │ 5     │ false                  │ false         │
      -└──────────────────────────┴───────┴────────────────────────┴───────────────┘
      +┌──────────────────────────┬───────┐ +│ Type │ Count │ +├──────────────────────────┼───────┤ +│ ACBus │ 5 │ +│ Arc │ 6 │ +│ Area │ 1 │ +│ Line │ 5 │ +│ LoadZone │ 1 │ +│ PhaseShiftingTransformer │ 2 │ +│ PowerLoad │ 3 │ +│ RenewableDispatch │ 2 │ +│ ThermalStandard │ 5 │ +└──────────────────────────┴───────┘