@article{LARA2021100747,
+title = {PowerSystems.jl — A power system data management package for large scale modeling},
+journal = {SoftwareX},
+volume = {15},
+pages = {100747},
+year = {2021},
+issn = {2352-7110},
+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 Sienna modeling framework by the U.S. Department of Energy's National Renewable Energy Laboratory (NREL).
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
Each ThermalGen generator has a field for fuel::ThermalFuels where ThermalFuels are intended to reflect the options in the Aggregated Fuel Codes from the EIA Annual Energy Review. ThermalFuels has the options:
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.
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.
Horizon: Is the duration of all time steps in one forecast. As of PowerSystems.jl version 4.0, all horizons in PowerSystems.jl are represented as a Dates.Period. For instance, many Day-ahead markets will have an hourly-resolution forecast for the next day, which would have a horizon of Dates.Hour(24) or Dates.Day(1). If the forecast included the next day plus a 24-hour lookahead window, the horizon would be Dates.Hour(48) or Dates.Day(2). See the article on Time Series Data.
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 window. See the article on Time Series Data.
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).
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.
Window: A forecast window is one forecast run that starts at one initial time and extends through the forecast horizon. Typically, a forecast data set contains multiple forecast windows, with sequential initial times. For example, a year-long data set of day-ahead forecasts contains 365 forecast windows
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.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/api/internal/index.html b/dev/api/internal/index.html
index 081e99fdbd..9404360d96 100644
--- a/dev/api/internal/index.html
+++ b/dev/api/internal/index.html
@@ -1,5 +1,5 @@
-Internal API Reference · PowerSystems.jl
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,
+end
IEEE Excitation System for Voltage Security Assesment
Arguments
Iflim::Float64: OEL Field current limit, validation range: (0, nothing)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
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.
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.
_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.
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.
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
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
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.
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.
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:
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:
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.
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.
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.
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.
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.
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.
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.
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.
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().
Populate arguments in a vector for each dynamic component (except Shafts). Returns a vector with the parameter values of the argument of each component.
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().
Populate arguments in a vector for each dynamic component (except Shafts). Returns a vector with the parameter values of the argument of each component.
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.
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.
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.
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.
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.
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.
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).
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).
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.
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.
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
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
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.
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.
removes buses with single branch connections and without any other attached components. Also removes connected components without suffuceint generation or loads.
removes buses with single branch connections and without any other attached components. Also removes connected components without suffuceint generation or loads.
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)
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)
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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
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
A dynamicinjection is the continuous time response of a generator, typically modeled with differential equations.
DynamicInjection components can added on to StaticInjection components, which together define all the information needed to model the device in a dynamic simulation.
A dynamicinjection is the continuous time response of a generator, typically modeled with differential equations.
DynamicInjection components can added on to StaticInjection components, which together define all the information needed to model the device in a dynamic simulation.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
time_series_data::Union{Nothing, IS.TimeSeriesData, CostCurve{PiecewiseIncrementalCurve}},: the data. If a time series, must be of eltype PiecewiseStepData.
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.
time_series_data::Union{Nothing, IS.TimeSeriesData, CostCurve{PiecewiseIncrementalCurve}},: the data. If a time series, must be of eltype PiecewiseStepData.
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.
System is the main data container in PowerSystems.jl, including basic metadata (base power, frequency), components (network topology, loads, generators, and services), and time series data.
base_power::Float64: the base power value for the system
buses::Vector{ACBus}: an array of buses
components...: Each element (e.g., buses, generators, ...) must be an iterable containing subtypes of Component.
Keyword arguments
ext::Dict: Contains user-defined parameters. Should only contain standard types.
frequency::Float64: (default = 60.0) Operating frequency (Hz)
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.
time_series_directory::Union{Nothing, String}: Directory for the time series HDF5 file. Defaults to the tmp file system
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
unit_system::String: (Default = "SYSTEM_BASE") Set the unit system for per-unitization while getting and setting data ("SYSTEM_BASE", "DEVICE_BASE", or "NATURAL_UNITS")
By default, time series data is stored in an HDF5 file in the tmp file system to prevent large datasets from overwhelming system memory (see Data Storage). If the system's time series data will be larger than the amount of tmp space available, use the time_series_directory parameter to change its location. You can also override the location by setting the environment variable SIENNA_TIME_SERIES_DIRECTORY to another directory.
HDF5 compression is not enabled by default, but you can enable it with enable_compression to get significant storage savings at the cost of CPU time. CompressionSettings can be used to customize the HDF5 compression.
If you know that your dataset will fit in your computer's memory, then you can increase performance by storing it in memory with time_series_in_memory.
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.
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").
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").
A component cannot be added to more than one System. Throws ArgumentError if the name does not match the static_injector name. Throws ArgumentError if the static_injector is not attached to the system.
All rules for the generic add_component! method also apply.
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)
+
Add a component to the system.
A component cannot be added to more than one System. 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)
# Add a single component.
add_component!(sys, bus)
@@ -552,70 +538,72 @@
# Add many at once.
buses = [bus1, bus2, bus3]
generators = [gen1, gen2, gen3]
-foreach(x -> add_component!(sys, x), Iterators.flatten((buses, generators)))
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.
A component cannot be added to more than one System. 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.
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.
Add the same time series data to multiple components.
This function stores a single copy of the data. Each component will store a reference to that data. 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.
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)
+
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: (Default = 100) Number of time series to add per batch.
Examples
# Assumes `read_time_series` will return data appropriate for Deterministic forecasts
+# based on the generator name and the filenames match the component and time series names.
+resolution = Dates.Hour(1)
associations = (
IS.TimeSeriesAssociation(
gen,
@@ -626,83 +614,87 @@
)
for gen in get_components(ThermalStandard, sys)
)
-bulk_add_time_series!(sys, associations)
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.
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.
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.
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.
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.
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.
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 the time series store for bulk additions or reads
This is recommended before calling add_time_series! 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
+# 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
If you are storing time series data in an HDF5 file, remove_time_series! 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.
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.
This can be used to generate a perfect forecast from historical measurements or realizations when actual forecasts are unavailable, without unnecessarily duplicating data.
If all SingleTimeSeries instances cannot be transformed then none will be.
Any existing DeterministicSingleTimeSeries forecasts will be deleted even if the inputs are invalid.
Arguments
sys::System: System containing the components.
horizon::Dates.Period: desired horizon of each forecast window
interval::Dates.Period: desired interval between forecast windows
component_type::Type{<:Component}: Type to display. Must be a concrete type.
additional_columns::Union{Dict, Vector}: Additional columns to display. The Dict option is a mapping of column name to function. The function must accept a component. The Vector option is an array of field names for the component_type.
Extra keyword arguments are forwarded to PrettyTables.pretty_table.
get_time_series(
owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute},
key::TimeSeriesKey
) -> Any
@@ -881,14 +888,14 @@
len,
ignore_scaling_factors
) -> Any
-
Return a TimeSeries.TimeArray from a cached StaticTimeSeries instance.
If the time series data are scaling factors, the returned data will be scaled by the scaling factor multiplier by default.
Arguments
owner::TimeSeriesOwners: Component or attribute containing the time series
time_series::StaticTimeSeries: subtype of StaticTimeSeries (e.g., SingleTimeSeries)
start_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp to retrieve. If nothing, use the initial_timestamp of the time series.
len::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length
ignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner
Return a TimeSeries.TimeArray from a cached StaticTimeSeries instance.
If the time series data are scaling factors, the returned data will be scaled by the scaling factor multiplier by default.
Arguments
owner::TimeSeriesOwners: Component or attribute containing the time series
time_series::StaticTimeSeries: subtype of StaticTimeSeries (e.g., SingleTimeSeries)
start_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp to retrieve. If nothing, use the initial_timestamp of the time series.
len::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length
ignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner
Return a TimeSeries.TimeArray for one forecast window from a cached Forecast instance
If the time series data are scaling factors, the returned data will be scaled by the scaling factor multiplier by default.
Arguments
owner::TimeSeriesOwners: Component or attribute containing the time series
forecast::Forecast: a concrete subtype of Forecast
start_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp of one of the forecast windows
len::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.
ignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner
Return a TimeSeries.TimeArray for one forecast window from a cached Forecast instance
If the time series data are scaling factors, the returned data will be scaled by the scaling factor multiplier by default.
Arguments
owner::TimeSeriesOwners: Component or attribute containing the time series
forecast::Forecast: a concrete subtype of Forecast
start_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp of one of the forecast windows
len::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.
ignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner
Return an vector of timeseries data without timestamps from a cached StaticTimeSeries instance
Arguments
owner::TimeSeriesOwners: Component or attribute containing the time series
time_series::StaticTimeSeries: subtype of StaticTimeSeries (e.g., SingleTimeSeries)
start_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp to retrieve. If nothing, use the initial_timestamp of the time series.
len::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length
ignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner
Return an vector of timeseries data without timestamps from a cached StaticTimeSeries instance
Arguments
owner::TimeSeriesOwners: Component or attribute containing the time series
time_series::StaticTimeSeries: subtype of StaticTimeSeries (e.g., SingleTimeSeries)
start_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp to retrieve. If nothing, use the initial_timestamp of the time series.
len::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length
ignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner
Return an vector of timeseries data without timestamps for one forecast window from a cached Forecast instance.
Arguments
owner::TimeSeriesOwners: Component or attribute containing the time series
forecast::Forecast: a concrete subtype of Forecast
start_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp of one of the forecast windows
len::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.
ignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner
Return an vector of timeseries data without timestamps for one forecast window from a cached Forecast instance.
Arguments
owner::TimeSeriesOwners: Component or attribute containing the time series
forecast::Forecast: a concrete subtype of Forecast
start_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp of one of the forecast windows
len::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.
ignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner
Return an vector of timeseries data without timestamps from storage
If the data size is small and this will be called many times, consider using the version that accepts a cached TimeSeriesData instance.
Arguments
::Type{T}: type of the time series (a concrete subtype of TimeSeriesData)
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 timestamp of a window.
len::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.
ignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner
features...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years
Construct ForecastCache to automatically control caching of forecast data. Maintains some count of forecast windows in memory based on cache_size_bytes.
Call Base.iterate or get_next_time_series_array! to retrieve data. Each iteration will return a TimeSeries.TimeArray covering one forecast window of length horizon_count.
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
Operating cost data typically includes both fixed and variable costs. See the how-to on Adding an Operating Cost for a demonstration of defining an operating cost.
In PowerSystems.jl, the variable portion of the operating cost can be represented as linear, quadratic, or piecewise input-output curves; potentially piecewise marginal heat rates; average heat rates; and more, as best fits the input data. This is done by constructing various subtypes of ValueCurve.
This summary table shows each way to construct a ValueCurve with the user-friendly subtype aliases. The ValueCurves make no assumption about units; the example interpretation given here assumes that the variable cost ValueCurve will be wrapped in a CostCurve with natural units. Note that all four Piecewise options here fundamentally represent the same curve. More information and explanatory plots are provided for each subtype alias in the subheadings below.
Description
Example
Example interpretation
Linear input-output curve with zero no-load cost (constant average rate)
LinearCurve(5.0)
$5/MWh
Linear input-output curve with potentially nonzero no-load cost (constant marginal rate)
LinearCurve(5.0, 15.0)
$5/MWh + $15/hr
Quadratic input-output curve with potentially nonzero no-load cost
QuadraticCurve(1.0, 1.0, 18.0)
$C(P) = 1 P^2 + 1 P + 18$ where $C$ is $/hr, $P$ is MW
Piecewise linear curve specified by cost values at production points
Specify the cost $C_1$ at the least production point given (NOT the cost at zero production), a vector of $K$ production points $P_1, \dots, P_k$, and a vector of $K-1$ marginal rates $M_1, \dots, M_{k-1}$, that represent the slopes of the curve segments between the points. $C_1$ may be nothing, which results in a not-fully-defined curve. The no-load cost $C_0$ can optionally be specified as a first argument; it is not part of the representation of the curve, just another piece of data that may be stored:
Specify the cost $C_1$ at the least production point given (NOT the cost at zero production), a vector of $K$ production points $P_1, \dots, P_k$, and a vector of $K-1$ average rates $R_1, \dots, R_{k-1}$ at the $K-1$ latter production points:
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/assets/time_series_tutorial.png b/dev/assets/time_series_tutorial.png
new file mode 100644
index 0000000000..be45d28efb
Binary files /dev/null and b/dev/assets/time_series_tutorial.png differ
diff --git a/dev/code_base_developer_guide/adding_new_types/index.html b/dev/code_base_developer_guide/adding_new_types/index.html
deleted file mode 100644
index e5ea93b05b..0000000000
--- a/dev/code_base_developer_guide/adding_new_types/index.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-Adding New Types · PowerSystems.jl
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.
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.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
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.
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:
"NATURAL_UNITS": The naturally defined units of each parameter (typically MW).
"SYSTEM_BASE": Parameter values are divided by the system base_power.
"DEVICE_BASE": Parameter values are divided by the device base_mva.
To see the unit system setting of a System:
┌ 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
+[ Info: Correcting vm in bus 102 to 1.0467 to match generator set-point
+[ Info: Correcting vm in bus 107 to 1.05 to match generator set-point
+[ Info: Correcting vm in bus 113 to 1.0347 to match generator set-point
+[ Info: Correcting vm in bus 115 to 1.0428 to match generator set-point
+[ Info: Correcting vm in bus 116 to 1.0461 to match generator set-point
+[ Info: Correcting vm in bus 201 to 1.05 to match generator set-point
+[ Info: Correcting vm in bus 202 to 1.05 to match generator set-point
+[ Info: Correcting vm in bus 207 to 0.9699 to match generator set-point
+[ Info: Correcting vm in bus 213 to 1.05 to match generator set-point
+[ Info: Correcting vm in bus 215 to 1.0437 to match generator set-point
+[ Info: Correcting vm in bus 216 to 1.0473 to match generator set-point
+[ Info: Correcting vm in bus 301 to 1.05 to match generator set-point
+[ Info: Correcting vm in bus 302 to 1.05 to match generator set-point
+[ Info: Correcting vm in bus 307 to 0.9568 to match generator set-point
+[ Info: Correcting vm in bus 313 to 1.0 to match generator set-point
+[ Info: Correcting vm in bus 315 to 1.0422 to match generator set-point
+[ Info: Correcting vm in bus 316 to 1.0449 to match generator set-point
+[ Info: Correcting vm in bus 114 to 1.0441 to match generator set-point
+[ Info: Correcting vm in bus 214 to 1.05 to match generator set-point
+[ Info: Correcting vm in bus 314 to 1.0 to match generator set-point
+[ Info: Correcting vm in bus 118 to 1.0 to match generator set-point
+[ Info: Correcting vm in bus 122 to 1.0 to match generator set-point
+[ Info: extending matpower format with data: areas 3x3
+[ 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 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 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 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 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 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 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: 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 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 76 does not match the value at bus 122
+[ 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 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 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 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 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 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 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 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"
+[ Info: Reading bus data
+[ 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: 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> 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, thus making it imperative to utilize the accessor functions instead of the "dot" accessor methods to ensure the return of the correct values.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/modeler_guide/system/index.html b/dev/explanation/system/index.html
similarity index 66%
rename from dev/modeler_guide/system/index.html
rename to dev/explanation/system/index.html
index e7f7f43f7c..c5464bec3f 100644
--- a/dev/modeler_guide/system/index.html
+++ b/dev/explanation/system/index.html
@@ -1,5 +1,5 @@
-System · PowerSystems.jl
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.
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
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.
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
@@ -259,7 +259,7 @@
base_value: 100.0
unit_system: UnitSystem.SYSTEM_BASE = 0
has_supplemental_attributes: false
- has_time_series: false
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:
We make no guarantees on the stability of component structure definitions. We will maintain version stability on the accessor methods.
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:
View the standard fields by accepting the defaults.
Pass a dictionary where the keys are column names and the values are functions that accept a component as a single argument.
Pass a vector of symbols that are field names of the type.
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:
We make no guarantees on the stability of component structure definitions. We will maintain version stability on the accessor methods.
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:
View the standard fields by accepting the defaults.
Pass a dictionary where the keys are column names and the values are functions that accept a component as a single argument.
Pass a vector of symbols that are field names of the type.
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:
Natural Units: The naturally defined units of each parameter (typically MW).
System Base: Parameter values are divided by the system base_power.
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.
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
System data file (*.json file)
Validation data file (*.json file)
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.
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.
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
System data file (*.json file)
Validation data file (*.json file)
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.
The bulk of the data in many power system models is time series data. Given the potential complexity, PowerSystems.jl has a set of definitions to organize this data and enable consistent modeling.
PowerSystems.jl supports two categories of time series data depending on the process to obtain the data and its interpretation:
A static time series data is a single column of data where each time period has a single value assigned to a component field, such as its maximum active power. This data commonly is obtained from historical information or the realization of a time-varying quantity.
Static time series usually comes in the following format, with a set resolution between the time-stamps:
DateTime
Value
2020-09-01T00:00:00
100.0
2020-09-01T01:00:00
101.0
2020-09-01T02:00:00
99.0
This example is a 1-hour resolution static time-series.
In PowerSystems, a static time series is represented using SingleTimeSeries.
A forecast time series includes predicted values of a time-varying quantity that commonly includes a look-ahead window 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, where a column represents the time stamp associated with the initial time of the forecast, and the remaining columns represent the forecasted values at each step in the forecast horizon.
DateTime
0
1
2
3
4
5
6
7
2020-09-01T00:00:00
100.0
101.0
101.3
90.0
98.0
87.0
88.0
67.0
2020-09-01T01:00:00
101.0
101.3
99.0
98.0
88.9
88.3
67.1
89.4
2020-09-01T02:00:00
99.0
67.0
89.0
99.9
100.0
101.0
112.0
101.3
This example forecast has a interval of 1 hour and a horizon of 8.
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.
By default PowerSystems stores time series data in an HDF5 file. This prevents large datasets from overwhelming system memory. Refer to this page for details on how the time series data is stored in HDF5 files.
Time series data can be stored 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 (e.g., get_time_series_array). The scaling factor multiplier must be passed into the forecast when you create it to use this option.
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.
Examples of how to create and add time series to system can be found in the Add Time Series Example
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
In PowerSystems.jl, data that describes infrastructure components is held in structs. For example, an ACBus is a struct with the following parameters to describe a bus on an AC network:
PowerSystems is intended to organize data by the behavior of the devices that the data represents. 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:
System: overarching struct that collects all of the Components
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
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.
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.
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.
⠀
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/how_to/add_cost_curve/index.html b/dev/how_to/add_cost_curve/index.html
new file mode 100644
index 0000000000..289cbb4530
--- /dev/null
+++ b/dev/how_to/add_cost_curve/index.html
@@ -0,0 +1,28 @@
+
+...add an Operating Cost · PowerSystems.jl
This how-to guide covers the steps to select and add an operating cost to a component, such as a generator, load, or energy storage system.
To begin, the user must make 2 or 3 decisions before defining the operating cost:
Select an appropriate OperationalCost from the OperationalCost options. In general, each operating cost has parameters to define fixed and variable costs. To be able to define an OperationalCost, you must first select a curve to represent the variable cost(s).
We select a LinearCurve to represent the $22/MWh variable cost.
Following the implementation steps, we define RenewableGenerationCost by nesting the definitions:
julia> RenewableGenerationCost(variable = CostCurve(value_curve = LinearCurve(22.0)))RenewableGenerationCost:
+ variable: CostCurve:
+ value_curve: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 22.0 x + 0.0
+ power_units: UnitSystem.NATURAL_UNITS = 2
+ vom_cost: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 0.0 x + 0.0
+ curtailment_cost: CostCurve:
+ value_curve: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 0.0 x + 0.0
+ power_units: UnitSystem.NATURAL_UNITS = 2
+ vom_cost: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 0.0 x + 0.0
We have a thermal generating unit that has a heat rate of 7 GJ/MWh at 100 MW and 9 GJ/MWh at 200 MW, plus a fixed cost of $6.0/hr, a start-up cost of $2000, and a shut-down cost of $1000. Its fuel cost is $20/GJ.
We select FuelCurve because we have consumption in units of fuel (GJ/MWh) instead of currency.
We select a PiecewisePointCurve to represent the piecewise linear heat rate curve.
This time, we'll define each step individually, beginning with the heat rate curve:
julia> heat_rate_curve = PiecewisePointCurve([(100.0, 7.0), (200.0, 9.0)])PiecewisePointCurve (a type of InputOutputCurve) where function is: piecewise linear y = f(x) connecting points:
+ (x = 100.0, y = 7.0)
+ (x = 200.0, y = 9.0)
Use the heat rate to define the fuel curve, including the cost of fuel:
julia> fuel_curve = FuelCurve(value_curve = heat_rate_curve, fuel_cost = 20.0)FuelCurve:
+ value_curve: PiecewisePointCurve (a type of InputOutputCurve) where function is: piecewise linear y = f(x) connecting points:
+ (x = 100.0, y = 7.0)
+ (x = 200.0, y = 9.0)
+ power_units: UnitSystem.NATURAL_UNITS = 2
+ fuel_cost: 20.0
+ vom_cost: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 0.0 x + 0.0
Finally, define the full operating cost:
julia> cost = ThermalGenerationCost(variable = fuel_curve, fixed = 6.0, start_up = 2000.0, shut_down = 1000.0)ThermalGenerationCost:
+ variable: FuelCurve:
+ value_curve: PiecewisePointCurve (a type of InputOutputCurve) where function is: piecewise linear y = f(x) connecting points:
+ (x = 100.0, y = 7.0)
+ (x = 200.0, y = 9.0)
+ power_units: UnitSystem.NATURAL_UNITS = 2
+ fuel_cost: 20.0
+ vom_cost: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 0.0 x + 0.0
+ fixed: 6.0
+ start_up: 2000.0
+ shut_down: 1000.0
This OperationalCost can be used when defining a component or added to an existing component using set_operation_cost!.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/how_to/add_new_types/index.html b/dev/how_to/add_new_types/index.html
new file mode 100644
index 0000000000..d6f2de4b89
--- /dev/null
+++ b/dev/how_to/add_new_types/index.html
@@ -0,0 +1,39 @@
+
+...add a new Type · PowerSystems.jl
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.
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.
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.
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.
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).
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:
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.
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.
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.
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.
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.
In order to merge new structs to the code base, your struct needs to pass several tests.
addition to System
retrieval from System
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)
+
+# add your component to the system
+add_component!(sys, device)
+retrived_device = get_component(NewType, sys, "component_name")
+
+# Serialize
+to_json(sys, "sys.json")
+
+# Re-create the system and find your component.
+sys2 = System("sys.json")
+serialized_device = get_component(NewType, sys, "component_name")
+
+@test get_name(retrieved_device) == get_name(serialized_device)
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/how_to/add_ts_from_csvs/index.html b/dev/how_to/add_ts_from_csvs/index.html
new file mode 100644
index 0000000000..71e0b7b817
--- /dev/null
+++ b/dev/how_to/add_ts_from_csvs/index.html
@@ -0,0 +1,164 @@
+
+...add time series data from CSVs · PowerSystems.jl
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
+[ 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: 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 5: [1000.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"
+[ Info: Reading bus data
+[ Info: Reading Load data in PowerModels dict to populate System ...
+[ Info: Reading LoadZones data in PowerModels dict to populate System ...
+[ Info: Reading generator data
+[ Info: Reading branch data
+[ Info: Reading shunt data
+[ Info: Reading DC Line data
+[ Info: Reading storage data
+System
+┌───────────────────┬─────────────┐
+│ Property │ Value │
+├───────────────────┼─────────────┤
+│ Name │ │
+│ Description │ │
+│ System Units Base │ SYSTEM_BASE │
+│ Base Power │ 100.0 │
+│ Base Frequency │ 60.0 │
+│ Num Components │ 30 │
+└───────────────────┴─────────────┘
+
+Static Components
+┌──────────────────────────┬───────┐
+│ Type │ Count │
+├──────────────────────────┼───────┤
+│ ACBus │ 5 │
+│ Arc │ 6 │
+│ Area │ 1 │
+│ Line │ 5 │
+│ LoadZone │ 1 │
+│ PhaseShiftingTransformer │ 2 │
+│ PowerLoad │ 3 │
+│ RenewableDispatch │ 2 │
+│ ThermalStandard │ 5 │
+└──────────────────────────┴───────┘
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.
All PowerSystems.jl components have an ext field that contains an empty Dictionary. This Dictionary is useful to contain additional required data where there is no need to create new behaviors with that data. A simple example is the addition of geographic information, if needed.
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.
Add an entry to the array of parameters for your category in src/descriptors/power_system_inputs.json according to the following:
Use snake_case for the name field.
The fields name and description are required.
Try to use a name that is generic and not specific to one dataset.
It is recommended that you define unit.
If PowerSystems expects the value to be per-unit then you must specify system_per_unit=true.
PowerSystems has two commonly-used datasets with customized user config files: PowerSystemsTestData and RTS_GMLC. Update both of these files and submit pull requests.
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.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/how_to/get_available_generators/index.html b/dev/how_to/get_available_generators/index.html
new file mode 100644
index 0000000000..1dd4e5b02a
--- /dev/null
+++ b/dev/how_to/get_available_generators/index.html
@@ -0,0 +1,30 @@
+
+...get the available generators in a system · PowerSystems.jl
The iterator avoids unnecessary memory allocations if there are many generators, and it can be used to view or update the generator data, such as seeing each of the names:
Above, we use the abstract supertype Generator to get all components that are subtypes of it. You can instead get all the components of a concrete type, such as:
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/how_to/get_buses/index.html b/dev/how_to/get_buses/index.html
new file mode 100644
index 0000000000..5cd22a014b
--- /dev/null
+++ b/dev/how_to/get_buses/index.html
@@ -0,0 +1,62 @@
+
+...get all the buses in a system · PowerSystems.jl
The iterator avoids unnecessary memory allocations if there are many buses, and it can be used to view or update the bus data. For example, we can set the base voltage of all buses to 330 kV:
julia> for b in bus_iter
+ set_base_voltage!(b, 330.0)
+ end
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/how_to/improve_ts_performance/index.html b/dev/how_to/improve_ts_performance/index.html
new file mode 100644
index 0000000000..61479b8ea1
--- /dev/null
+++ b/dev/how_to/improve_ts_performance/index.html
@@ -0,0 +1,46 @@
+
+...improve performance with time series data · PowerSystems.jl
Use the steps here to improve performance with small or large data sets, but particularly large data sets. These improvements can help handle adding large numbers of data sets or reduce overhead when accessing time series data multiple times.
By default, time series data is stored in an HDF5 file in the tmp file system to prevent large datasets from overwhelming system memory. However, you can change its location.
Small data sets
If your dataset will fit in your computer's memory, then you can increase performance by storing it in memory:
sys = System(100.0; time_series_in_memory = true)
Large data sets
If the system's time series data will be larger than the amount of tmp space available, use the time_series_directory parameter to change its location.
You can also override the location by setting the environment variable SIENNA_TIME_SERIES_DIRECTORY to another directory.
HDF5 compression is not enabled by default, but you can enable it with enable_compression to get significant storage savings at the cost of CPU time. CompressionSettings can be used to customize the HDF5 compression.
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. 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.
resolution = Dates.Hour(1)
+data = Dict(
+ DateTime("2020-01-01T00:00:00") => ones(24),
+ DateTime("2020-01-01T01:00:00") => ones(24),
+)
+# Define a Deterministic for the first attribute
+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)
+# Reuse time series for second attribute
+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)
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!. All arrays will be written with one file handle. The bulk SQLite operations are much more efficient. As a fallback option, use open_time_series_store! if timeseries must be added one at a time.
# Assumes `read_time_series` will return data appropriate for Deterministic forecasts
+# based on the generator name and the filenames match the component and time series names.
+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)
+)
+bulk_add_time_series!(sys, associations)
Each retrieval of a forecast window from the HDF5 file will involve a small disk read. In the case of production cost modeling or other analyses that access forecast windows repeatedly, this can slow down processes significantly, especially if the underlying storage uses spinning disks.
PowerSystems provides an alternate interface – the forecast cache – that pre-fetches data into the system memory with large reads in order to mitigate this potential problem. It is highly recommended that you use this interface for modeling implementations. This is particularly relevant for models using large datasets. For example:
cache = ForecastCache(Deterministic, component, "max_active_power")
+ window1 = get_next_time_series_array!(cache)
+ window2 = get_next_time_series_array!(cache)
+ # or
+ for window in cache
+ @show window
+ end
Each iteration of on the cache object will deliver the next forecast window (see get_next_time_series_array!).
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
If not, go back to check the Julia installation steps.
Step 3: Install the latest stable release of PowerSystems.jl using the Julia package manager with:
] add PowerSystems
Once you type ], you will see the prompt change color as it activates the Julia package manager. This command may take a few minutes to download the packages and compile them.
Press the delete or backspace key to return to the REPL.
Install is complete!
Alternate
To use the current development version instead, "checkout" the main branch of this package with:
] add PowerSystems#main
Note
PowerSystems.jl uses InfrastructureSystems.jl as a utility library. Many methods are re-exported from InfrastructureSystems.jl. For most users there is no need to import InfrastructureSystems.jl.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/how_to/market_bid_cost/index.html b/dev/how_to/market_bid_cost/index.html
new file mode 100644
index 0000000000..84a2b7e676
--- /dev/null
+++ b/dev/how_to/market_bid_cost/index.html
@@ -0,0 +1,112 @@
+
+...add a market bid · PowerSystems.jl
A 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.
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.
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.
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
This guide outlines the code updates required to upgrade from PowerSystems.jl version 3.0 to 4.0, which was released in June 2024 and includes breaking changes. These are:
EnergyReservoirStorage is now the default battery and energy storage model, replacing GenericBattery.
There are also changes to the data fields compared to GenericBattery to improve clarity and modeling flexibility.
New data fields:
storage_capacity for the maximum storage capacity (can be in units of, e.g., MWh for batteries or liters for hydrogen)
Example: 10000.0 for 10,000 liters hydrogen
storage_level_limits for the minimum and maximum allowable storage levels on [0, 1], which can be used to model derates or other restrictions, such as state-of-charge restrictions on battery cycling
Example: Minimum of 0.2 and maximum of 1.0 to restrict the storage from dropping below 20% capacity to keep some reserve margin available at all times
initial_storage_capacity_level for the initial storage capacity level as a ratio [0, 1.0] of storage_capacity
Example: 0.5 to start the storage at 50% full
conversion_factor is the (optional) conversion factor of storage_capacity to MWh, if different than 1.0 (i.e., no conversion is needed if the storage_capacity is in MWh)
The horizon for a forecast has changed from a count of time steps (as an Int) to a duration, as a Dates.Period
Example day-ahead forecast: A forecast with hourly resolution for the next 24 hours, with a new forecast available every 24 hours (i.e., 24-hour interval)
The horizon is now Dates.Hour(24) or Dates.Day(1)
Previously in version 3.0, the horizon would have been 24 for the 24 1-hour time-steps in each forecast
Example hour-ahead forecast: A forecast with 5-minute resolution for the next 1 hour, with a new forecast available every hour (i.e., 1-hour interval)
The horizon is now Dates.Hour(1)
Previously in version 3.0, the horizon would have been 12 for the 12 5-minute time-steps in each forecast
The HybridSystem is currently not supported in the rest of the Sienna ecosystem, such as PowerSimulations.jl. To use HybridSystem in simulation, revert to version 3.0. There are plans to update HybridSystem for version 4.0, but they have not been completed.
In addition, HybridSystem has a new required parameter: interconnection_efficiency
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/modeler_guide/parsing/index.html b/dev/how_to/parsing/index.html
similarity index 57%
rename from dev/modeler_guide/parsing/index.html
rename to dev/how_to/parsing/index.html
index 076ecb7bf1..0bfa45e442 100644
--- a/dev/modeler_guide/parsing/index.html
+++ b/dev/how_to/parsing/index.html
@@ -1,5 +1,5 @@
-Parsing Data · PowerSystems.jl
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
+...parse data from Matpower, PSSE, or CSV files · PowerSystems.jl
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
@@ -211,7 +211,7 @@
│ 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.
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.
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.
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.
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.
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.
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.
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 SIENNATIMESERIES_DIRECTORY to another directory.
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.
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.
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.
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.
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.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
+sys = System(data, time_series_in_memory = true)
Examples configuration files can be found in the RTS-GMLC repo:
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.
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.
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.
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.
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.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/tutorials/powersystembuilder/index.html b/dev/how_to/powersystembuilder/index.html
similarity index 67%
rename from dev/tutorials/powersystembuilder/index.html
rename to dev/how_to/powersystembuilder/index.html
index 81dd22d9ec..384f7d9fd5 100644
--- a/dev/tutorials/powersystembuilder/index.html
+++ b/dev/how_to/powersystembuilder/index.html
@@ -1,5 +1,5 @@
-PowerSystemCaseBuilder · PowerSystems.jl
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.
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.
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
+[ 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: 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 5: [1000.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"
+[ Info: Reading bus data
+[ Info: Reading Load data in PowerModels dict to populate System ...
+[ Info: Reading LoadZones data in PowerModels dict to populate System ...
+[ Info: Reading generator data
+[ Info: Reading branch data
+[ Info: Reading shunt data
+[ Info: Reading DC Line data
+[ Info: Reading storage data
+System
+┌───────────────────┬─────────────┐
+│ Property │ Value │
+├───────────────────┼─────────────┤
+│ Name │ │
+│ Description │ │
+│ System Units Base │ SYSTEM_BASE │
+│ Base Power │ 100.0 │
+│ Base Frequency │ 60.0 │
+│ Num Components │ 30 │
+└───────────────────┴─────────────┘
+
+Static Components
+┌──────────────────────────┬───────┐
+│ Type │ Count │
+├──────────────────────────┼───────┤
+│ ACBus │ 5 │
+│ Arc │ 6 │
+│ Area │ 1 │
+│ Line │ 5 │
+│ LoadZone │ 1 │
+│ PhaseShiftingTransformer │ 2 │
+│ PowerLoad │ 3 │
+│ RenewableDispatch │ 2 │
+│ ThermalStandard │ 5 │
+└──────────────────────────┴───────┘
julia> folder = mktempdir(); julia> path = joinpath(folder, "system.json")"/tmp/jl_GCmSKu/system.json" julia> println("Serializing to $path")Serializing to /tmp/jl_GCmSKu/system.json julia> to_json(sys, path)[ Info: Serialized System to /tmp/jl_GCmSKu/system.json
+[ Info: Serialized System metadata to /tmp/jl_GCmSKu/system_metadata.json
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.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
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:
It facilitates the development and open sharing of large data sets for Power Systems modeling
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.
@article{LARA2021100747,
-title = {PowerSystems.jl — A power system data management package for large scale modeling},
-journal = {SoftwareX},
-volume = {15},
-pages = {100747},
-year = {2021},
-issn = {2352-7110},
-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).
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
PowerSystems.jl upgraded to version 4.0 in June 2024, which included breaking changes. Visit the v4.0 migration guide for information on how to update your existing code.
Under Construction
The PowerSystems.jl is being actively being rewritten for version 4.0 using the new format described in How To Use This Documentation. Your patience is appreciated as we make this change! For now, some documentation is not located in its final home. Please reach out with questions and suggestions.
PowerSystems.jl is part of the National Renewable Energy Laboratory's Sienna ecosystem, an open source framework for scheduling problems and dynamic simulations for power systems. The Sienna ecosystem can be found on github. It contains three applications:
Sienna\Data enables efficient data input, analysis, and transformation
Sienna\Ops enables enables system scheduling simulations by formulating and solving optimization problems
Sienna\Dyn enables system transient analysis including small signal stability and full system dynamic simulations
Each application uses multiple packages in the Julia programming language.
PowerSystems.jl is the foundation of Sienna\Data, and it is used with all three applications. It 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:
It facilitates the development and open sharing of large data sets for Power Systems modeling
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.
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
-[ 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: 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 5: [1000.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"
-[ Info: Reading bus data
-[ Info: Reading Load data in PowerModels dict to populate System ...
-[ Info: Reading LoadZones data in PowerModels dict to populate System ...
-[ Info: Reading generator data
-[ Info: Reading branch data
-[ Info: Reading shunt data
-[ Info: Reading DC Line data
-[ Info: Reading storage data
-System
-┌───────────────────┬─────────────┐
-│ Property │ Value │
-├───────────────────┼─────────────┤
-│ Name │ │
-│ Description │ │
-│ System Units Base │ SYSTEM_BASE │
-│ Base Power │ 100.0 │
-│ Base Frequency │ 60.0 │
-│ Num Components │ 30 │
-└───────────────────┴─────────────┘
-
-Static Components
-┌──────────────────────────┬───────┐
-│ 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")ThermalStandard: Alta:
- name: Alta
- available: true
- status: true
- 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: ThermalGenerationCost composed of variable: CostCurve{QuadraticCurve}
- base_power: 100.0
- time_limits: nothing
- must_run: false
- prime_mover_type: PrimeMovers.CT = 8
- fuel: ThermalFuels.NATURAL_GAS = 7
- services: 0-element Vector{Service}
- time_at_status: 10000.0
- dynamic_injector: nothing
- ext: Dict{String, Any}("my_data" => 1.0)
- InfrastructureSystems.SystemUnitsSettings:
- base_value: 100.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
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
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.
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.
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.
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.
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).
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:
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.
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.
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.
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.
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/
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
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.
Add an entry to the array of parameters for your category in src/descriptors/power_system_inputs.json according to the following:
Use snake_case for the name field.
The fields name and description are required.
Try to use a name that is generic and not specific to one dataset.
It is recommended that you define unit.
If PowerSystems expects the value to be per-unit then you must specify system_per_unit=true.
PowerSystems has two commonly-used datasets with customized user config files: PowerSystemsTestData and RTS_GMLC. Update both of these files and submit pull requests.
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.
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 MW and can be specified with power_units.
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 MW and can be specified with power_units.
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 MW and can be specified with power_units.
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 MW and can be specified with power_units.
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 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
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
+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
mutable struct DynamicInverter{
C <: Converter,
O <: OuterControl,
IC <: InnerControl,
@@ -21,4 +21,4 @@
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 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.
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
+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.
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) 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
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 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
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 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
Vf: Voltage field,
Vr1: Amplifier State,
Vr2: Stabilizing Feedback State,
-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 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
Vf: Voltage field,
Vr1: First Lead-Lag state,
Vr2: Second lead-lag state,
-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 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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)
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,
+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)
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.
states::Vector{Symbol}: (Do not modify.) The states are:
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)
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,
+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)
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.
states::Vector{Symbol}: (Do not modify.) The states are:
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,
+end
Excitation System AC8B. Used to represent the Basler Digital Excitation Control System (DECS) with PID controller in PSSE.
Arguments
Tr::Float64: Regulator input filter time constant in s, validation range: (0, nothing)
Kp::Float64: Regulator proportional PID gain, validation range: (0, nothing)
Ki::Float64: Regulator integral PID gain, validation range: (0, nothing)
Kd::Float64: Regulator derivative PID gain, validation range: (0, nothing)
Td::Float64: Regulator derivative PID time constant., validation range: (0, 10)
Ka::Float64: Regulator output gain, validation range: (0, 1000)
Ta::Float64: Regulator output lag time constant in s, validation range: (0, 10)
Vr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)
Te::Float64: Exciter field time constant, validation range: (eps(), 2)
Ke::Float64: Exciter field proportional constant, validation range: (0, 2)
E_sat::Tuple{Float64, Float64}: Exciter output voltage for saturation factor: (E1, E2)
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.
states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed terminal voltage,
x_i: Internal PI-block state,
x_d: Internal Derivative-block state,
Vr: Voltage regulator state,
-Efd: Exciter output state
n_states::Int: (Do not modify.) ESAC8B has 5 states
states_types::Vector{StateTypes}: (Do not modify.) ESAC8B has 5 states
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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)
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,
+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)
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.
states::Vector{Symbol}: (Do not modify.) The states are:
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)
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,
+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)
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.
states::Vector{Symbol}: (Do not modify.) The states are:
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)
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
Vm: Sensed terminal voltage,
Vr1: First Lead-lag state,
Vr2: Second lead-lag state,
Va: Regulator output state,
-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
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)
θ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,
+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)
θ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.
states::Vector{Symbol}: (Do not modify.) The states are:
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)
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,
+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)
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.
states::Vector{Symbol}: (Do not modify.) The states are:
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)
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,
+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)
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.
states::Vector{Symbol}: (Do not modify.) The states are:
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)
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,
+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)
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.
states::Vector{Symbol}: (Do not modify.) The states are:
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,
+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)
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.
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: (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
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,
+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)
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.
states::Vector{Symbol}: (Do not modify.) The states are:
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)
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 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
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 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are: 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 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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 ST6B Excitacion System. ST6B in PSSE and PSLF
Arguments
OEL_Flag::Int: OEL Flag for ST6B: 1: before HV gate, 2: after HV gate, validation range: (0, 2)
Tr::Float64: Regulator input filter time constant in s, validation range: (0, nothing)
K_pa::Float64: Regulator proportional gain, validation range: (0, nothing)
K_ia::Float64: Regulator integral gain, validation range: (0, nothing)
K_da::Float64: Regulator derivative gain, validation range: (0, nothing)
T_da::Float64: Voltage regulator derivative channel time constant in s, 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,
+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 ST6B Excitacion System. ST6B in PSSE and PSLF
Arguments
OEL_Flag::Int: OEL Flag for ST6B: 1: before HV gate, 2: after HV gate, validation range: (0, 2)
Tr::Float64: Regulator input filter time constant in s, validation range: (0, nothing)
K_pa::Float64: Regulator proportional gain, validation range: (0, nothing)
K_ia::Float64: Regulator integral gain, validation range: (0, nothing)
K_da::Float64: Regulator derivative gain, validation range: (0, nothing)
T_da::Float64: Voltage regulator derivative channel time constant in s, validation range: (0, nothing)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
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
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
+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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
states::Vector{Symbol}: (Do not modify.) AverageConverter has no states
n_states::Int: (Do not modify.) AverageConverter has no states
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
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.
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
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)
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
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)
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.
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
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
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
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:
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.
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: (Do not modify.) ZeroOrderBESS has 4 states
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)) OperationalCost 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
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
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. Options are listed here
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, validation range: (0, nothing)
operation_cost::StorageCost: (default: StorageCost(nothing)) OperationalCost 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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states 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
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,
+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.
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: (Do not modify.) LCLFilter has 6 states
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
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
+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.
states::Vector{Symbol}: (Do not modify.) RLFilter has zero states
n_states::Int: (Do not modify.) RLFilter has zero states
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
states::Vector{Symbol}: (Do not modify.) FixedFrequency has no states
n_states::Int: (Do not modify.) FixedFrequency has no states
ω_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),
+end
ω_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.
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: (Do not modify.) KauraPLL has 4 states
ω_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),
+end
ω_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.
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: (Do not modify.) ReducedOrderPLL has 3 states
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)) OperationalCost of generation
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
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, validation range: (0, nothing)
operation_cost::Union{HydroGenerationCost, MarketBidCost}: (default: HydroGenerationCost(nothing)) OperationalCost of generation
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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)) OperationalCost 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
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
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, 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)) OperationalCost 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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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)
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
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
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, 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)
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
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
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
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.
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
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,
+end
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.
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: (Do not modify.) VoltageModeControl has 6 states
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
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
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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}: OperationalCost of interrupting load
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
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}: OperationalCost of interrupting load
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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. When defining a line before it is attached to a System, rating must be in per-unit divided by the base power of the System it will be attached to
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
+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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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,
+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.
states::Vector{Symbol}: (Do not modify.) The states are:
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
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.
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
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,
+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.
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:
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,
+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.
γd::Float64: (Do not modify.) Internal equation
γq::Float64: (Do not modify.) Internal equation
states::Vector{Symbol}: (Do not modify.) The states are:
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
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.
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
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
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,
+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
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.
γ_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: (Do not modify.) RoundRotorMachine has 4 states
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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,
+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
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.
γ_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: (Do not modify.) SalientPoleMachine has 3 states
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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,
+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)
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.
γ_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: (Do not modify.) SauerPaiMachine has 6 states
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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,
+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.
states::Vector{Symbol}: (Do not modify.) The states are:
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,
+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.
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:
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,
+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.
γd::Float64: (Do not modify.) Internal equation
γq::Float64: (Do not modify.) Internal equation
states::Vector{Symbol}: (Do not modify.) The states are:
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
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. When defining a line before it is attached to a System, rating must be in per-unit divided by the base power of the System it will be attached to
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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)
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)
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
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.
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
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.
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
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.
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)
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}()) 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,
+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
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
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
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.
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
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
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.
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
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
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
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. When defining a transformer before it is attached to a System, rating must be in per-unit divided by the base power of the System it will be attached to, 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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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}: OperationalCost 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
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
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), used in some production cost modeling simulations. To set the reactive power in a load flow, use power_factor
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, used in some production cost model simulations and in power flow if the unit is connected to a PV bus. Set to nothing if not applicable
power_factor::Float64: Power factor [0, 1] set-point, used in some production cost modeling and in load flow if the unit is connected to a PQ bus, validation range: (0, 1)
operation_cost::Union{RenewableGenerationCost, MarketBidCost}: OperationalCost of generation
base_power::Float64: Base power of the unit (MVA) for per unitization, 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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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
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), used in some production cost modeling simulations. To set the reactive power in a load flow, use power_factor
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: Power factor [0, 1] set-point, used in some production cost modeling and in load flow if the unit is connected to a PQ bus, validation range: (0, 1)
base_power::Float64: Base power of the unit (MVA) for per unitization, 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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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)
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states are:
δ: 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: (Do not modify.) FiveMassShaft has 10 states
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
+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.
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
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)
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
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)
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
+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. When defining a transformer before it is attached to a System, rating must be in per-unit divided by the base power of the System it will be attached to, 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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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}: OperationalCost 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
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
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
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}: OperationalCost of generation
base_power::Float64: Base power of the unit (MVA) for per unitization, 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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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}: OperationalCost 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
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
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}: OperationalCost of generation
base_power::Float64: Base power of the unit (MVA) for per unitization, 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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
+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. When defining a transformer before it is attached to a System, rating must be in per-unit divided by the base power of the System it will be attached to, 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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states 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: (Do not modify.) DEGOV has 5 states
states_types::Vector{StateTypes}: (Do not modify.) DEGOV has 5 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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 DEGOV1 model depends on the droop flag
n_states::Int: (Do not modify.) The number of states of the DEGOV1 model depends on the droop flag
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states of the DEGOV1 model depends on the droop flag
n_states::Int: (Do not modify.) The number of states of the DEGOV1 model depends on the droop flag
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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,
+end
Parameters of Gas Turbine-Governor. GAST in PSSE and GAST_PTI in PowerWorld
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states of the GAST model are:
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)
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,
+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)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states of the GGOV1 model are:
Pe: Machine Electrical Power Measurement,
x_g1: Governor differential control,
x_g2: Governor integral control,
x_g3: Turbine actuator,
@@ -179,90 +179,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: (Do not modify.) GeneralGovModel has 10 states
states_types::Vector{StateTypes}: (Do not modify.) GGOV1 has 10 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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:
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states of the HydroTurbineGov model are:
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,
+end
IEEE Type 1 Speed-Governing Model
Arguments
K::Float64: Governor Gain, validation range: (5, 30)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states 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: (Do not modify.) IEEEG1 has 6 states
states_types::Vector{StateTypes}: (Do not modify.) IEEEG1 has 6 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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 PIDGOV model are:
x_g1: Filtered input measurement,
+end
Hydro Turbine-Governor with PID controller.
Arguments
feedback_flag::Int: Feedback signal for governor droop: 0 for electrical power, and 1 for gate position., 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.
states::Vector{Symbol}: (Do not modify.) The states of the PIDGOV model are:
x_g1: Filtered input measurement,
x_g2: PI block internal state,
x_g3: First regulator state,
x_g4: Derivative block internal state,
x_g5: Second regulator state,
x_g6: Gate position state,
-x_g7: Water inertia state
n_states::Int: (Do not modify.) PIDGOV has 7 states
states_types::Vector{StateTypes}: (Do not modify.) PIDGOV has 7 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states 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 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) TGFixed has no states
n_states::Int: (Do not modify.) TGFixed has no states
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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:
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states of the TGTypeI model are:
x_g1: Governor state,
x_g2: Servo state,
-x_g3: Reheat state
n_states::Int: (Do not modify.) TGTypeI has 3 states
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states 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
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 PIDGOV model are:
x_g1: Filtered input measurement,
+end
Woodward PID Hydro Governor
Arguments
T_reg::Float64: Input time constant of the governor in s, validation range: (0, nothing)
reg::Float64: Input governor gain, validation range: (0, nothing)
Kp::Float64: Governor proportional gain, validation range: (0, nothing)
Ki::Float64: Governor integral gain, validation range: (0, nothing)
Kd::Float64: Governor derivative gain, validation range: (0, nothing)
Ta::Float64: Governor derivative/high-frequency time constant, validation range: (0, nothing)
Tb::Float64: Gate-servo time constant, validation range: (0, nothing)
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states of the PIDGOV model are:
x_g1: Filtered input measurement,
x_g2: PI block internal state,
x_g3: First regulator state,
x_g4: Derivative block internal state,
x_g5: Second regulator state,
x_g6: Gate position state,
-x_g7: Water inertia state
n_states::Int: (Do not modify.) PIDGOV has 7 states
states_types::Vector{StateTypes}: (Do not modify.) PIDGOV has 7 differentialstates
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
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
An operational cost of a hydropower generator 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.
The variable cost is a required parameter, but zero(CostCurve) can be used to set it to 0.
An operational cost of a hydropower generator 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.
The variable cost is a required parameter, but zero(CostCurve) can be used to set it to 0.
no_load_cost::Union{Float64, TimeSeriesKey}: No load cost
start_up::Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesKey}: Start-up cost at different stages of the thermal cycle as the unit cools after a shutdown (e.g., hot, warm, or cold starts). Warm is also referred to as intermediate in some markets. Can also accept a single value if there is only one start-up cost
shut_down::Float64: Shut-down cost
incremental_offer_curves::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}: Sell Offer Curves data, which can be a time series or a CostCurve using PiecewiseIncrementalCurve
decremental_offer_curves::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}: Buy Offer Curves data, can be a time series or a CostCurve using PiecewiseIncrementalCurve
ancillary_service_offers::Vector{Service}: Bids for the ancillary services
no_load_cost::Union{Float64, TimeSeriesKey}: No load cost
start_up::Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesKey}: Start-up cost at different stages of the thermal cycle as the unit cools after a shutdown (e.g., hot, warm, or cold starts). Warm is also referred to as intermediate in some markets. Can also accept a single value if there is only one start-up cost
shut_down::Float64: Shut-down cost
incremental_offer_curves::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}: Sell Offer Curves data, which can be a time series or a CostCurve using PiecewiseIncrementalCurve
decremental_offer_curves::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}: Buy Offer Curves data, can be a time series or a CostCurve using PiecewiseIncrementalCurve
ancillary_service_offers::Vector{Service}: Bids for the ancillary services
An operating cost for market bids of energy and ancilliary services for any asset. Compatible with most US Market bidding mechanisms that support demand and generation side.
An operating cost for market bids of energy and ancilliary services for any asset. Compatible with most US Market bidding mechanisms that support demand and generation side.
Make a CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in a MarketBidCost from the FunctionData that might be used to store such a cost curve in a time series.
Make a CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in a MarketBidCost from the FunctionData that might be used to store such a cost curve in a time series.
Make a CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in a MarketBidCost from a vector of power values, a vector of marginal costs, and an optional units system. The minimum power, and cost at minimum power, are not represented.
Make a CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in a MarketBidCost from a vector of power values, a vector of marginal costs, and an optional units system. The minimum power, and cost at minimum power, are not represented.
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
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states 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
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
ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
states::Vector{Symbol}: (Do not modify.) The states of the ReactivePowerDroop model are:
q_oc: Filtered reactive output power
n_states::Int: (Do not modify.) ReactivePowerDroop has 1 state
An operational cost of renewable generators 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.
The variable cost is a required parameter, but zero(CostCurve) can be used to set it to 0.
An operational cost of renewable generators 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.
The variable cost is a required parameter, but zero(CostCurve) can be used to set it to 0.
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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
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.
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
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
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
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.
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
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.
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.
internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
An operational cost for storage units including fixed costs and variable costs to charge or discharge.
This data structure is not intended to represent market storage systems market operations like the submission of buy/sell bids – see MarketBidCost instead.
An operational cost for storage units including fixed costs and variable costs to charge or discharge.
This data structure is not intended to represent market storage systems market operations like the submission of buy/sell bids – see MarketBidCost instead.
Operating cost data typically includes both fixed and variable costs. See the how-to on Adding an Operating Cost for a demonstration of defining an operating cost.
In PowerSystems.jl, the variable portion of the operating cost can be represented as linear, quadratic, or piecewise input-output curves; potentially piecewise marginal heat rates; average heat rates; and more, as best fits the input data. This is done by constructing various subtypes of ValueCurve.
This summary table shows each way to construct a ValueCurve with the user-friendly subtype aliases. The ValueCurves make no assumption about units; the example interpretation given here assumes that the variable cost ValueCurve will be wrapped in a CostCurve with natural units. Note that all four Piecewise options here fundamentally represent the same curve. More information and explanatory plots are provided for each subtype alias in the subheadings below.
Description
Example
Example interpretation
Linear input-output curve with zero no-load cost (constant average rate)
LinearCurve(5.0)
$5/MWh
Linear input-output curve with potentially nonzero no-load cost (constant marginal rate)
LinearCurve(5.0, 15.0)
$5/MWh + $15/hr
Quadratic input-output curve with potentially nonzero no-load cost
QuadraticCurve(1.0, 1.0, 18.0)
$C(P) = 1 P^2 + 1 P + 18$ where $C$ is $/hr, $P$ is MW
Piecewise linear curve specified by cost values at production points
Specify the cost $C_1$ at the least production point given (NOT the cost at zero production), a vector of $K$ production points $P_1, \dots, P_k$, and a vector of $K-1$ marginal rates $M_1, \dots, M_{k-1}$, that represent the slopes of the curve segments between the points. $C_1$ may be nothing, which results in a not-fully-defined curve. The no-load cost $C_0$ can optionally be specified as a first argument; it is not part of the representation of the curve, just another piece of data that may be stored:
Specify the cost $C_1$ at the least production point given (NOT the cost at zero production), a vector of $K$ production points $P_1, \dots, P_k$, and a vector of $K-1$ average rates $R_1, \dots, R_{k-1}$ at the $K-1$ latter production points:
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
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.
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:
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:
EnumName
Description
BA
Energy Storage, Battery
BT
Turbines Used in a Binary Cycle (including those used for geothermal applications)
CA
Combined-Cycle – Steam Part
CC
Combined-Cycle - Aggregated Plant *augmentation of EIA
CE
Energy Storage, Compressed Air
CP
Energy Storage, Concentrated Solar Power
CS
Combined-Cycle Single-Shaft Combustion turbine and steam turbine share a single generator
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: 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.
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.
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.
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.
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).
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.
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.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
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.
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.
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.
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
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
Make the data set from power flow and time series data,
Serialize the data,
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/afb608473cf4d5eb22147856de1a1a651f36d40b/PowerSystemsTestData-3.1/psy_data/data_5bus_pu.jl"
-[ Info: Serialized time series data to /home/runner/.julia/packages/PowerSystemCaseBuilder/yS5id/data/serialized_system/614e094ea985a55912fc1321256a49b755f9fc451c0f264f24d6d04af20e84d7/c_sys5_pjm_time_series_storage.h5.
-[ Info: Serialized System to /home/runner/.julia/packages/PowerSystemCaseBuilder/yS5id/data/serialized_system/614e094ea985a55912fc1321256a49b755f9fc451c0f264f24d6d04af20e84d7/c_sys5_pjm.json
-[ Info: Serialized System metadata to /home/runner/.julia/packages/PowerSystemCaseBuilder/yS5id/data/serialized_system/614e094ea985a55912fc1321256a49b755f9fc451c0f264f24d6d04af20e84d7/c_sys5_pjm_metadata.json
-System
-┌───────────────────┬─────────────┐
-│ Property │ Value │
-├───────────────────┼─────────────┤
-│ Name │ │
-│ Description │ │
-│ System Units Base │ SYSTEM_BASE │
-│ Base Power │ 100.0 │
-│ Base Frequency │ 60.0 │
-│ Num Components │ 27 │
-└───────────────────┴─────────────┘
-
-Static Components
-┌───────────────────┬───────┐
-│ Type │ Count │
-├───────────────────┼───────┤
-│ ACBus │ 5 │
-│ Arc │ 6 │
-│ Line │ 6 │
-│ PowerLoad │ 3 │
-│ RenewableDispatch │ 2 │
-│ ThermalStandard │ 5 │
-└───────────────────┴───────┘
-
-Time Series Summary
-┌───────────────────┬────────────────┬──────────────────┬───────────────────────
-│ 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))
- @variable(ed_m, pg[g in thermal_gens_names, t in time_periods] >= 0)
-
- for g in get_components(ThermalStandard, system), t in time_periods
- name = get_name(g)
- @constraint(ed_m, pg[name, t] >= get_active_power_limits(g).min)
- @constraint(ed_m, pg[name, t] <= get_active_power_limits(g).max)
- end
-
- net_load = zeros(length(time_periods))
- for g in get_components(RenewableGen, system)
- net_load -= get_time_series_values(SingleTimeSeries, g, "max_active_power")[time_periods]
- end
-
- for g in get_components(StaticLoad, system)
- net_load += get_time_series_values(SingleTimeSeries, g, "max_active_power")[time_periods]
- end
-
- for t in time_periods
- @constraint(ed_m, sum(pg[g, t] for g in thermal_gens_names) == net_load[t])
- end
-
- @objective(ed_m, Min, sum(
- pg[get_name(g), t]^2*get_cost(get_variable(get_operation_cost(g)))[1] +
- pg[get_name(g), t]*get_cost(get_variable(get_operation_cost(g)))[2]
- for g in get_components(ThermalGen, system), t in time_periods
- )
- )
- optimize!(ed_m)
- return ed_m
- ended_model (generic function with 1 method) julia> results = ed_model(system_data, Ipopt.Optimizer)ERROR: UndefVarError: `get_cost` not defined
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/modeler_guide/time_series/index.html b/dev/modeler_guide/time_series/index.html
deleted file mode 100644
index a9e6834517..0000000000
--- a/dev/modeler_guide/time_series/index.html
+++ /dev/null
@@ -1,102 +0,0 @@
-
-Time Series Data · PowerSystems.jl
The bulk of the data in many power system models is time series data. Given the potential complexity, PowerSystems.jl has a set of definitions to organize this data and enable consistent modeling.
PowerSystems.jl supports two categories of time series data depending on the process to obtain the data and its interpretation:
A static time series data is a single column of data where each time period has a single value assigned to a component field, such as its maximum active power. This data commonly is obtained from historical information or the realization of a time-varying quantity.
Static time series usually comes in the following format, with a set resolution between the time-stamps:
DateTime
Value
2020-09-01T00:00:00
100.0
2020-09-01T01:00:00
101.0
2020-09-01T02:00:00
99.0
This example is a 1-hour resolution static time-series.
In PowerSystems, a static time series is represented using SingleTimeSeries.
A forecast time series includes predicted values of a time-varying quantity that commonly includes a look-ahead window 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, where a column represents the time stamp associated with the initial time of the forecast, and the remaining columns represent the forecasted values at each step in the forecast horizon.
DateTime
0
1
2
3
4
5
6
7
2020-09-01T00:00:00
100.0
101.0
101.3
90.0
98.0
87.0
88.0
67.0
2020-09-01T01:00:00
101.0
101.3
99.0
98.0
88.9
88.3
67.1
89.4
2020-09-01T02:00:00
99.0
67.0
89.0
99.9
100.0
101.0
112.0
101.3
This example forecast has a interval of 1 hour and a horizon of 8.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
It is highly recommended that you use this interface for modeling implementations. This is particularly relevant for models using large datasets.
cache = ForecastCache(Deterministic, component, "max_active_power")
- window1 = get_next_time_series_array(cache)
- window2 = get_next_time_series_array(cache)
-
- # or
-
- for window in cache
- @show window
- end
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.
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.
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.
Here's an example:
# Create static time series data.
- resolution = Dates.Hour(1)
- dates = range(DateTime("2020-01-01T00:00:00"), step = resolution, length = 8760)
- data = TimeArray(dates, ones(8760))
- ts = SingleTimeSeries("max_active_power", data)
- add_time_series!(sys, component, ts)
-
- # Transform it to Deterministic
- 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.
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).
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.
⠀
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
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:
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
-[ Info: Correcting vm in bus 102 to 1.0467 to match generator set-point
-[ Info: Correcting vm in bus 107 to 1.05 to match generator set-point
-[ Info: Correcting vm in bus 113 to 1.0347 to match generator set-point
-[ Info: Correcting vm in bus 115 to 1.0428 to match generator set-point
-[ Info: Correcting vm in bus 116 to 1.0461 to match generator set-point
-[ Info: Correcting vm in bus 201 to 1.05 to match generator set-point
-[ Info: Correcting vm in bus 202 to 1.05 to match generator set-point
-[ Info: Correcting vm in bus 207 to 0.9699 to match generator set-point
-[ Info: Correcting vm in bus 213 to 1.05 to match generator set-point
-[ Info: Correcting vm in bus 215 to 1.0437 to match generator set-point
-[ Info: Correcting vm in bus 216 to 1.0473 to match generator set-point
-[ Info: Correcting vm in bus 301 to 1.05 to match generator set-point
-[ Info: Correcting vm in bus 302 to 1.05 to match generator set-point
-[ Info: Correcting vm in bus 307 to 0.9568 to match generator set-point
-[ Info: Correcting vm in bus 313 to 1.0 to match generator set-point
-[ Info: Correcting vm in bus 315 to 1.0422 to match generator set-point
-[ Info: Correcting vm in bus 316 to 1.0449 to match generator set-point
-[ Info: Correcting vm in bus 114 to 1.0441 to match generator set-point
-[ Info: Correcting vm in bus 214 to 1.05 to match generator set-point
-[ Info: Correcting vm in bus 314 to 1.0 to match generator set-point
-[ Info: Correcting vm in bus 118 to 1.0 to match generator set-point
-[ Info: Correcting vm in bus 122 to 1.0 to match generator set-point
-[ Info: extending matpower format with data: areas 3x3
-[ 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 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 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 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 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 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 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: 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 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 76 does not match the value at bus 122
-[ 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 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 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 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 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 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 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 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"
-[ Info: Reading bus data
-[ 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: 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
-┌───────────────────┬─────────────┐
-│ Property │ Value │
-├───────────────────┼─────────────┤
-│ Name │ │
-│ Description │ │
-│ System Units Base │ SYSTEM_BASE │
-│ Base Power │ 100.0 │
-│ Base Frequency │ 60.0 │
-│ Num Components │ 538 │
-└───────────────────┴─────────────┘
-
-Static Components
-┌──────────────────────┬───────┐
-│ 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
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)
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 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"
-[ Info: Reading bus data
-[ Info: Reading Load data in PowerModels dict to populate System ...
-[ Info: Reading LoadZones data in PowerModels dict to populate System ...
-[ Info: Reading generator data
-[ Info: Reading branch data
-[ Info: Reading shunt data
-[ Info: Reading DC Line data
-[ Info: Reading storage data
-System
-┌───────────────────┬─────────────┐
-│ Property │ Value │
-├───────────────────┼─────────────┤
-│ Name │ │
-│ Description │ │
-│ System Units Base │ SYSTEM_BASE │
-│ Base Power │ 100.0 │
-│ Base Frequency │ 60.0 │
-│ Num Components │ 28 │
-└───────────────────┴─────────────┘
-
-Static Components
-┌──────────────────────────┬───────┐
-│ 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"),
- active_power = 2.0,
- reactive_power = 1.0,
- rating = 1.2,
- prime_mover_type = PrimeMovers.WT,
- reactive_power_limits = (min = 0.0, max = 0.0),
- base_power = 100.0,
- operation_cost = RenewableGenerationCost(CostCurve(LinearCurve(22.0))),
- power_factor = 1.0
- )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
- 0.99
- 1.0
- 0.99
- 0.99
- 0.99
- 0.98
- 0.95
- 0.92
- ⋮
- 0.52
- 0.39
- 0.28
- 0.19
- 0.15
- 0.13
- 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 │
-└─────────────────────┴──────┘
- 9 rows omitted julia> time_series = SingleTimeSeries(name = "active_power", data = time_series_data_raw)
-
- #Add the forecast to the system and componentSingleTimeSeries("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("a3b47eb6-bf00-4507-88c8-12c99045437c"), nothing, nothing, nothing)) julia> add_time_series!(system, new_renewable, time_series)ERROR: UndefVarError: `new_renewable` not defined
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
+Search · PowerSystems.jl
Loading search...
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/search_index.js b/dev/search_index.js
index d01f95b10c..54908e0334 100644
--- a/dev/search_index.js
+++ b/dev/search_index.js
@@ -1,3 +1,3 @@
var documenterSearchIndex = {"docs":
-[{"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/hydro_generation_cost/#HydroGenerationCost","page":"HydroGenerationCost","title":"HydroGenerationCost","text":"","category":"section"},{"location":"model_library/hydro_generation_cost/","page":"HydroGenerationCost","title":"HydroGenerationCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/HydroGenerationCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/hydro_generation_cost/#PowerSystems.HydroGenerationCost","page":"HydroGenerationCost","title":"PowerSystems.HydroGenerationCost","text":"mutable struct HydroGenerationCost <: OperationalCost\n\nvariable::ProductionVariableCostCurve: Production variable cost represented by a FuelCurve, where the fuel is water, or a CostCurve in currency.\nfixed::Float64: (default: 0) Fixed cost of keeping the unit online. For some cost represenations this field can be duplicative\n\nHydroGenerationCost(variable, fixed)\nHydroGenerationCost(; variable, fixed)\n\nAn operational cost of a hydropower generator 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\nThe variable cost is a required parameter, but zero(CostCurve) can be used to set it to 0.\n\n\n\n\n\n","category":"type"},{"location":"model_library/hydro_generation_cost/#PowerSystems.get_fixed-Tuple{HydroGenerationCost}","page":"HydroGenerationCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::HydroGenerationCost) -> Float64\n\n\nGet HydroGenerationCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hydro_generation_cost/#PowerSystems.get_variable-Tuple{HydroGenerationCost}","page":"HydroGenerationCost","title":"PowerSystems.get_variable","text":"get_variable(\n value::HydroGenerationCost\n) -> ProductionVariableCostCurve\n\n\nGet HydroGenerationCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hydro_generation_cost/#PowerSystems.set_fixed!-Tuple{HydroGenerationCost, Any}","page":"HydroGenerationCost","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":"model_library/hydro_generation_cost/#PowerSystems.set_variable!-Tuple{HydroGenerationCost, Any}","page":"HydroGenerationCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::HydroGenerationCost, val) -> Any\n\n\nSet HydroGenerationCost variable.\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":"Modules = [PowerSystems]\nPages = [\"cost_functions/variable_cost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/cost_curves/#PowerSystems.CostCurve","page":"Variable Cost Curves","title":"PowerSystems.CostCurve","text":"struct CostCurve{T<:ValueCurve} <: ProductionVariableCostCurve{T<:ValueCurve}\n\nvalue_curve::ValueCurve: The underlying ValueCurve representation of this ProductionVariableCostCurve\npower_units::UnitSystem: (default: natural units (MW)) The units for the x-axis of the curve\nvom_cost::LinearCurve: (default of 0) Additional proportional Variable Operation and Maintenance Cost in /(power_unit h), represented as a LinearCurve\n\nCostCurve(value_curve, power_units, vom_cost)\nCostCurve(; value_curve, power_units, vom_cost)\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 MW and can be specified with power_units.\n\n\n\n\n\n","category":"type"},{"location":"model_library/cost_curves/#PowerSystems.FuelCurve","page":"Variable Cost Curves","title":"PowerSystems.FuelCurve","text":"struct FuelCurve{T<:ValueCurve} <: ProductionVariableCostCurve{T<:ValueCurve}\n\nvalue_curve::ValueCurve: The underlying ValueCurve representation of this ProductionVariableCostCurve\npower_units::UnitSystem: (default: natural units (MW)) The units for the x-axis of the curve\nfuel_cost::Union{Float64, TimeSeriesKey}: Either a fixed value for fuel cost or the key to a fuel cost time series\nvom_cost::LinearCurve: (default of 0) Additional proportional Variable Operation and Maintenance Cost in /(power_unit h) represented as a LinearCurve\n\nFuelCurve(value_curve, power_units, fuel_cost, vom_cost)\nFuelCurve(value_curve, fuel_cost)\nFuelCurve(value_curve, fuel_cost, vom_cost)\nFuelCurve(value_curve, power_units, fuel_cost)\nFuelCurve(; value_curve, power_units, fuel_cost, vom_cost)\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 MW and can be specified with power_units.\n\n\n\n\n\n","category":"type"},{"location":"model_library/cost_curves/#InfrastructureSystems.is_convex-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"InfrastructureSystems.is_convex","text":"is_convex(cost::ProductionVariableCostCurve) -> Any\n\n\nCalculate the convexity of the underlying data\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_fuel_cost-Tuple{FuelCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_fuel_cost","text":"get_fuel_cost(\n cost::FuelCurve\n) -> Union{Float64, TimeSeriesKey}\n\n\nGet the fuel cost or the name of the fuel cost time series\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_function_data-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_function_data","text":"get_function_data(cost::ProductionVariableCostCurve) -> Any\n\n\nGet the FunctionData representation of this ProductionVariableCostCurve's ValueCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_initial_input-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_initial_input","text":"get_initial_input(\n cost::ProductionVariableCostCurve\n) -> Union{Nothing, Float64}\n\n\nGet the initial_input field of this ProductionVariableCostCurve's ValueCurve (not defined for input-output data)\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_power_units-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_power_units","text":"get_power_units(cost::ProductionVariableCostCurve) -> Any\n\n\nGet the units for the x-axis of the curve\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_value_curve-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_value_curve","text":"get_value_curve(cost::ProductionVariableCostCurve) -> Any\n\n\nGet the underlying ValueCurve representation of this ProductionVariableCostCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_vom_cost-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_vom_cost","text":"get_vom_cost(cost::ProductionVariableCostCurve) -> Any\n\n\nGet the variable operation and maintenance cost in currency/(power_units h)\n\n\n\n\n\n","category":"method"},{"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/#DEGOV1","page":"TurbineGov","title":"DEGOV1","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/DEGOV1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.DEGOV1","page":"TurbineGov","title":"PowerSystems.DEGOV1","text":"mutable struct DEGOV1 <: TurbineGov\n droop_flag::Int\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 T_lim::Tuple{Float64, Float64}\n R::Float64\n Te::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters Woodward Diesel Governor Model. DEGOV1 in PSSE\n\nArguments\n\ndroop_flag::Int: Droop control Flag. 0 for throttle feedback and 1 for electric power feedback, validation range: (0, 1)\nT1::Float64: Governor mechanism time constant in s, validation range: (0, 100)\nT2::Float64: Turbine power time constant in s, validation range: (0, 100)\nT3::Float64: Turbine exhaust temperature time constant in s, validation range: (0, 100)\nK::Float64: Governor gain for actuator, validation range: (0, 100)\nT4::Float64: Governor lead time constant in s, validation range: (0, 100)\nT5::Float64: Governor lag time constant in s, validation range: (0, 100)\nT6::Float64: Actuator time constant in s, validation range: (0, 100)\nTd::Float64: Engine time delay in s, validation range: (0, 100)\nT_lim::Tuple{Float64, Float64}: Operational control limits on actuator (Tmin, Tmax)\nR::Float64: Steady state droop parameter, validation range: (0, 100)\nTe::Float64: Power transducer time constant in s, validation range: (0, 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 DEGOV1 model depends on the droop flag\nn_states::Int: (Do not modify.) The number of states of the DEGOV1 model depends on the droop flag\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{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_K","text":"get_K(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T4-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T4","text":"get_T4(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T5-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T5","text":"get_T5(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T6-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T6","text":"get_T6(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_lim-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T_lim","text":"get_T_lim(value::DEGOV1) -> Tuple{Float64, Float64}\n\n\nGet DEGOV1 T_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Td-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_Td","text":"get_Td(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Te-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_Te","text":"get_Te(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_droop_flag-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_droop_flag","text":"get_droop_flag(value::DEGOV1) -> Int64\n\n\nGet DEGOV1 droop_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::DEGOV1) -> Dict{String, Any}\n\n\nGet DEGOV1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::DEGOV1) -> Int64\n\n\nGet DEGOV1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::DEGOV1) -> Vector{Symbol}\n\n\nGet DEGOV1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_K!","text":"set_K!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T4!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T4!","text":"set_T4!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T5!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T5!","text":"set_T5!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T6!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T6!","text":"set_T6!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_lim!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T_lim!","text":"set_T_lim!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Td!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_Td!","text":"set_Td!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Te!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_Te!","text":"set_Te!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_droop_flag!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_droop_flag!","text":"set_droop_flag!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 droop_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 ext.\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/#PIDGOV","page":"TurbineGov","title":"PIDGOV","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/PIDGOV.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.PIDGOV","page":"TurbineGov","title":"PowerSystems.PIDGOV","text":"mutable struct PIDGOV <: TurbineGov\n feedback_flag::Int\n Rperm::Float64\n T_reg::Float64\n Kp::Float64\n Ki::Float64\n Kd::Float64\n Ta::Float64\n Tb::Float64\n D_turb::Float64\n gate_openings::Tuple{Float64, Float64, Float64}\n power_gate_openings::Tuple{Float64, Float64, Float64}\n G_lim::MinMax\n A_tw::Float64\n Tw::Float64\n V_lim::MinMax\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 with PID controller.\n\nArguments\n\nfeedback_flag::Int: Feedback signal for governor droop: 0 for electrical power, and 1 for gate position., validation range: (0, 1)\nRperm::Float64: Speed permanent droop parameter, validation range: (0, nothing)\nT_reg::Float64: Speed detector time constant, validation range: (0, nothing)\nKp::Float64: Governor proportional gain, validation range: (0, nothing)\nKi::Float64: Governor integral gain, validation range: (0, nothing)\nKd::Float64: Governor derivative gain, validation range: (0, nothing)\nTa::Float64: Governor derivative time constant, validation range: (0, nothing)\nTb::Float64: Gate-servo time constant, validation range: (0, nothing)\nD_turb::Float64: Turbine damping factor, validation range: (0, nothing)\ngate_openings::Tuple{Float64, Float64, Float64}: Gate-opening speed at different loads\npower_gate_openings::Tuple{Float64, Float64, Float64}: Power at gate_openings\nG_lim::MinMax: Minimum/Maximum Gate openings (G_min, G_max).\nA_tw::Float64: Factor multiplying Tw, validation range: (eps(), nothing)\nTw::Float64: Water inertia time constant, sec, validation range: (eps(), nothing)\nV_lim::MinMax: Gate opening velocity limits (G_min, G_max).\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 PIDGOV model are:\n\nx_g1: Filtered input measurement,\nx_g2: PI block internal state,\nx_g3: First regulator state, \nx_g4: Derivative block internal state, \nx_g5: Second regulator state, \nx_g6: Gate position state, \nx_g7: Water inertia state\n\nn_states::Int: (Do not modify.) PIDGOV has 7 states\nstates_types::Vector{StateTypes}: (Do not modify.) PIDGOV 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_TurbineGov/#PowerSystems.get_A_tw-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_A_tw","text":"get_A_tw(value::PIDGOV) -> Float64\n\n\nGet PIDGOV A_tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_D_turb-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_D_turb","text":"get_D_turb(value::PIDGOV) -> Float64\n\n\nGet PIDGOV D_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_G_lim-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_G_lim","text":"get_G_lim(\n value::PIDGOV\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet PIDGOV G_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kd-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Kd","text":"get_Kd(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ki-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Ki","text":"get_Ki(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kp-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Kp","text":"get_Kp(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::PIDGOV) -> Float64\n\n\nGet PIDGOV P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Rperm-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Rperm","text":"get_Rperm(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Rperm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_reg-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_T_reg","text":"get_T_reg(value::PIDGOV) -> Float64\n\n\nGet PIDGOV T_reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ta-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Ta","text":"get_Ta(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tb-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Tb","text":"get_Tb(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tw-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Tw","text":"get_Tw(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_V_lim-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_V_lim","text":"get_V_lim(\n value::PIDGOV\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet PIDGOV V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::PIDGOV) -> Dict{String, Any}\n\n\nGet PIDGOV ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_feedback_flag-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_feedback_flag","text":"get_feedback_flag(value::PIDGOV) -> Int64\n\n\nGet PIDGOV feedback_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_gate_openings-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_gate_openings","text":"get_gate_openings(\n value::PIDGOV\n) -> Tuple{Float64, Float64, Float64}\n\n\nGet PIDGOV gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::PIDGOV) -> Int64\n\n\nGet PIDGOV n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_power_gate_openings-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_power_gate_openings","text":"get_power_gate_openings(\n value::PIDGOV\n) -> Tuple{Float64, Float64, Float64}\n\n\nGet PIDGOV power_gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::PIDGOV) -> Vector{Symbol}\n\n\nGet PIDGOV states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(value::PIDGOV) -> Vector{StateTypes}\n\n\nGet PIDGOV states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_A_tw!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_A_tw!","text":"set_A_tw!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV A_tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_D_turb!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_D_turb!","text":"set_D_turb!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV D_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_G_lim!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_G_lim!","text":"set_G_lim!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV G_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kd!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ki!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Ki!","text":"set_Ki!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kp!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Kp!","text":"set_Kp!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Rperm!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Rperm!","text":"set_Rperm!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Rperm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_reg!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T_reg!","text":"set_T_reg!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV T_reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ta!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tb!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tw!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Tw!","text":"set_Tw!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_V_lim!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_V_lim!","text":"set_V_lim!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_feedback_flag!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_feedback_flag!","text":"set_feedback_flag!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV feedback_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_gate_openings!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_gate_openings!","text":"set_gate_openings!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_power_gate_openings!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_power_gate_openings!","text":"set_power_gate_openings!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV power_gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV states_types.\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":"model_library/generated_TurbineGov/#WPIDHY","page":"TurbineGov","title":"WPIDHY","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/WPIDHY.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.WPIDHY","page":"TurbineGov","title":"PowerSystems.WPIDHY","text":"mutable struct WPIDHY <: TurbineGov\n T_reg::Float64\n reg::Float64\n Kp::Float64\n Ki::Float64\n Kd::Float64\n Ta::Float64\n Tb::Float64\n V_lim::MinMax\n G_lim::MinMax\n Tw::Float64\n P_lim::MinMax\n D::Float64\n gate_openings::Tuple{Float64, Float64, Float64}\n power_gate_openings::Tuple{Float64, Float64, 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\nWoodward PID Hydro Governor\n\nArguments\n\nT_reg::Float64: Input time constant of the governor in s, validation range: (0, nothing)\nreg::Float64: Input governor gain, validation range: (0, nothing)\nKp::Float64: Governor proportional gain, validation range: (0, nothing)\nKi::Float64: Governor integral gain, validation range: (0, nothing)\nKd::Float64: Governor derivative gain, validation range: (0, nothing)\nTa::Float64: Governor derivative/high-frequency time constant, validation range: (0, nothing)\nTb::Float64: Gate-servo time constant, validation range: (0, nothing)\nV_lim::MinMax: Gate opening velocity limits (G_min, G_max).\nG_lim::MinMax: Minimum/Maximum Gate velocity (G_min, G_max).\nTw::Float64: Water inertia time constant, sec, validation range: (eps(), nothing)\nP_lim::MinMax: Minimum/Maximum Gate openings (P_min, P_max).\nD::Float64: Turbine damping coefficient, validation range: (0, nothing)\ngate_openings::Tuple{Float64, Float64, Float64}: Gate-opening speed at different loads\npower_gate_openings::Tuple{Float64, Float64, Float64}: Power at gate_openings\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 PIDGOV model are:\n\nx_g1: Filtered input measurement,\nx_g2: PI block internal state,\nx_g3: First regulator state, \nx_g4: Derivative block internal state, \nx_g5: Second regulator state, \nx_g6: Gate position state, \nx_g7: Water inertia state\n\nn_states::Int: (Do not modify.) PIDGOV has 7 states\nstates_types::Vector{StateTypes}: (Do not modify.) PIDGOV 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_TurbineGov/#PowerSystems.get_D-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_D","text":"get_D(value::WPIDHY) -> Float64\n\n\nGet WPIDHY D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_G_lim-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_G_lim","text":"get_G_lim(\n value::WPIDHY\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet WPIDHY G_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kd-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Kd","text":"get_Kd(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ki-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Ki","text":"get_Ki(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kp-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Kp","text":"get_Kp(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_lim-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_P_lim","text":"get_P_lim(\n value::WPIDHY\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet WPIDHY P_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::WPIDHY) -> Float64\n\n\nGet WPIDHY P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_reg-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_T_reg","text":"get_T_reg(value::WPIDHY) -> Float64\n\n\nGet WPIDHY T_reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ta-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Ta","text":"get_Ta(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tb-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Tb","text":"get_Tb(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tw-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Tw","text":"get_Tw(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_V_lim-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_V_lim","text":"get_V_lim(\n value::WPIDHY\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet WPIDHY V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::WPIDHY) -> Dict{String, Any}\n\n\nGet WPIDHY ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_gate_openings-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_gate_openings","text":"get_gate_openings(\n value::WPIDHY\n) -> Tuple{Float64, Float64, Float64}\n\n\nGet WPIDHY gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::WPIDHY) -> Int64\n\n\nGet WPIDHY n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_power_gate_openings-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_power_gate_openings","text":"get_power_gate_openings(\n value::WPIDHY\n) -> Tuple{Float64, Float64, Float64}\n\n\nGet WPIDHY power_gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_reg-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_reg","text":"get_reg(value::WPIDHY) -> Float64\n\n\nGet WPIDHY reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::WPIDHY) -> Vector{Symbol}\n\n\nGet WPIDHY states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(value::WPIDHY) -> Vector{StateTypes}\n\n\nGet WPIDHY states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_D!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_D!","text":"set_D!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_G_lim!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_G_lim!","text":"set_G_lim!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY G_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kd!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ki!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Ki!","text":"set_Ki!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kp!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Kp!","text":"set_Kp!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_lim!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_P_lim!","text":"set_P_lim!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY P_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_reg!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_T_reg!","text":"set_T_reg!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY T_reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ta!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tb!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tw!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Tw!","text":"set_Tw!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_V_lim!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_V_lim!","text":"set_V_lim!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_gate_openings!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_gate_openings!","text":"set_gate_openings!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_power_gate_openings!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_power_gate_openings!","text":"set_power_gate_openings!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY power_gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_reg!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_reg!","text":"set_reg!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/renewable_generation_cost/#RenewableGenerationCost","page":"RenewableGenerationCost","title":"RenewableGenerationCost","text":"","category":"section"},{"location":"model_library/renewable_generation_cost/","page":"RenewableGenerationCost","title":"RenewableGenerationCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/RenewableGenerationCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/renewable_generation_cost/#PowerSystems.RenewableGenerationCost","page":"RenewableGenerationCost","title":"PowerSystems.RenewableGenerationCost","text":"mutable struct RenewableGenerationCost <: OperationalCost\n\nvariable::CostCurve: Variable cost represented as a CostCurve\ncurtailment_cost::CostCurve: (default of 0) Cost of curtailing power represented as a CostCurve\n\nRenewableGenerationCost(variable, curtailment_cost)\nRenewableGenerationCost(variable; curtailment_cost)\nRenewableGenerationCost(; variable, curtailment_cost)\n\nAn operational cost of renewable generators 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\nThe variable cost is a required parameter, but zero(CostCurve) can be used to set it to 0.\n\n\n\n\n\n","category":"type"},{"location":"model_library/renewable_generation_cost/#PowerSystems.get_curtailment_cost-Tuple{RenewableGenerationCost}","page":"RenewableGenerationCost","title":"PowerSystems.get_curtailment_cost","text":"get_curtailment_cost(\n value::RenewableGenerationCost\n) -> CostCurve\n\n\nGet RenewableGenerationCost curtailment_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/renewable_generation_cost/#PowerSystems.get_variable-Tuple{RenewableGenerationCost}","page":"RenewableGenerationCost","title":"PowerSystems.get_variable","text":"get_variable(value::RenewableGenerationCost) -> CostCurve\n\n\nGet RenewableGenerationCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/renewable_generation_cost/#PowerSystems.set_curtailment_cost!-Tuple{RenewableGenerationCost, Any}","page":"RenewableGenerationCost","title":"PowerSystems.set_curtailment_cost!","text":"set_curtailment_cost!(\n value::RenewableGenerationCost,\n val\n) -> Any\n\n\nSet RenewableGenerationCost curtailment_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/renewable_generation_cost/#PowerSystems.set_variable!-Tuple{RenewableGenerationCost, Any}","page":"RenewableGenerationCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::RenewableGenerationCost, val) -> Any\n\n\nSet RenewableGenerationCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#value_curve_library","page":"Value Curves","title":"ValueCurves","text":"","category":"section"},{"location":"model_library/value_curves/","page":"Value Curves","title":"Value Curves","text":"LinearCurve\nQuadraticCurve\nPiecewisePointCurve\nPiecewiseIncrementalCurve\nPiecewiseAverageCurve","category":"page"},{"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)) OperationalCost 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}: OperationalCost 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}: OperationalCost 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_library/load_cost/#LoadCost","page":"LoadCost","title":"LoadCost","text":"","category":"section"},{"location":"model_library/load_cost/","page":"LoadCost","title":"LoadCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/LoadCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/load_cost/#PowerSystems.LoadCost","page":"LoadCost","title":"PowerSystems.LoadCost","text":"mutable struct LoadCost <: OperationalCost\n\nvariable::CostCurve: Variable cost represented as a CostCurve\nfixed::Float64: (default: 0) Fixed cost. For some cost represenations this field can be duplicative\n\nLoadCost(variable, fixed)\nLoadCost(; variable, fixed)\n\nAn operational cost for controllable loads (e.g., InterruptiblePowerLoad), including fixed and variable cost components.\n\nThe variable cost is a required parameter, but zero(CostCurve) can be used to set it to 0.\n\n\n\n\n\n","category":"type"},{"location":"model_library/load_cost/#PowerSystems.get_fixed-Tuple{LoadCost}","page":"LoadCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::LoadCost) -> Float64\n\n\nGet LoadCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/load_cost/#PowerSystems.get_variable-Tuple{LoadCost}","page":"LoadCost","title":"PowerSystems.get_variable","text":"get_variable(value::LoadCost) -> CostCurve\n\n\nGet LoadCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/load_cost/#PowerSystems.set_fixed!-Tuple{LoadCost, Any}","page":"LoadCost","title":"PowerSystems.set_fixed!","text":"set_fixed!(value::LoadCost, val) -> Any\n\n\nSet LoadCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/load_cost/#PowerSystems.set_variable!-Tuple{LoadCost, Any}","page":"LoadCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::LoadCost, val) -> Any\n\n\nSet LoadCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#ThermalGenerationCost","page":"ThermalGenerationCost","title":"ThermalGenerationCost","text":"","category":"section"},{"location":"model_library/thermal_generation_cost/","page":"ThermalGenerationCost","title":"ThermalGenerationCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/ThermalGenerationCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/thermal_generation_cost/#PowerSystems.ThermalGenerationCost","page":"ThermalGenerationCost","title":"PowerSystems.ThermalGenerationCost","text":"mutable struct ThermalGenerationCost <: OperationalCost\n\nvariable::ProductionVariableCostCurve: Variable production cost. Can take a CostCurve or FuelCurve\nfixed::Float64: Fixed cost of keeping the unit online. For some cost represenations this field can be duplicative\nstart_up::Union{Float64, @NamedTuple{hot::Float64, warm::Float64, cold::Float64}}: Start-up cost can take linear or multi-stage cost\nshut_down::Float64: Cost to turn the unit off\n\nThermalGenerationCost(variable, fixed, start_up, shut_down)\nThermalGenerationCost(; variable, fixed, start_up, shut_down)\n\nAn operational cost for thermal generators which includes fixed cost, variable cost, shut-down cost, and multiple options for start up costs.\n\n\n\n\n\n","category":"type"},{"location":"model_library/thermal_generation_cost/#PowerSystems.get_fixed-Tuple{ThermalGenerationCost}","page":"ThermalGenerationCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::ThermalGenerationCost) -> Float64\n\n\nGet ThermalGenerationCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#PowerSystems.get_shut_down-Tuple{ThermalGenerationCost}","page":"ThermalGenerationCost","title":"PowerSystems.get_shut_down","text":"get_shut_down(value::ThermalGenerationCost) -> Float64\n\n\nGet ThermalGenerationCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#PowerSystems.get_start_up-Tuple{ThermalGenerationCost}","page":"ThermalGenerationCost","title":"PowerSystems.get_start_up","text":"get_start_up(\n value::ThermalGenerationCost\n) -> Union{Float64, @NamedTuple{hot::Float64, warm::Float64, cold::Float64}}\n\n\nGet ThermalGenerationCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#PowerSystems.get_variable-Tuple{ThermalGenerationCost}","page":"ThermalGenerationCost","title":"PowerSystems.get_variable","text":"get_variable(\n value::ThermalGenerationCost\n) -> ProductionVariableCostCurve\n\n\nGet ThermalGenerationCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#PowerSystems.set_fixed!-Tuple{ThermalGenerationCost, Any}","page":"ThermalGenerationCost","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":"model_library/thermal_generation_cost/#PowerSystems.set_shut_down!-Tuple{ThermalGenerationCost, Any}","page":"ThermalGenerationCost","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":"model_library/thermal_generation_cost/#PowerSystems.set_start_up!-Tuple{ThermalGenerationCost, Any}","page":"ThermalGenerationCost","title":"PowerSystems.set_start_up!","text":"set_start_up!(value::ThermalGenerationCost, val) -> Any\n\n\nSet ThermalGenerationCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#PowerSystems.set_variable!-Tuple{ThermalGenerationCost, Any}","page":"ThermalGenerationCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::ThermalGenerationCost, val) -> Any\n\n\nSet ThermalGenerationCost variable.\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 interconnection_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/#Categories-of-Time-Series","page":"Time Series Data","title":"Categories of Time Series","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 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":"PowerSystems.jl supports two categories of time series data depending on the process to obtain the data and its interpretation:","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Static Time Series Data\nForecasts","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":"A static time series data is a single column of data where each time period has a single value assigned to a component field, such as its maximum active power. 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":"Static time series usually comes in the following format, with a set resolution between the time-stamps:","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":"This example is a 1-hour resolution static time-series.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"In PowerSystems, a static time series is represented using SingleTimeSeries.","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":"A forecast time series includes predicted values of a time-varying quantity that commonly includes a look-ahead window 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":"Key forecast format parameters are the forecast resolution, the interval of time between forecast initial times, and the number of forecast windows (or forecasted values) in the forecast horizon.","category":"page"},{"location":"modeler_guide/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Forecast data usually comes in the following format, where a column represents the time stamp associated with the initial time of the forecast, and the remaining columns represent the forecasted values at each step in the forecast horizon.","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":"This example forecast has a interval of 1 hour and a horizon of 8.","category":"page"},{"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/storage_cost/#StorageCost","page":"StorageCost","title":"StorageCost","text":"","category":"section"},{"location":"model_library/storage_cost/","page":"StorageCost","title":"StorageCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/StorageCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/storage_cost/#PowerSystems.StorageCost","page":"StorageCost","title":"PowerSystems.StorageCost","text":"mutable struct StorageCost <: OperationalCost\n\ncharge_variable_cost::CostCurve: (default of 0) Variable cost of charging represented as a CostCurve\ndischarge_variable_cost::CostCurve: (default of 0) Variable cost of discharging represented as a CostCurve\nfixed::Float64: (default: 0) Fixed cost of operating the storage system\nstart_up::Union{Float64, @NamedTuple{charge::Float64, discharge::Float64}}: (default: 0) Start-up cost\nshut_down::Float64: (default: 0) Shut-down cost\nenergy_shortage_cost::Float64: (default: 0) Cost incurred by the model for being short of the energy target\nenergy_surplus_cost::Float64: (default: 0) Cost incurred by the model for surplus energy stored\n\nStorageCost(charge_variable_cost, discharge_variable_cost, fixed, start_up, shut_down, energy_shortage_cost, energy_surplus_cost)\nStorageCost(; charge_variable_cost, discharge_variable_cost, fixed, start_up, shut_down, energy_shortage_cost, energy_surplus_cost)\n\nAn operational cost for storage units including fixed costs and variable costs to charge or discharge.\n\nThis data structure is not intended to represent market storage systems market operations like the submission of buy/sell bids – see MarketBidCost instead.\n\n\n\n\n\n","category":"type"},{"location":"model_library/storage_cost/#PowerSystems.get_charge_variable_cost-Tuple{StorageCost}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.get_discharge_variable_cost-Tuple{StorageCost}","page":"StorageCost","title":"PowerSystems.get_discharge_variable_cost","text":"get_discharge_variable_cost(value::StorageCost) -> CostCurve\n\n\nGet StorageCost discharge_variable_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.get_energy_shortage_cost-Tuple{StorageCost}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.get_energy_surplus_cost-Tuple{StorageCost}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.get_fixed-Tuple{StorageCost}","page":"StorageCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::StorageCost) -> Float64\n\n\nGet StorageCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.get_shut_down-Tuple{StorageCost}","page":"StorageCost","title":"PowerSystems.get_shut_down","text":"get_shut_down(value::StorageCost) -> Float64\n\n\nGet StorageCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.get_start_up-Tuple{StorageCost}","page":"StorageCost","title":"PowerSystems.get_start_up","text":"get_start_up(\n value::StorageCost\n) -> Union{Float64, @NamedTuple{charge::Float64, discharge::Float64}}\n\n\nGet StorageCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.set_charge_variable_cost!-Tuple{StorageCost, Any}","page":"StorageCost","title":"PowerSystems.set_charge_variable_cost!","text":"set_charge_variable_cost!(value::StorageCost, val) -> Any\n\n\nSet StorageCost charge_variable_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.set_discharge_variable_cost!-Tuple{StorageCost, Any}","page":"StorageCost","title":"PowerSystems.set_discharge_variable_cost!","text":"set_discharge_variable_cost!(value::StorageCost, val) -> Any\n\n\nSet StorageCost discharge_variable_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.set_energy_shortage_cost!-Tuple{StorageCost, Any}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.set_energy_surplus_cost!-Tuple{StorageCost, Any}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.set_fixed!-Tuple{StorageCost, Any}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.set_shut_down!-Tuple{StorageCost, Any}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.set_start_up!-Tuple{StorageCost, Any}","page":"StorageCost","title":"PowerSystems.set_start_up!","text":"set_start_up!(value::StorageCost, val) -> Any\n\n\nSet StorageCost start_up.\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)) OperationalCost 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)) OperationalCost 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":"tutorials/add_cost_curve/#cost_how_to","page":"Add an Operating Cost","title":"Adding an Operating Cost","text":"","category":"section"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"This how-to guide covers the steps to select and add an operating cost to a component, such as a generator, load, or energy storage system.","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"using PowerSystems #hide","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"To begin, the user must make 2 or 3 decisions before defining the operating cost:","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"Select an appropriate OperationalCost from the OperationalCost options. In general, each operating cost has parameters to define fixed and variable costs. To be able to define an OperationalCost, you must first select a curve to represent the variable cost(s).\nIf you selected ThermalGenerationCost or HydroGenerationCost, select either a FuelCurve or CostCurve to represent the variable cost, based on the units of the generator's data.\nIf you have data in terms of heat rate or water flow, use FuelCurve.\nIf you have data in units of currency, such as $/MWh, use CostCurve.\nIf you selected another OperationalCost type, the variable cost is represented as a CostCurve.\nSelect a ValueCurve to represent the variable cost data by comparing the format of your variable cost data to the Variable Cost Representations table and the ValueCurve options.","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"Then, the user defines the cost by working backwards:","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"Define the variable cost's ValueCurve\nUse the ValueCurve to define the selected CostCurve or FuelCurve\nUse the CostCurve or FuelCurve to define the OperationalCost","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"Let's look at a few examples. ","category":"page"},{"location":"tutorials/add_cost_curve/#Example-1:-A-Renewable-Generator","page":"Add an Operating Cost","title":"Example 1: A Renewable Generator","text":"","category":"section"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"We have a renewable unit that produces at $22/MWh. ","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"Following the decision steps above:","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"We select RenewableGenerationCost to represent this renewable generator.\nWe select a LinearCurve to represent the $22/MWh variable cost.","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"Following the implementation steps, we define RenewableGenerationCost by nesting the definitions:","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"RenewableGenerationCost(variable = CostCurve(value_curve = LinearCurve(22.0)))","category":"page"},{"location":"tutorials/add_cost_curve/#Example-2:-A-Thermal-Generator","page":"Add an Operating Cost","title":"Example 2: A Thermal Generator","text":"","category":"section"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"We have a thermal generating unit that has a heat rate of 7 GJ/MWh at 100 MW and 9 GJ/MWh at 200 MW, plus a fixed cost of $6.0/hr, a start-up cost of $2000, and a shut-down cost of $1000. Its fuel cost is $20/GJ.","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"Following the decision steps above:","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"We select ThermalGenerationCost to represent this thermal generator.\nWe select FuelCurve because we have consumption in units of fuel (GJ/MWh) instead of currency.\nWe select a PiecewisePointCurve to represent the piecewise linear heat rate curve.","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"This time, we'll define each step individually, beginning with the heat rate curve:","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"heat_rate_curve = PiecewisePointCurve([(100.0, 7.0), (200.0, 9.0)])","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"Use the heat rate to define the fuel curve, including the cost of fuel:","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"fuel_curve = FuelCurve(value_curve = heat_rate_curve, fuel_cost = 20.0)","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"Finally, define the full operating cost:","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"cost = ThermalGenerationCost(variable = fuel_curve, fixed = 6.0, start_up = 2000.0, shut_down = 1000.0)","category":"page"},{"location":"tutorials/add_cost_curve/","page":"Add an Operating Cost","title":"Add an Operating Cost","text":"This OperationalCost can be used when defining a component or added to an existing component using set_operation_cost!.","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)) OperationalCost 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}: OperationalCost 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/#ESAC8B","page":"AVR","title":"ESAC8B","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESAC8B.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESAC8B","page":"AVR","title":"PowerSystems.ESAC8B","text":"mutable struct ESAC8B <: AVR\n Tr::Float64\n Kp::Float64\n Ki::Float64\n Kd::Float64\n Td::Float64\n Ka::Float64\n Ta::Float64\n Vr_lim::MinMax\n Te::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\nExcitation System AC8B. Used to represent the Basler Digital Excitation Control System (DECS) with PID controller in PSSE.\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, nothing)\nKp::Float64: Regulator proportional PID gain, validation range: (0, nothing)\nKi::Float64: Regulator integral PID gain, validation range: (0, nothing)\nKd::Float64: Regulator derivative PID gain, validation range: (0, nothing)\nTd::Float64: Regulator derivative PID time constant., validation range: (0, 10)\nKa::Float64: Regulator output gain, validation range: (0, 1000)\nTa::Float64: Regulator output lag time constant in s, validation range: (0, 10)\nVr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)\nTe::Float64: Exciter field time constant, validation range: (eps(), 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,\nx_i: Internal PI-block state,\nx_d: Internal Derivative-block state,\nVr: Voltage regulator state,\nEfd: Exciter output state\n\nn_states::Int: (Do not modify.) ESAC8B has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) ESAC8B 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{ESAC8B}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::ESAC8B) -> Tuple{Float64, Float64}\n\n\nGet ESAC8B E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ki-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Ki","text":"get_Ki(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kp-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Kp","text":"get_Kp(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::ESAC8B) -> Tuple{Float64, Float64}\n\n\nGet ESAC8B Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Td-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Td","text":"get_Td(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESAC8B) -> Float64\n\n\nGet ESAC8B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESAC8B\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESAC8B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESAC8B) -> Dict{String, Any}\n\n\nGet ESAC8B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESAC8B) -> Int64\n\n\nGet ESAC8B n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::ESAC8B\n) -> Tuple{Float64, Float64}\n\n\nGet ESAC8B saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESAC8B) -> Vector{Symbol}\n\n\nGet ESAC8B states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESAC8B) -> Vector{StateTypes}\n\n\nGet ESAC8B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ki!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Ki!","text":"set_Ki!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kp!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Kp!","text":"set_Kp!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Td!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Td!","text":"set_Td!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B 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_AVR/#ST6B","page":"AVR","title":"ST6B","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ST6B.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ST6B","page":"AVR","title":"PowerSystems.ST6B","text":"mutable struct ST6B <: AVR\n OEL_Flag::Int\n Tr::Float64\n K_pa::Float64\n K_ia::Float64\n K_da::Float64\n T_da::Float64\n Va_lim::MinMax\n K_ff::Float64\n K_m::Float64\n K_ci::Float64\n K_lr::Float64\n I_lr::Float64\n Vr_lim::MinMax\n Kg::Float64\n Tg::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\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 ST6B Excitacion System. ST6B in PSSE and PSLF\n\nArguments\n\nOEL_Flag::Int: OEL Flag for ST6B: 1: before HV gate, 2: after HV gate, validation range: (0, 2)\nTr::Float64: Regulator input filter time constant in s, validation range: (0, nothing)\nK_pa::Float64: Regulator proportional gain, validation range: (0, nothing)\nK_ia::Float64: Regulator integral gain, validation range: (0, nothing)\nK_da::Float64: Regulator derivative gain, validation range: (0, nothing)\nT_da::Float64: Voltage regulator derivative channel time constant in s, validation range: (0, nothing)\nVa_lim::MinMax: Regulator output limits (Vimin, Vimax)\nK_ff::Float64: Pre-control gain of the inner loop field regulator, validation range: (0, nothing)\nK_m::Float64: Forward gain of the inner loop field regulator, validation range: (0, nothing)\nK_ci::Float64: Exciter output current limit adjustment gain, validation range: (0, nothing)\nK_lr::Float64: Exciter output current limiter gain, validation range: (0, nothing)\nI_lr::Float64: Exciter current limiter reference, validation range: (0, nothing)\nVr_lim::MinMax: Voltage regulator limits (Vimin, Vimax)\nKg::Float64: Feedback gain constant of the inner loop field regulator, validation range: (0, nothing)\nTg::Float64: Feedback time constant of the inner loop field voltage regulator in s, 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\nVm: Sensed terminal voltage,\nx_i: Regulator Integrator,\nx_d: Regulator Derivative,\nVg: Regulator Feedback\n\nn_states::Int: (Do not modify.) ST6B has 4 states\nstates_types::Vector{StateTypes}: (Do not modify.) ST6B 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_I_lr-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_I_lr","text":"get_I_lr(value::ST6B) -> Float64\n\n\nGet ST6B I_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_ci-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_ci","text":"get_K_ci(value::ST6B) -> Float64\n\n\nGet ST6B K_ci.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_da-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_da","text":"get_K_da(value::ST6B) -> Float64\n\n\nGet ST6B K_da.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_ff-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_ff","text":"get_K_ff(value::ST6B) -> Float64\n\n\nGet ST6B K_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_ia-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_ia","text":"get_K_ia(value::ST6B) -> Float64\n\n\nGet ST6B K_ia.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_lr-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_lr","text":"get_K_lr(value::ST6B) -> Float64\n\n\nGet ST6B K_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_m-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_m","text":"get_K_m(value::ST6B) -> Float64\n\n\nGet ST6B K_m.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_pa-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_pa","text":"get_K_pa(value::ST6B) -> Float64\n\n\nGet ST6B K_pa.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kg-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_Kg","text":"get_Kg(value::ST6B) -> Float64\n\n\nGet ST6B Kg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_OEL_Flag-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_OEL_Flag","text":"get_OEL_Flag(value::ST6B) -> Int64\n\n\nGet ST6B OEL_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_T_da-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_T_da","text":"get_T_da(value::ST6B) -> Float64\n\n\nGet ST6B T_da.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tg-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_Tg","text":"get_Tg(value::ST6B) -> Float64\n\n\nGet ST6B Tg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ST6B) -> Float64\n\n\nGet ST6B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ST6B) -> Float64\n\n\nGet ST6B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::ST6B\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ST6B Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ST6B\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ST6B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ST6B) -> Dict{String, Any}\n\n\nGet ST6B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ST6B) -> Int64\n\n\nGet ST6B n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ST6B) -> Vector{Symbol}\n\n\nGet ST6B states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ST6B) -> Vector{StateTypes}\n\n\nGet ST6B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_I_lr!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_I_lr!","text":"set_I_lr!(value::ST6B, val) -> Any\n\n\nSet ST6B I_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_ci!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_ci!","text":"set_K_ci!(value::ST6B, val) -> Any\n\n\nSet ST6B K_ci.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_da!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_da!","text":"set_K_da!(value::ST6B, val) -> Any\n\n\nSet ST6B K_da.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_ff!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_ff!","text":"set_K_ff!(value::ST6B, val) -> Any\n\n\nSet ST6B K_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_ia!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_ia!","text":"set_K_ia!(value::ST6B, val) -> Any\n\n\nSet ST6B K_ia.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_lr!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_lr!","text":"set_K_lr!(value::ST6B, val) -> Any\n\n\nSet ST6B K_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_m!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_m!","text":"set_K_m!(value::ST6B, val) -> Any\n\n\nSet ST6B K_m.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_pa!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_pa!","text":"set_K_pa!(value::ST6B, val) -> Any\n\n\nSet ST6B K_pa.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kg!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_Kg!","text":"set_Kg!(value::ST6B, val) -> Any\n\n\nSet ST6B Kg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_OEL_Flag!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_OEL_Flag!","text":"set_OEL_Flag!(value::ST6B, val) -> Any\n\n\nSet ST6B OEL_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_T_da!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_T_da!","text":"set_T_da!(value::ST6B, val) -> Any\n\n\nSet ST6B T_da.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tg!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_Tg!","text":"set_Tg!(value::ST6B, val) -> Any\n\n\nSet ST6B Tg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ST6B, val) -> Any\n\n\nSet ST6B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ST6B, val) -> Any\n\n\nSet ST6B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::ST6B, val) -> Any\n\n\nSet ST6B Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ST6B, val) -> Any\n\n\nSet ST6B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ST6B, val) -> Any\n\n\nSet ST6B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ST6B, val) -> Any\n\n\nSet ST6B 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}: OperationalCost 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":"model_library/market_bid_cost/#MarketBidCost","page":"MarketBidCost","title":"MarketBidCost","text":"","category":"section"},{"location":"model_library/market_bid_cost/","page":"MarketBidCost","title":"MarketBidCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/MarketBidCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/market_bid_cost/#PowerSystems.MarketBidCost","page":"MarketBidCost","title":"PowerSystems.MarketBidCost","text":"MarketBidCost(\n no_load_cost,\n start_up::Real,\n shut_down\n) -> MarketBidCost\nMarketBidCost(\n no_load_cost,\n start_up::Real,\n shut_down,\n incremental_offer_curves\n) -> MarketBidCost\nMarketBidCost(\n no_load_cost,\n start_up::Real,\n shut_down,\n incremental_offer_curves,\n decremental_offer_curves\n) -> MarketBidCost\nMarketBidCost(\n no_load_cost,\n start_up::Real,\n shut_down,\n incremental_offer_curves,\n decremental_offer_curves,\n ancillary_service_offers\n) -> MarketBidCost\n\n\nAccepts a single start_up value to use as the hot value, with warm and cold set to 0.0.\n\n\n\n\n\n","category":"type"},{"location":"model_library/market_bid_cost/#PowerSystems.MarketBidCost-2","page":"MarketBidCost","title":"PowerSystems.MarketBidCost","text":"mutable struct MarketBidCost <: OperationalCost\n\nno_load_cost::Union{Float64, TimeSeriesKey}: No load cost\nstart_up::Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesKey}: Start-up cost at different stages of the thermal cycle as the unit cools after a shutdown (e.g., hot, warm, or cold starts). Warm is also referred to as intermediate in some markets. Can also accept a single value if there is only one start-up cost\nshut_down::Float64: Shut-down cost\nincremental_offer_curves::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}: Sell Offer Curves data, which can be a time series or a CostCurve using PiecewiseIncrementalCurve\ndecremental_offer_curves::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}: Buy Offer Curves data, can be a time series or a CostCurve using PiecewiseIncrementalCurve\nancillary_service_offers::Vector{Service}: Bids for the ancillary services\n\nMarketBidCost(no_load_cost, start_up, shut_down, incremental_offer_curves, decremental_offer_curves, ancillary_service_offers)\nMarketBidCost(; no_load_cost, start_up, shut_down, incremental_offer_curves, decremental_offer_curves, ancillary_service_offers)\nMarketBidCost(no_load_cost, start_up::Real, shut_down, incremental_offer_curves, decremental_offer_curves, ancillary_service_offers)\n\nAn operating cost for market bids of energy and ancilliary services for any asset. Compatible with most US Market bidding mechanisms that support demand and generation side.\n\n\n\n\n\n","category":"type"},{"location":"model_library/market_bid_cost/#PowerSystems.get_ancillary_service_offers-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_ancillary_service_offers","text":"get_ancillary_service_offers(\n value::MarketBidCost\n) -> Vector{Service}\n\n\nGet MarketBidCost ancillary_service_offers.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.get_decremental_offer_curves-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_decremental_offer_curves","text":"get_decremental_offer_curves(\n value::MarketBidCost\n) -> Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}\n\n\nGet MarketBidCost incremental_offer_curves.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.get_incremental_offer_curves-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_incremental_offer_curves","text":"get_incremental_offer_curves(\n value::MarketBidCost\n) -> Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}\n\n\nGet MarketBidCost incremental_offer_curves.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.get_no_load_cost-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_no_load_cost","text":"get_no_load_cost(\n value::MarketBidCost\n) -> Union{Float64, TimeSeriesKey}\n\n\nGet MarketBidCost no_load_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#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/market_bid_cost/#PowerSystems.get_start_up-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_start_up","text":"get_start_up(\n value::MarketBidCost\n) -> Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesKey}\n\n\nGet MarketBidCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.make_market_bid_curve-Tuple{PiecewiseStepData}","page":"MarketBidCost","title":"PowerSystems.make_market_bid_curve","text":"make_market_bid_curve(\n data::PiecewiseStepData;\n power_units\n) -> CostCurve{PiecewiseIncrementalCurve}\n\n\nMake a CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in a MarketBidCost from the FunctionData that might be used to store such a cost curve in a time series.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.make_market_bid_curve-Tuple{Vector{Float64}, Vector{Float64}}","page":"MarketBidCost","title":"PowerSystems.make_market_bid_curve","text":"make_market_bid_curve(\n powers::Vector{Float64},\n marginal_costs::Vector{Float64};\n power_units\n) -> CostCurve{PiecewiseIncrementalCurve}\n\n\nMake a CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in a MarketBidCost from a vector of power values, a vector of marginal costs, and an optional units system. The minimum power, and cost at minimum power, are not represented.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.set_ancillary_service_offers!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","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":"model_library/market_bid_cost/#PowerSystems.set_decremental_offer_curves!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","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":"model_library/market_bid_cost/#PowerSystems.set_incremental_offer_curves!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","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":"model_library/market_bid_cost/#PowerSystems.set_no_load_cost!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","title":"PowerSystems.set_no_load_cost!","text":"set_no_load_cost!(value::MarketBidCost, val) -> Any\n\n\nSet MarketBidCost no_load_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#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/market_bid_cost/#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":"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_functions/cost_aliases.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 representations\n\nCurrent concrete types include:\n\nThermalGenerationCost\nHydroGenerationCost\nRenewableGenerationCost\nStorageCost\nLoadCost\nMarketBidCost\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":"Supertype that represents a unitless cost curve\n\nConcrete options are listed here.\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) -> Union{Nothing, 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_input_at_zero-Tuple{ValueCurve}","page":"Public API Reference","title":"PowerSystems.get_input_at_zero","text":"get_input_at_zero(curve::ValueCurve) -> Any\n\n\nGet the input_at_zero field of this ValueCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.LinearCurve","page":"Public API Reference","title":"PowerSystems.LinearCurve","text":"LinearCurve(proportional_term::Float64)\nLinearCurve(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":"api/public/#PowerSystems.PiecewiseAverageCurve","page":"Public API Reference","title":"PowerSystems.PiecewiseAverageCurve","text":"PiecewiseAverageCurve(initial_input::Union{Float64, Nothing}, 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::Union{Float64, Nothing}: cost at minimum production point first(x_coords) (NOT at zero production), defines the start of the curve\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":"api/public/#PowerSystems.PiecewiseIncrementalCurve","page":"Public API Reference","title":"PowerSystems.PiecewiseIncrementalCurve","text":"PiecewiseIncrementalCurve(initial_input::Union{Float64, Nothing}, x_coords::Vector{Float64}, slopes::Vector{Float64})\nPiecewiseIncrementalCurve(input_at_zero::Union{Nothing, Float64}, initial_input::Union{Float64, Nothing}, 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\ninput_at_zero::Union{Nothing, Float64}: (optional, defaults to nothing) cost at zero production, does NOT represent a part of the curve\ninitial_input::Union{Float64, Nothing}: cost at minimum production point first(x_coords) (NOT at zero production), defines the start of the curve\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":"api/public/#PowerSystems.PiecewisePointCurve","page":"Public API Reference","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":"api/public/#PowerSystems.QuadraticCurve","page":"Public API Reference","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":"api/public/#InfrastructureSystems.get_constant_term-Tuple{LinearCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_constant_term","text":"get_constant_term(vc::LinearCurve) -> Float64\n\n\nGet the constant term (i.e., intercept) of the LinearCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_constant_term-Tuple{QuadraticCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_constant_term","text":"get_constant_term(vc::QuadraticCurve) -> Float64\n\n\nGet the constant term of the QuadraticCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_points-Tuple{PiecewisePointCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_points","text":"get_points(\n vc::PiecewisePointCurve\n) -> Vector{@NamedTuple{x::Float64, y::Float64}}\n\n\nGet the points that define the PiecewisePointCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_proportional_term-Tuple{LinearCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_proportional_term","text":"get_proportional_term(vc::LinearCurve) -> Float64\n\n\nGet the proportional term (i.e., slope) of the LinearCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_proportional_term-Tuple{QuadraticCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_proportional_term","text":"get_proportional_term(vc::QuadraticCurve) -> Float64\n\n\nGet the proportional (i.e., linear) term of the QuadraticCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_quadratic_term-Tuple{QuadraticCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_quadratic_term","text":"get_quadratic_term(vc::QuadraticCurve) -> Float64\n\n\nGet the quadratic term of the QuadraticCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_slopes-Tuple{PiecewiseIncrementalCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_slopes","text":"get_slopes(vc::PiecewiseIncrementalCurve) -> Vector{Float64}\n\n\nFetch the slopes that define the PiecewiseIncrementalCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_slopes-Tuple{PiecewisePointCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_slopes","text":"get_slopes(vc::PiecewisePointCurve) -> Vector{Float64}\n\n\nCalculate the slopes of the line segments defined by the PiecewisePointCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_x_coords-Tuple{PiecewiseAverageCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_x_coords","text":"get_x_coords(vc::PiecewiseAverageCurve) -> Vector{Float64}\n\n\nGet the x-coordinates that define the PiecewiseAverageCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_x_coords-Tuple{PiecewiseIncrementalCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_x_coords","text":"get_x_coords(\n vc::PiecewiseIncrementalCurve\n) -> Vector{Float64}\n\n\nGet the x-coordinates that define the PiecewiseIncrementalCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_x_coords-Tuple{PiecewisePointCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_x_coords","text":"get_x_coords(vc::PiecewisePointCurve) -> Vector{Float64}\n\n\nGet the x-coordinates of the points that define the PiecewisePointCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_y_coords-Tuple{PiecewisePointCurve}","page":"Public API Reference","title":"InfrastructureSystems.get_y_coords","text":"get_y_coords(vc::PiecewisePointCurve) -> Vector{Float64}\n\n\nGet the y-coordinates of the points that define the PiecewisePointCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_average_rates-Tuple{PiecewiseAverageCurve}","page":"Public API Reference","title":"PowerSystems.get_average_rates","text":"get_average_rates(\n vc::PiecewiseAverageCurve\n) -> Vector{Float64}\n\n\nGet the average rates that define the PiecewiseAverageCurve\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\nExamples\n\nresolution = Dates.Hour(1)\ndata = Dict(\n DateTime(\"2020-01-01T00:00:00\") => ones(24),\n DateTime(\"2020-01-01T01:00:00\") => ones(24),\n)\n# Define a Deterministic for the first attribute\nforecast_max_active_power = Deterministic(\n \"max_active_power\",\n data,\n resolution,\n scaling_factor_multiplier = get_max_active_power,\n)\nadd_time_series!(sys, generator, forecast_max_active_power)\n# Reuse time series for second attribute\nforecast_max_reactive_power = Deterministic(\n forecast_max_active_power,\n \"max_reactive_power\"\n scaling_factor_multiplier = get_max_reactive_power,\n)\nadd_time_series!(sys, generator, forecast_max_reactive_power)\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.iterate_windows-Tuple{Deterministic}","page":"Public API Reference","title":"InfrastructureSystems.iterate_windows","text":"iterate_windows(\n forecast::Deterministic\n) -> Base.Generator{I, InfrastructureSystems.var\"#107#108\"{Deterministic}} where I<:(DataStructures.SDMKeyIteration{T} where T<:DataStructures.SortedDict)\n\n\nIterate over the windows in a forecast\n\nExamples\n\nfor window in iterate_windows(forecast)\n @show values(maximum(window))\nend\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.iterate_windows-Tuple{Probabilistic}","page":"Public API Reference","title":"InfrastructureSystems.iterate_windows","text":"iterate_windows(\n forecast::Probabilistic\n) -> Base.Generator{I, InfrastructureSystems.var\"#107#108\"{Probabilistic}} where I<:(DataStructures.SDMKeyIteration{T} where T<:DataStructures.SortedDict)\n\n\nIterate over the windows in a forecast\n\nExamples\n\nfor window in iterate_windows(forecast)\n @show values(maximum(window))\nend\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.iterate_windows-Tuple{Scenarios}","page":"Public API Reference","title":"InfrastructureSystems.iterate_windows","text":"iterate_windows(\n forecast::Scenarios\n) -> Base.Generator{I, InfrastructureSystems.var\"#107#108\"{Scenarios}} where I<:(DataStructures.SDMKeyIteration{T} where T<:DataStructures.SortedDict)\n\n\nIterate over the windows in a forecast\n\nExamples\n\nfor window in iterate_windows(forecast)\n @show values(maximum(window))\nend\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 that wraps a SingleTimeSeries\n\nDeterministicSingleTimeSeries behaves exactly like a Deterministic, but instead of storing windows at each initial time it provides a view into the existing SingleTimeSeries at incrementing offsets. This avoids large data duplications when there are the overlapping windows between forecasts. \n\nCan be used as a perfect forecast based on historical data when real forecast data is unavailable. \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 single column of time series data for a particular data field in a Component.\n\nIn contrast with a forecast, this can represent one continual time series, such as a series of historical measurements or realizations or a single scenario (e.g. a weather year or different input assumptions).\n\nArguments\n\nname::String: user-defined name\ndata::TimeSeries.TimeArray: timestamp - scalingfactor\nresolution::Dates.Period: Time duration between steps in the time series. The resolution must be the same throughout the time series\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.iterate_windows-Tuple{DeterministicSingleTimeSeries}","page":"Public API Reference","title":"InfrastructureSystems.iterate_windows","text":"iterate_windows(\n forecast::DeterministicSingleTimeSeries\n) -> Any\n\n\nIterate over the windows in a forecast\n\nExamples\n\nfor window in iterate_windows(forecast)\n @show values(maximum(window))\nend\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.Forecast","page":"Public API Reference","title":"InfrastructureSystems.Forecast","text":"Supertype for forecast time series Current concrete subtypes are:\n\nDeterministic\nDeterministicSingleTimeSeries\nScenarios\nProbabilistic\n\nSubtypes of Forecast must implement:\n\nget_horizon_count\nget_initial_times\nget_initial_timestamp\nget_name\nget_scaling_factor_multiplier\nget_window\niterate_windows\n\n\n\n\n\n","category":"type"},{"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\nExamples\n\ncache = ForecastCache(Deterministic, component, \"max_active_power\")\nwindow1 = get_next_time_series_array!(cache)\nwindow2 = get_next_time_series_array!(cache)\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.is_component_in_aggregation_topology-Union{Tuple{T}, Tuple{Component, T}} where T<:AggregationTopology","page":"Public API Reference","title":"PowerSystems.is_component_in_aggregation_topology","text":"is_component_in_aggregation_topology(\n comp::Component,\n aggregator::AggregationTopology\n) -> Union{Missing, Bool}\n\n\nReturn whether the given component's bus is in the AggregationTopology.\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\", \"utils/print.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.show_time_series,\n InfrastructureSystems.get_time_series_keys,\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 the exact stored data in a time series, using a time series key look up\n\nThis will load all forecast windows into memory by default. Be aware of how much data is stored.\n\nSpecify start_time and len if you only need a subset of data.\n\nDoes not apply a scaling factor multiplier.\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 timestamp 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.\nfeatures...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years\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 the exact stored data in a time series\n\nThis will load all forecast windows into memory by default. Be aware of how much data is stored.\n\nSpecify start_time and len if you only need a subset of data.\n\nDoes not apply a scaling factor multiplier.\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 timestamp 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.\nfeatures...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years\n\nSee also: get_time_series_array, get_time_series_values.\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 time series data are scaling factors, the returned data will be scaled by the scaling factor multiplier by default.\n\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\ntime_series::StaticTimeSeries: subtype of StaticTimeSeries (e.g., SingleTimeSeries)\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp to retrieve. If nothing, use the initial_timestamp of the time series.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\n\nSee also: get_time_series_values, get_time_series_timestamps, 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 time series data are scaling factors, the returned data will be scaled by the scaling factor multiplier by default.\n\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\nforecast::Forecast: a concrete subtype of Forecast\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp of one of the forecast windows\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\n\nSee also get_time_series_values, get_time_series_timestamps, 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 time series data are scaling factors, the returned data will be scaled by the scaling factor multiplier by default.\n\nThis will load all forecast windows into memory by default. Be aware of how much data is stored.\n\nSpecify start_time and len if you only need a subset of data.\n\nArguments\n\n::Type{T}: the type of time series (a concrete subtype of TimeSeriesData)\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 timestamp of a window.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\nfeatures...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years\n\nSee also: get_time_series_values, get_time_series_timestamps, get_time_series\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_keys-Tuple{Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}}","page":"Public API Reference","title":"InfrastructureSystems.get_time_series_keys","text":"get_time_series_keys(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}\n) -> Vector\n\n\nReturn information about each time series array attached to the owner. This information can be used to call get_time_series(::TimeSeriesOwners, ::TimeSeriesKey).\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\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\ntime_series::StaticTimeSeries: subtype of StaticTimeSeries (e.g., SingleTimeSeries)\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp to retrieve. If nothing, use the initial_timestamp of the time series.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length\n\nSee also: get_time_series_array, get_time_series_values, StaticTimeSeriesCache.\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\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\nforecast::Forecast: a concrete subtype of Forecast\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp of one of the forecast windows\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\n\nSee also: get_time_series_array, get_time_series_values, ForecastCache.\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\nArguments\n\n::Type{T}: the type of time series (a concrete subtype of TimeSeriesData)\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 timestamp of a window.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\nfeatures...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years\n\nSee also: get_time_series_array, get_time_series_values\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 vector of timeseries data without timestamps from a cached StaticTimeSeries instance\n\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\ntime_series::StaticTimeSeries: subtype of StaticTimeSeries (e.g., SingleTimeSeries)\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp to retrieve. If nothing, use the initial_timestamp of the time series.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\n\nSee also: get_time_series_array, get_time_series_timestamps, StaticTimeSeriesCache.\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 vector of timeseries data without timestamps for one forecast window from a cached Forecast instance.\n\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\nforecast::Forecast: a concrete subtype of Forecast\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp of one of the forecast windows\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\n\nSee also: get_time_series_array, get_time_series_timestamps, ForecastCache.\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 vector of timeseries data without timestamps from storage\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\nArguments\n\n::Type{T}: type of the time series (a concrete subtype of TimeSeriesData)\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 timestamp of a window.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\nfeatures...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years\n\nSee also: get_time_series_array, get_time_series_timestamps, get_time_series\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/#InfrastructureSystems.show_time_series-Tuple{Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}}","page":"Public API Reference","title":"InfrastructureSystems.show_time_series","text":"show_time_series(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}\n)\n\n\nShow a table with time series data attached to the component.\n\n\n\n\n\n","category":"method"},{"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":"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/#curve_table","page":"Variable Costs","title":"Variable Costs","text":"","category":"section"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"Operating cost data typically includes both fixed and variable costs. See the how-to on Adding an Operating Cost for a demonstration of defining an operating cost.","category":"page"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"In PowerSystems.jl, the variable portion of the operating cost can be represented as linear, quadratic, or piecewise input-output curves; potentially piecewise marginal heat rates; average heat rates; and more, as best fits the input data. This is done by constructing various subtypes of ValueCurve.","category":"page"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"This summary table shows each way to construct a ValueCurve with the user-friendly subtype aliases. The ValueCurves make no assumption about units; the example interpretation given here assumes that the variable cost ValueCurve will be wrapped in a CostCurve with natural units. Note that all four Piecewise options here fundamentally represent the same curve. More information and explanatory plots are provided for each subtype alias in the subheadings below.","category":"page"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"Description Example Example interpretation\nLinear input-output curve with zero no-load cost (constant average rate) LinearCurve(5.0) $5/MWh\nLinear input-output curve with potentially nonzero no-load cost (constant marginal rate) LinearCurve(5.0, 15.0) $5/MWh + $15/hr\nQuadratic input-output curve with potentially nonzero no-load cost QuadraticCurve(1.0, 1.0, 18.0) C(P) = 1 P^2 + 1 P + 18 where C is $/hr, P is MW\nPiecewise linear curve specified by cost values at production points 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\nPiecewise linear curve specified by initial value and marginal rates (slopes) between production points PiecewiseIncrementalCurve(20.0, [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\nNo-load cost plus piecewise linear curve specified by initial value and marginal rates (slopes) between production points PiecewiseIncrementalCurve(18.0, 20.0, [1.0, 2.0, 3.0], [4.0, 6.0]) $18/hr no-load cost; $20/hr @ 1 MW plus additional $4/MWh from 1 MW to 2 MW plus additional $6/MWh from 2 MW to 3 MW\nPiecewise linear curve specified by initial value and average rates between production points PiecewiseAverageCurve(20.0, [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":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"","category":"page"},{"location":"modeler_guide/cost_functions/#[LinearCurve](@ref)","page":"Variable Costs","title":"LinearCurve","text":"","category":"section"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"Specify the marginal cost of production M and optionally the no-load cost C, which defaults to zero. Here is a graphical representation:","category":"page"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"","category":"page"},{"location":"modeler_guide/cost_functions/#[QuadraticCurve](@ref)","page":"Variable Costs","title":"QuadraticCurve","text":"","category":"section"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"Specify the quadratic (Q), proportional (M), and constant (C) terms of a function that defines the input-output curve:","category":"page"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"","category":"page"},{"location":"modeler_guide/cost_functions/#[PiecewisePointCurve](@ref)","page":"Variable Costs","title":"PiecewisePointCurve","text":"","category":"section"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"Specify a vector of K (production, cost) pairs (i.e., (P_k C_k) for k = 1 dots K) to define the input-output curve:","category":"page"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"","category":"page"},{"location":"modeler_guide/cost_functions/#[PiecewiseIncrementalCurve](@ref)","page":"Variable Costs","title":"PiecewiseIncrementalCurve","text":"","category":"section"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"Specify the cost C_1 at the least production point given (NOT the cost at zero production), a vector of K production points P_1 dots P_k, and a vector of K-1 marginal rates M_1 dots M_k-1, that represent the slopes of the curve segments between the points. C_1 may be nothing, which results in a not-fully-defined curve. The no-load cost C_0 can optionally be specified as a first argument; it is not part of the representation of the curve, just another piece of data that may be stored:","category":"page"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"","category":"page"},{"location":"modeler_guide/cost_functions/#[PiecewiseAverageCurve](@ref)","page":"Variable Costs","title":"PiecewiseAverageCurve","text":"","category":"section"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"Specify the cost C_1 at the least production point given (NOT the cost at zero production), a vector of K production points P_1 dots P_k, and a vector of K-1 average rates R_1 dots R_k-1 at the K-1 latter production points:","category":"page"},{"location":"modeler_guide/cost_functions/","page":"Variable Costs","title":"Variable Costs","text":"","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{DEGOV1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::DEGOV1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet DEGOV1 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{ESAC8B}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESAC8B\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESAC8B 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{PIDGOV}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PIDGOV\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PIDGOV 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{ST6B}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ST6B\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ST6B 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/#InfrastructureSystems.get_internal-Tuple{WPIDHY}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::WPIDHY\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet WPIDHY 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._convert_argument_types_for_gen!-Tuple{AbstractString, Vector}","page":"Internal API Reference","title":"PowerSystems._convert_argument_types_for_gen!","text":"_convert_argument_types_for_gen!(\n str::AbstractString,\n struct_args::Vector\n)\n\n\nConvert specific parameters to types that are not Float64 for specific generator 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_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_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_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_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 interconnection_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: (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"}]
+[{"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.\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.\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.\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":"how_to/powersystembuilder/#psb","page":"...load a system from PowerSystemCaseBuilder","title":"Load a system from PowerSystemCaseBuilder","text":"","category":"section"},{"location":"how_to/powersystembuilder/","page":"...load a system from PowerSystemCaseBuilder","title":"...load a system from PowerSystemCaseBuilder","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"how_to/powersystembuilder/#Introduction","page":"...load a system from PowerSystemCaseBuilder","title":"Introduction","text":"","category":"section"},{"location":"how_to/powersystembuilder/","page":"...load a system from PowerSystemCaseBuilder","title":"...load a system from 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":"how_to/powersystembuilder/#Dependencies","page":"...load a system from PowerSystemCaseBuilder","title":"Dependencies","text":"","category":"section"},{"location":"how_to/powersystembuilder/","page":"...load a system from PowerSystemCaseBuilder","title":"...load a system from PowerSystemCaseBuilder","text":"using PowerSystemCaseBuilder","category":"page"},{"location":"how_to/powersystembuilder/#List-all-systems-in-library","page":"...load a system from PowerSystemCaseBuilder","title":"List all systems in library","text":"","category":"section"},{"location":"how_to/powersystembuilder/","page":"...load a system from PowerSystemCaseBuilder","title":"...load a system from PowerSystemCaseBuilder","text":"show_systems()","category":"page"},{"location":"how_to/powersystembuilder/#Systems-can-be-listed-by-category","page":"...load a system from PowerSystemCaseBuilder","title":"Systems can be listed by category","text":"","category":"section"},{"location":"how_to/powersystembuilder/","page":"...load a system from PowerSystemCaseBuilder","title":"...load a system from PowerSystemCaseBuilder","text":"The available categories can be displayed with:","category":"page"},{"location":"how_to/powersystembuilder/","page":"...load a system from PowerSystemCaseBuilder","title":"...load a system from PowerSystemCaseBuilder","text":"show_categories()","category":"page"},{"location":"how_to/powersystembuilder/#Create-a-System","page":"...load a system from PowerSystemCaseBuilder","title":"Create a System","text":"","category":"section"},{"location":"how_to/powersystembuilder/","page":"...load a system from PowerSystemCaseBuilder","title":"...load a system from 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":"how_to/powersystembuilder/","page":"...load a system from PowerSystemCaseBuilder","title":"...load a system from PowerSystemCaseBuilder","text":"sys = build_system(PSITestSystems, \"c_sys5_uc\")","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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\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/hydro_generation_cost/#HydroGenerationCost","page":"HydroGenerationCost","title":"HydroGenerationCost","text":"","category":"section"},{"location":"model_library/hydro_generation_cost/","page":"HydroGenerationCost","title":"HydroGenerationCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/HydroGenerationCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/hydro_generation_cost/#PowerSystems.HydroGenerationCost","page":"HydroGenerationCost","title":"PowerSystems.HydroGenerationCost","text":"mutable struct HydroGenerationCost <: OperationalCost\n\nvariable::ProductionVariableCostCurve: Production variable cost represented by a FuelCurve, where the fuel is water, or a CostCurve in currency.\nfixed::Float64: (default: 0) Fixed cost of keeping the unit online. For some cost represenations this field can be duplicative\n\nHydroGenerationCost(variable, fixed)\nHydroGenerationCost(; variable, fixed)\n\nAn operational cost of a hydropower generator 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\nThe variable cost is a required parameter, but zero(CostCurve) can be used to set it to 0.\n\n\n\n\n\n","category":"type"},{"location":"model_library/hydro_generation_cost/#PowerSystems.get_fixed-Tuple{HydroGenerationCost}","page":"HydroGenerationCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::HydroGenerationCost) -> Float64\n\n\nGet HydroGenerationCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hydro_generation_cost/#PowerSystems.get_variable-Tuple{HydroGenerationCost}","page":"HydroGenerationCost","title":"PowerSystems.get_variable","text":"get_variable(\n value::HydroGenerationCost\n) -> ProductionVariableCostCurve\n\n\nGet HydroGenerationCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/hydro_generation_cost/#PowerSystems.set_fixed!-Tuple{HydroGenerationCost, Any}","page":"HydroGenerationCost","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":"model_library/hydro_generation_cost/#PowerSystems.set_variable!-Tuple{HydroGenerationCost, Any}","page":"HydroGenerationCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::HydroGenerationCost, val) -> Any\n\n\nSet HydroGenerationCost variable.\n\n\n\n\n\n","category":"method"},{"location":"explanation/type_structure/#type_structure","page":"Type Structure","title":"Type Structure","text":"","category":"section"},{"location":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"PowerSystems.jl provides a type hierarchy to contain power system data.","category":"page"},{"location":"explanation/type_structure/#Types-in-PowerSystems","page":"Type Structure","title":"Types in PowerSystems","text":"","category":"section"},{"location":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"In PowerSystems.jl, data that describes infrastructure components is held in structs. For example, an ACBus is a struct with the following parameters to describe a bus on an AC network:","category":"page"},{"location":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"using PowerSystems #hide\nimport TypeTree: tt #hide\ndocs_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"utils\"); #hide\ninclude(joinpath(docs_dir, \"docs_utils.jl\")); #hide\nprint_struct(ACBus) #hide","category":"page"},{"location":"explanation/type_structure/#Type-Hierarchy","page":"Type Structure","title":"Type Hierarchy","text":"","category":"section"},{"location":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"PowerSystems is intended to organize data by the behavior of the devices that the data represents. 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":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"System: overarching struct that collects all of the Components\nComponent: 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":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"dynamic, or economic capabilities of Device.","category":"page"},{"location":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"TimeSeriesData: Includes all time series types\nForecast: includes structs to define time series of forecasted data where multiple","category":"page"},{"location":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"values can represent each time stamp","category":"page"},{"location":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"StaticTimeSeries: includes structs to define time series with a single value for each","category":"page"},{"location":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"time stamp","category":"page"},{"location":"explanation/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":"explanation/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":"explanation/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":"explanation/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":"explanation/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":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"","category":"page"},{"location":"explanation/type_structure/","page":"Type Structure","title":"Type Structure","text":"⠀","category":"page"},{"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.\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.\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.\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.\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.\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.\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.\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.\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.\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":"api/developer_guidelines/#Developer-Guidelines","page":"Developer Guidelines","title":"Developer Guidelines","text":"","category":"section"},{"location":"api/developer_guidelines/","page":"Developer Guidelines","title":"Developer Guidelines","text":"In order to contribute to PowerSystems.jl repository please read the following sections of InfrastructureSystems.jl documentation in detail:","category":"page"},{"location":"api/developer_guidelines/","page":"Developer Guidelines","title":"Developer Guidelines","text":"Style Guide\nContributing Guidelines","category":"page"},{"location":"api/developer_guidelines/","page":"Developer Guidelines","title":"Developer Guidelines","text":"Pull requests are always welcome to fix bugs or add additional modeling capabilities.","category":"page"},{"location":"api/developer_guidelines/","page":"Developer Guidelines","title":"Developer Guidelines","text":"All the code contributions need to include tests with a minimum coverage of 70%","category":"page"},{"location":"tutorials/creating_system/#Create-and-Explore-a-Power-System","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"","category":"section"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Welcome to PowerSystems.jl!","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"In this tutorial, we will create a power system and add some components to it, including some nodes, a transmission line, load, and both renewable and fossil fuel generators. Then we will retrieve data from the system and explore the system settings.","category":"page"},{"location":"tutorials/creating_system/#Setup","page":"Create and Explore a Power System","title":"Setup","text":"","category":"section"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"To get started, ensure you have followed the installation instructions.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Start Julia from the command line if you haven't already:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"$ julia","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Load the PowerSystems.jl package:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"using PowerSystems","category":"page"},{"location":"tutorials/creating_system/#Creating-a-Power-System","page":"Create and Explore a Power System","title":"Creating a Power System","text":"","category":"section"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"In PowerSystems.jl, data is held in a System that holds all of the individual components along with some metadata about the power system itself.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"There are many ways to define a System, but let's start with an empty system. All we need to define is a base power of 100 MVA for per-unitization. ","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"sys = System(100.0)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Notice that this system is a 60 Hz system with a base power of 100 MVA.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Now, let's add some components to our system.","category":"page"},{"location":"tutorials/creating_system/#Adding-Buses","page":"Create and Explore a Power System","title":"Adding Buses","text":"","category":"section"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"We'll start by creating some buses. By referring to the documentation for ACBus, notice that we need define some basic data, including the bus's unique identifier and name, base voltage, and whether it's a load, generator, or reference bus. ","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Let's start with a reference bus:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"bus1 = ACBus(\n number = 1,\n name = \"bus1\",\n bustype = ACBusTypes.REF,\n angle = 0.0,\n magnitude = 1.0,\n voltage_limits = (min = 0.9, max = 1.05),\n base_voltage = 230.0\n );","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"This bus is on a 230 kV AC transmission network, with an allowable voltage range of 0.9 to 1.05 p.u. We are assuming it is currently operating at 1.0 p.u. voltage and an angle of 0 radians. ","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Let's add this bus to our System with add_component!:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"add_component!(sys, bus1)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"We can see the impact this has on the System simply by printing it:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"sys","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Notice that System now shows a summary of components in the system.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Let's create a second bus:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"bus2 = ACBus(\n number = 2,\n name = \"bus2\",\n bustype = ACBusTypes.PV,\n angle = 0.0,\n magnitude = 1.0,\n voltage_limits = (min = 0.9, max = 1.05),\n base_voltage = 230.0\n );","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Notice that we've defined this bus with power and voltage variables, suitable for power flow studies.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Let's also add this to our System:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"add_component!(sys, bus2)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Now, let's use show_components to quickly see some basic information about the buses:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"show_components(sys, ACBus)","category":"page"},{"location":"tutorials/creating_system/#Adding-a-Transmission-Line","page":"Create and Explore a Power System","title":"Adding a Transmission Line","text":"","category":"section"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Let's connect our buses. We'll add a transmission Line between bus1 and bus2. ","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"warning: Warning\nWhen defining a line that isn't attached to a System yet, you must define the thermal rating of the transmission line in per-unit using the base power of the System you plan to connect it to – in this case, 100 MVA.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"line = Line(\n name = \"line1\",\n available = true,\n active_power_flow = 0.0,\n reactive_power_flow = 0.0,\n arc = Arc(from = bus1, to = bus2),\n r = 0.00281, # Per-unit\n x = 0.0281, # Per-unit\n b = (from = 0.00356, to = 0.00356), # Per-unit\n rating = 2.0, # Line rating of 200 MVA / System base of 100 MVA\n angle_limits = (min = -0.7, max = 0.7),\n );","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Note that we also had to define an Arc in the process to define the connection between the two buses.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Let's also add this to our System:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"add_component!(sys, line)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Finally, let's check our System summary to see all the network topology components we have added are attached:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"sys","category":"page"},{"location":"tutorials/creating_system/#Adding-Loads-and-Generators","page":"Create and Explore a Power System","title":"Adding Loads and Generators","text":"","category":"section"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Now that our network topology is complete, we'll start adding components that inject or withdraw power from the network. ","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"warning: Warning\nWhen you define components that aren't attached to a System yet, you must define all fields related to power (with units such as MW, MVA, MVAR, or MW/min) in per-unit using the base_power of the component.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"We'll start with defining a 10 MW load to bus1:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"load = PowerLoad(\n name = \"load1\",\n available = true,\n bus = bus1,\n active_power = 0.0, # Per-unitized by device base_power\n reactive_power = 0.0, # Per-unitized by device base_power\n base_power = 10.0, # MVA\n max_active_power = 1.0, # 10 MW per-unitized by device base_power\n max_reactive_power = 0.0\n );","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Notice that we defined the max_active_power, which is 10 MW, as 1.0 in per-unit using the base_power of 10 MVA. We've also used the bus1 component itself to define where this load is located in the network.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Now add the load to the system:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"add_component!(sys, load)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Finally, we'll add two generators: one renewable and one thermal.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"We'll add a 5 MW solar power plant to bus2:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"solar = RenewableDispatch(\n name = \"solar1\",\n available = true,\n bus = bus2,\n active_power = 0.0, # Per-unitized by device base_power\n reactive_power = 0.0, # Per-unitized by device base_power\n rating = 1.0, # 5 MW per-unitized by device base_power\n prime_mover_type = PrimeMovers.PVe,\n reactive_power_limits = (min=0.0, max=0.05), # 0 MVAR to 0.25 MVAR per-unitized by device base_power\n power_factor = 1.0,\n operation_cost = RenewableGenerationCost(nothing),\n base_power = 5.0 # MVA\n );","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Note that we've used a generic renewable generator to model solar, but we can specify that it is solar through the prime mover. ","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Finally, we'll also add a 30 MW gas thermal generator:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"gas = ThermalStandard(\n name = \"gas1\",\n available = true,\n status = true,\n bus = bus2,\n active_power = 0.0, # Per-unitized by device base_power\n reactive_power = 0.0, # Per-unitized by device base_power\n rating = 1.0, # 30 MW per-unitized by device base_power\n active_power_limits = (min=0.2, max=1.0), # 6 MW to 30 MW per-unitized by device base_power\n reactive_power_limits = nothing, # Per-unitized by device base_power\n ramp_limits = (up=0.2, down=0.2), # 6 MW/min up or down, per-unitized by device base_power\n operation_cost = ThermalGenerationCost(nothing),\n base_power = 30.0, # MVA\n time_limits = (up=8.0, down=8.0), # Hours\n must_run = false,\n prime_mover_type = PrimeMovers.CC,\n fuel = ThermalFuels.NATURAL_GAS\n );","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"This time, let's add these components to our System using add_components! to add them both at the same time:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"add_components!(sys, [solar, gas])","category":"page"},{"location":"tutorials/creating_system/#Explore-the-System-and-its-Components","page":"Create and Explore a Power System","title":"Explore the System and its Components","text":"","category":"section"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Congratulations! You have built a power system including buses, a transmission line, a load, and different types of generators. Now let's take a look around. ","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Remember that we can see a summary of our System using the print statement:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"sys","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Now, let's double-check some of our data by retrieving it from the System. Let's use show_components again to get an overview of our renewable generators:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"show_components(sys, RenewableDispatch)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"We just have the one renewable generator named solar1. Use get_component to retrieve it by name:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"retrieved_component = get_component(RenewableDispatch, sys, \"solar1\");","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Let's double-check what type of renewable generator this is using a get_ function:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"get_prime_mover_type(retrieved_component)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Verify that this a PVe, or solar photovoltaic, generator.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Let's also use a get_ function to double-check where this generator is connected in the transmission network:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"get_bus(retrieved_component)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"See that the generator's bus is linked to the actual bus2 component in our System.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"These \"getter\" functions are available for all the data fields in a component.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"tip: Tip\nAlways use the get_* functions to retrieve the data within a component. While in Julia a user can use . to access the fields of a component, we make no guarantees on the stability of field names and locations. We do however promise to keep the getter functions stable. PowerSystems.jl also does many internal data calculations that the getter functions will properly handle for you, as you'll see below.","category":"page"},{"location":"tutorials/creating_system/#Changing-System-Per-Unit-Settings","page":"Create and Explore a Power System","title":"Changing System Per-Unit Settings","text":"","category":"section"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Now, let's use a getter function to look up the solar generator's rating:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"get_rating(retrieved_component)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"tip: Important\nWhen we defined the solar generator, we defined the rating as 1.0 per-unit with a device base_power of 5.0 MVA. Notice that the rating now reads 0.05. After we attached this component to our System, its power data is being returned to us in the System's units base.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Let's double-check the System's units base: ","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"get_units_base(sys)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"SYSTEM_BASE means all power-related (MW, MVA, MVAR, MW/min) component data in the System, except for each component's base_power, is per-unitized by the system base power for consistency. ","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Check the System's base_power again:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"get_base_power(sys)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Notice that when we called get_rating above, the solar generator's rating, 5.0 MW, is being returned as 0.05 = (5 MVA)/(100 MVA) using the system base power.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Instead of using the System base power, let's view everything in MW or MVA – or what we call \"NATURAL_UNITS\" in PowerSystems.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Change the System's unit system:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"set_units_base_system!(sys, \"NATURAL_UNITS\")","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Now retrieve the solar generator's rating again:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"get_rating(retrieved_component)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Notice that the value is now its \"natural\" value, 5.0 MVA.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Finally, let's change the System's unit system to the final option, \"DEVICE_BASE\":","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"set_units_base_system!(sys, \"DEVICE_BASE\")","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"And retrieve the solar generator's rating once more:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"get_rating(retrieved_component)","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"See that now the data is now 1.0 (5.0 MVA per-unitized by the generator (i.e., the device's) base_power of 5.0 MVA), which is the format we used to originally define the device. ","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Recall that if you ever need to check a System's settings, including the unit system being used by all the getter functions, you can always just print the System:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"sys","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"See the units base is printed as one of the System properties.","category":"page"},{"location":"tutorials/creating_system/#Next-Steps","page":"Create and Explore a Power System","title":"Next Steps","text":"","category":"section"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"In this tutorial, you manually created a power System, added and then retrieved its components, and modified the System per-unit settings.","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Next, you might want to:","category":"page"},{"location":"tutorials/creating_system/","page":"Create and Explore a Power System","title":"Create and Explore a Power System","text":"Add time series data to components in the System\nLearn more about how to retrieve components and their data from a System\nImport a System from an existing Matpower or PSSE file instead of creating it manually\nCreate your own System from .csv files instead of creating it manually\nRead more to understand per-unitization in PowerSystems.jl","category":"page"},{"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.\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":"how_to/add_cost_curve/#cost_how_to","page":"...add an Operating Cost","title":"Adding an Operating Cost","text":"","category":"section"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"This how-to guide covers the steps to select and add an operating cost to a component, such as a generator, load, or energy storage system.","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"using PowerSystems #hide","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"To begin, the user must make 2 or 3 decisions before defining the operating cost:","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"Select an appropriate OperationalCost from the OperationalCost options. In general, each operating cost has parameters to define fixed and variable costs. To be able to define an OperationalCost, you must first select a curve to represent the variable cost(s).\nIf you selected ThermalGenerationCost or HydroGenerationCost, select either a FuelCurve or CostCurve to represent the variable cost, based on the units of the generator's data.\nIf you have data in terms of heat rate or water flow, use FuelCurve.\nIf you have data in units of currency, such as $/MWh, use CostCurve.\nIf you selected another OperationalCost type, the variable cost is represented as a CostCurve.\nSelect a ValueCurve to represent the variable cost data by comparing the format of your variable cost data to the Variable Cost Representations table and the ValueCurve options.","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"Then, the user defines the cost by working backwards:","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"Define the variable cost's ValueCurve\nUse the ValueCurve to define the selected CostCurve or FuelCurve\nUse the CostCurve or FuelCurve to define the OperationalCost","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"Let's look at a few examples. ","category":"page"},{"location":"how_to/add_cost_curve/#Example-1:-A-Renewable-Generator","page":"...add an Operating Cost","title":"Example 1: A Renewable Generator","text":"","category":"section"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"We have a renewable unit that produces at $22/MWh. ","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"Following the decision steps above:","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"We select RenewableGenerationCost to represent this renewable generator.\nWe select a LinearCurve to represent the $22/MWh variable cost.","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"Following the implementation steps, we define RenewableGenerationCost by nesting the definitions:","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"RenewableGenerationCost(variable = CostCurve(value_curve = LinearCurve(22.0)))","category":"page"},{"location":"how_to/add_cost_curve/#Example-2:-A-Thermal-Generator","page":"...add an Operating Cost","title":"Example 2: A Thermal Generator","text":"","category":"section"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"We have a thermal generating unit that has a heat rate of 7 GJ/MWh at 100 MW and 9 GJ/MWh at 200 MW, plus a fixed cost of $6.0/hr, a start-up cost of $2000, and a shut-down cost of $1000. Its fuel cost is $20/GJ.","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"Following the decision steps above:","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"We select ThermalGenerationCost to represent this thermal generator.\nWe select FuelCurve because we have consumption in units of fuel (GJ/MWh) instead of currency.\nWe select a PiecewisePointCurve to represent the piecewise linear heat rate curve.","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"This time, we'll define each step individually, beginning with the heat rate curve:","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"heat_rate_curve = PiecewisePointCurve([(100.0, 7.0), (200.0, 9.0)])","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"Use the heat rate to define the fuel curve, including the cost of fuel:","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"fuel_curve = FuelCurve(value_curve = heat_rate_curve, fuel_cost = 20.0)","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"Finally, define the full operating cost:","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"cost = ThermalGenerationCost(variable = fuel_curve, fixed = 6.0, start_up = 2000.0, shut_down = 1000.0)","category":"page"},{"location":"how_to/add_cost_curve/","page":"...add an Operating Cost","title":"...add an Operating Cost","text":"This OperationalCost can be used when defining a component or added to an existing component using set_operation_cost!.","category":"page"},{"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":"how_to/reduce_repl_printing/#Reduce-REPL-printing","page":"...reduce REPL printing","title":"Reduce REPL printing","text":"","category":"section"},{"location":"how_to/reduce_repl_printing/","page":"...reduce REPL printing","title":"...reduce REPL printing","text":"By default PowerSystems.jl outputs to the REPL all Logging statements, which can be overwhelming in some cases. ","category":"page"},{"location":"how_to/reduce_repl_printing/","page":"...reduce REPL printing","title":"...reduce REPL printing","text":"Use configure_logging to create a logger with your preferences for which logging statements should be printed to the console or a log file:","category":"page"},{"location":"how_to/reduce_repl_printing/","page":"...reduce REPL printing","title":"...reduce REPL printing","text":"Example: Set log output to only see error messages in the console","category":"page"},{"location":"how_to/reduce_repl_printing/","page":"...reduce REPL printing","title":"...reduce REPL printing","text":"using PowerSystems\nusing Logging\nconfigure_logging(console_level = Logging.Error)","category":"page"},{"location":"how_to/reduce_repl_printing/","page":"...reduce REPL printing","title":"...reduce REPL printing","text":"Note: log messages are not automatically flushed to files. Call flush(logger) to make this happen.","category":"page"},{"location":"how_to/reduce_repl_printing/","page":"...reduce REPL printing","title":"...reduce REPL printing","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":"how_to/improve_ts_performance/#Improve-Performance-with-Time-Series-Data","page":"...improve performance with time series data","title":"Improve Performance with Time Series Data","text":"","category":"section"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"Use the steps here to improve performance with small or large data sets, but particularly large data sets. These improvements can help handle adding large numbers of data sets or reduce overhead when accessing time series data multiple times. ","category":"page"},{"location":"how_to/improve_ts_performance/#Choosing-the-Storage-Location","page":"...improve performance with time series data","title":"Choosing the Storage Location","text":"","category":"section"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"By default, time series data is stored in an HDF5 file in the tmp file system to prevent large datasets from overwhelming system memory. However, you can change its location.","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"Small data sets","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"If your dataset will fit in your computer's memory, then you can increase performance by storing it in memory:","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"sys = System(100.0; time_series_in_memory = true)","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"Large data sets","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"If the system's time series data will be larger than the amount of tmp space available, use the time_series_directory parameter to change its location.","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"sys = System(100.0; time_series_directory = \"bigger_directory\")","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"You can also override the location by setting the environment variable SIENNA_TIME_SERIES_DIRECTORY to another directory.","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"HDF5 compression is not enabled by default, but you can enable it with enable_compression to get significant storage savings at the cost of CPU time. CompressionSettings can be used to customize the HDF5 compression.","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"sys = System(100.0; enable_compression = true)\nsys = System(100.0; compression = CompressionSettings(\n enabled = true,\n type = CompressionTypes.DEFLATE, # BLOSC is also supported\n level = 3,\n shuffle = true)\n)","category":"page"},{"location":"how_to/improve_ts_performance/#Adding-Timeseries-To-The-System","page":"...improve performance with time series data","title":"Adding Timeseries To The System","text":"","category":"section"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with 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. 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. ","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"resolution = Dates.Hour(1)\ndata = Dict(\n DateTime(\"2020-01-01T00:00:00\") => ones(24),\n DateTime(\"2020-01-01T01:00:00\") => ones(24),\n)\n# Define a Deterministic for the first attribute\nforecast_max_active_power = Deterministic(\n \"max_active_power\",\n data,\n resolution,\n scaling_factor_multiplier = get_max_active_power,\n)\nadd_time_series!(sys, generator, forecast_max_active_power)\n# Reuse time series for second attribute\nforecast_max_reactive_power = Deterministic(\n forecast_max_active_power,\n \"max_reactive_power\"\n scaling_factor_multiplier = get_max_reactive_power,\n)\nadd_time_series!(sys, generator, forecast_max_reactive_power)","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with 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!. All arrays will be written with one file handle. The bulk SQLite operations are much more efficient. As a fallback option, use open_time_series_store! if timeseries must be added one at a time.","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"# Assumes `read_time_series` will return data appropriate for Deterministic forecasts\n# based on the generator name and the filenames match the component and time series names.\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)","category":"page"},{"location":"how_to/improve_ts_performance/#Using-Forecast-Caches-for-Simulations","page":"...improve performance with time series data","title":"Using Forecast Caches for Simulations","text":"","category":"section"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"Each retrieval of a forecast window from the HDF5 file will involve a small disk read. In the case of production cost modeling or other analyses that access forecast windows repeatedly, this can slow down processes significantly, especially if the underlying storage uses spinning disks.","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"PowerSystems provides an alternate interface – the forecast cache – that pre-fetches data into the system memory with large reads in order to mitigate this potential problem. It is highly recommended that you use this interface for modeling implementations. This is particularly relevant for models using large datasets. For example:","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with 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 # or\n for window in cache\n @show window\n end","category":"page"},{"location":"how_to/improve_ts_performance/","page":"...improve performance with time series data","title":"...improve performance with time series data","text":"Each iteration of on the cache object will deliver the next forecast window (see get_next_time_series_array!).","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":"Modules = [PowerSystems]\nPages = [\"cost_functions/variable_cost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/cost_curves/#PowerSystems.CostCurve","page":"Variable Cost Curves","title":"PowerSystems.CostCurve","text":"struct CostCurve{T<:ValueCurve} <: ProductionVariableCostCurve{T<:ValueCurve}\n\nvalue_curve::ValueCurve: The underlying ValueCurve representation of this ProductionVariableCostCurve\npower_units::UnitSystem: (default: natural units (MW)) The units for the x-axis of the curve\nvom_cost::LinearCurve: (default of 0) Additional proportional Variable Operation and Maintenance Cost in /(power_unit h), represented as a LinearCurve\n\nCostCurve(value_curve, power_units, vom_cost)\nCostCurve(; value_curve, power_units, vom_cost)\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 MW and can be specified with power_units.\n\n\n\n\n\n","category":"type"},{"location":"model_library/cost_curves/#PowerSystems.FuelCurve","page":"Variable Cost Curves","title":"PowerSystems.FuelCurve","text":"struct FuelCurve{T<:ValueCurve} <: ProductionVariableCostCurve{T<:ValueCurve}\n\nvalue_curve::ValueCurve: The underlying ValueCurve representation of this ProductionVariableCostCurve\npower_units::UnitSystem: (default: natural units (MW)) The units for the x-axis of the curve\nfuel_cost::Union{Float64, TimeSeriesKey}: Either a fixed value for fuel cost or the key to a fuel cost time series\nvom_cost::LinearCurve: (default of 0) Additional proportional Variable Operation and Maintenance Cost in /(power_unit h) represented as a LinearCurve\n\nFuelCurve(value_curve, power_units, fuel_cost, vom_cost)\nFuelCurve(value_curve, fuel_cost)\nFuelCurve(value_curve, fuel_cost, vom_cost)\nFuelCurve(value_curve, power_units, fuel_cost)\nFuelCurve(; value_curve, power_units, fuel_cost, vom_cost)\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 MW and can be specified with power_units.\n\n\n\n\n\n","category":"type"},{"location":"model_library/cost_curves/#InfrastructureSystems.is_convex-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"InfrastructureSystems.is_convex","text":"is_convex(cost::ProductionVariableCostCurve) -> Any\n\n\nCalculate the convexity of the underlying data\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_fuel_cost-Tuple{FuelCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_fuel_cost","text":"get_fuel_cost(\n cost::FuelCurve\n) -> Union{Float64, TimeSeriesKey}\n\n\nGet the fuel cost or the name of the fuel cost time series\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_function_data-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_function_data","text":"get_function_data(cost::ProductionVariableCostCurve) -> Any\n\n\nGet the FunctionData representation of this ProductionVariableCostCurve's ValueCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_initial_input-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_initial_input","text":"get_initial_input(\n cost::ProductionVariableCostCurve\n) -> Union{Nothing, Float64}\n\n\nGet the initial_input field of this ProductionVariableCostCurve's ValueCurve (not defined for input-output data)\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_power_units-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_power_units","text":"get_power_units(cost::ProductionVariableCostCurve) -> Any\n\n\nGet the units for the x-axis of the curve\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_value_curve-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_value_curve","text":"get_value_curve(cost::ProductionVariableCostCurve) -> Any\n\n\nGet the underlying ValueCurve representation of this ProductionVariableCostCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/cost_curves/#PowerSystems.get_vom_cost-Tuple{ProductionVariableCostCurve}","page":"Variable Cost Curves","title":"PowerSystems.get_vom_cost","text":"get_vom_cost(cost::ProductionVariableCostCurve) -> Any\n\n\nGet the variable operation and maintenance cost in currency/(power_units h)\n\n\n\n\n\n","category":"method"},{"location":"api/citation/#Citation","page":"Citation","title":"Citation","text":"","category":"section"},{"location":"api/citation/","page":"Citation","title":"Citation","text":"Users are requested to please cite the following paper:","category":"page"},{"location":"api/citation/","page":"Citation","title":"Citation","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":"api/citation/","page":"Citation","title":"Citation","text":"","category":"page"},{"location":"api/citation/","page":"Citation","title":"Citation","text":"PowerSystems has been developed as part of the Sienna modeling framework by the U.S. Department of Energy's National Renewable Energy Laboratory (NREL).","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.\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.\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/#DEGOV1","page":"TurbineGov","title":"DEGOV1","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/DEGOV1.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.DEGOV1","page":"TurbineGov","title":"PowerSystems.DEGOV1","text":"mutable struct DEGOV1 <: TurbineGov\n droop_flag::Int\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 T_lim::Tuple{Float64, Float64}\n R::Float64\n Te::Float64\n P_ref::Float64\n ext::Dict{String, Any}\n states::Vector{Symbol}\n n_states::Int\n internal::InfrastructureSystemsInternal\nend\n\nParameters Woodward Diesel Governor Model. DEGOV1 in PSSE\n\nArguments\n\ndroop_flag::Int: Droop control Flag. 0 for throttle feedback and 1 for electric power feedback, validation range: (0, 1)\nT1::Float64: Governor mechanism time constant in s, validation range: (0, 100)\nT2::Float64: Turbine power time constant in s, validation range: (0, 100)\nT3::Float64: Turbine exhaust temperature time constant in s, validation range: (0, 100)\nK::Float64: Governor gain for actuator, validation range: (0, 100)\nT4::Float64: Governor lead time constant in s, validation range: (0, 100)\nT5::Float64: Governor lag time constant in s, validation range: (0, 100)\nT6::Float64: Actuator time constant in s, validation range: (0, 100)\nTd::Float64: Engine time delay in s, validation range: (0, 100)\nT_lim::Tuple{Float64, Float64}: Operational control limits on actuator (Tmin, Tmax)\nR::Float64: Steady state droop parameter, validation range: (0, 100)\nTe::Float64: Power transducer time constant in s, validation range: (0, 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.\nstates::Vector{Symbol}: (Do not modify.) The states of the DEGOV1 model depends on the droop flag\nn_states::Int: (Do not modify.) The number of states of the DEGOV1 model depends on the droop flag\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{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_K","text":"get_K(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_R-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_R","text":"get_R(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T1-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T1","text":"get_T1(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T2-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T2","text":"get_T2(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T3-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T3","text":"get_T3(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T4-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T4","text":"get_T4(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T5-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T5","text":"get_T5(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T6-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T6","text":"get_T6(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_lim-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_T_lim","text":"get_T_lim(value::DEGOV1) -> Tuple{Float64, Float64}\n\n\nGet DEGOV1 T_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Td-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_Td","text":"get_Td(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Te-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_Te","text":"get_Te(value::DEGOV1) -> Float64\n\n\nGet DEGOV1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_droop_flag-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_droop_flag","text":"get_droop_flag(value::DEGOV1) -> Int64\n\n\nGet DEGOV1 droop_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::DEGOV1) -> Dict{String, Any}\n\n\nGet DEGOV1 ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::DEGOV1) -> Int64\n\n\nGet DEGOV1 n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{DEGOV1}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::DEGOV1) -> Vector{Symbol}\n\n\nGet DEGOV1 states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_K!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_K!","text":"set_K!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 K.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_R!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_R!","text":"set_R!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 R.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T1!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T1!","text":"set_T1!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T1.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T2!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T2!","text":"set_T2!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T2.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T3!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T3!","text":"set_T3!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T3.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T4!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T4!","text":"set_T4!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T4.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T5!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T5!","text":"set_T5!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T5.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T6!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T6!","text":"set_T6!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T6.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_lim!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_T_lim!","text":"set_T_lim!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 T_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Td!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_Td!","text":"set_Td!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Te!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_Te!","text":"set_Te!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_droop_flag!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_droop_flag!","text":"set_droop_flag!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 droop_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{DEGOV1, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::DEGOV1, val) -> Any\n\n\nSet DEGOV1 ext.\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.\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.\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.\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.\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/#PIDGOV","page":"TurbineGov","title":"PIDGOV","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/PIDGOV.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.PIDGOV","page":"TurbineGov","title":"PowerSystems.PIDGOV","text":"mutable struct PIDGOV <: TurbineGov\n feedback_flag::Int\n Rperm::Float64\n T_reg::Float64\n Kp::Float64\n Ki::Float64\n Kd::Float64\n Ta::Float64\n Tb::Float64\n D_turb::Float64\n gate_openings::Tuple{Float64, Float64, Float64}\n power_gate_openings::Tuple{Float64, Float64, Float64}\n G_lim::MinMax\n A_tw::Float64\n Tw::Float64\n V_lim::MinMax\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 with PID controller.\n\nArguments\n\nfeedback_flag::Int: Feedback signal for governor droop: 0 for electrical power, and 1 for gate position., validation range: (0, 1)\nRperm::Float64: Speed permanent droop parameter, validation range: (0, nothing)\nT_reg::Float64: Speed detector time constant, validation range: (0, nothing)\nKp::Float64: Governor proportional gain, validation range: (0, nothing)\nKi::Float64: Governor integral gain, validation range: (0, nothing)\nKd::Float64: Governor derivative gain, validation range: (0, nothing)\nTa::Float64: Governor derivative time constant, validation range: (0, nothing)\nTb::Float64: Gate-servo time constant, validation range: (0, nothing)\nD_turb::Float64: Turbine damping factor, validation range: (0, nothing)\ngate_openings::Tuple{Float64, Float64, Float64}: Gate-opening speed at different loads\npower_gate_openings::Tuple{Float64, Float64, Float64}: Power at gate_openings\nG_lim::MinMax: Minimum/Maximum Gate openings (G_min, G_max).\nA_tw::Float64: Factor multiplying Tw, validation range: (eps(), nothing)\nTw::Float64: Water inertia time constant, sec, validation range: (eps(), nothing)\nV_lim::MinMax: Gate opening velocity limits (G_min, G_max).\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.\nstates::Vector{Symbol}: (Do not modify.) The states of the PIDGOV model are:\n\nx_g1: Filtered input measurement,\nx_g2: PI block internal state,\nx_g3: First regulator state, \nx_g4: Derivative block internal state, \nx_g5: Second regulator state, \nx_g6: Gate position state, \nx_g7: Water inertia state\n\nn_states::Int: (Do not modify.) PIDGOV has 7 states\nstates_types::Vector{StateTypes}: (Do not modify.) PIDGOV 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_TurbineGov/#PowerSystems.get_A_tw-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_A_tw","text":"get_A_tw(value::PIDGOV) -> Float64\n\n\nGet PIDGOV A_tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_D_turb-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_D_turb","text":"get_D_turb(value::PIDGOV) -> Float64\n\n\nGet PIDGOV D_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_G_lim-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_G_lim","text":"get_G_lim(\n value::PIDGOV\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet PIDGOV G_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kd-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Kd","text":"get_Kd(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ki-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Ki","text":"get_Ki(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kp-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Kp","text":"get_Kp(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::PIDGOV) -> Float64\n\n\nGet PIDGOV P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Rperm-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Rperm","text":"get_Rperm(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Rperm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_reg-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_T_reg","text":"get_T_reg(value::PIDGOV) -> Float64\n\n\nGet PIDGOV T_reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ta-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Ta","text":"get_Ta(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tb-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Tb","text":"get_Tb(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tw-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_Tw","text":"get_Tw(value::PIDGOV) -> Float64\n\n\nGet PIDGOV Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_V_lim-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_V_lim","text":"get_V_lim(\n value::PIDGOV\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet PIDGOV V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::PIDGOV) -> Dict{String, Any}\n\n\nGet PIDGOV ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_feedback_flag-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_feedback_flag","text":"get_feedback_flag(value::PIDGOV) -> Int64\n\n\nGet PIDGOV feedback_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_gate_openings-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_gate_openings","text":"get_gate_openings(\n value::PIDGOV\n) -> Tuple{Float64, Float64, Float64}\n\n\nGet PIDGOV gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::PIDGOV) -> Int64\n\n\nGet PIDGOV n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_power_gate_openings-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_power_gate_openings","text":"get_power_gate_openings(\n value::PIDGOV\n) -> Tuple{Float64, Float64, Float64}\n\n\nGet PIDGOV power_gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::PIDGOV) -> Vector{Symbol}\n\n\nGet PIDGOV states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{PIDGOV}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(value::PIDGOV) -> Vector{StateTypes}\n\n\nGet PIDGOV states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_A_tw!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_A_tw!","text":"set_A_tw!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV A_tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_D_turb!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_D_turb!","text":"set_D_turb!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV D_turb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_G_lim!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_G_lim!","text":"set_G_lim!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV G_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kd!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ki!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Ki!","text":"set_Ki!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kp!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Kp!","text":"set_Kp!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Rperm!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Rperm!","text":"set_Rperm!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Rperm.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_reg!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_T_reg!","text":"set_T_reg!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV T_reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ta!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tb!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tw!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_Tw!","text":"set_Tw!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_V_lim!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_V_lim!","text":"set_V_lim!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_feedback_flag!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_feedback_flag!","text":"set_feedback_flag!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV feedback_flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_gate_openings!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_gate_openings!","text":"set_gate_openings!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_power_gate_openings!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_power_gate_openings!","text":"set_power_gate_openings!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV power_gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{PIDGOV, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::PIDGOV, val) -> Any\n\n\nSet PIDGOV states_types.\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.\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.\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.\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.\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":"model_library/generated_TurbineGov/#WPIDHY","page":"TurbineGov","title":"WPIDHY","text":"","category":"section"},{"location":"model_library/generated_TurbineGov/","page":"TurbineGov","title":"TurbineGov","text":"Modules = [PowerSystems]\nPages = [\"/WPIDHY.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_TurbineGov/#PowerSystems.WPIDHY","page":"TurbineGov","title":"PowerSystems.WPIDHY","text":"mutable struct WPIDHY <: TurbineGov\n T_reg::Float64\n reg::Float64\n Kp::Float64\n Ki::Float64\n Kd::Float64\n Ta::Float64\n Tb::Float64\n V_lim::MinMax\n G_lim::MinMax\n Tw::Float64\n P_lim::MinMax\n D::Float64\n gate_openings::Tuple{Float64, Float64, Float64}\n power_gate_openings::Tuple{Float64, Float64, 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\nWoodward PID Hydro Governor\n\nArguments\n\nT_reg::Float64: Input time constant of the governor in s, validation range: (0, nothing)\nreg::Float64: Input governor gain, validation range: (0, nothing)\nKp::Float64: Governor proportional gain, validation range: (0, nothing)\nKi::Float64: Governor integral gain, validation range: (0, nothing)\nKd::Float64: Governor derivative gain, validation range: (0, nothing)\nTa::Float64: Governor derivative/high-frequency time constant, validation range: (0, nothing)\nTb::Float64: Gate-servo time constant, validation range: (0, nothing)\nV_lim::MinMax: Gate opening velocity limits (G_min, G_max).\nG_lim::MinMax: Minimum/Maximum Gate velocity (G_min, G_max).\nTw::Float64: Water inertia time constant, sec, validation range: (eps(), nothing)\nP_lim::MinMax: Minimum/Maximum Gate openings (P_min, P_max).\nD::Float64: Turbine damping coefficient, validation range: (0, nothing)\ngate_openings::Tuple{Float64, Float64, Float64}: Gate-opening speed at different loads\npower_gate_openings::Tuple{Float64, Float64, Float64}: Power at gate_openings\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.\nstates::Vector{Symbol}: (Do not modify.) The states of the PIDGOV model are:\n\nx_g1: Filtered input measurement,\nx_g2: PI block internal state,\nx_g3: First regulator state, \nx_g4: Derivative block internal state, \nx_g5: Second regulator state, \nx_g6: Gate position state, \nx_g7: Water inertia state\n\nn_states::Int: (Do not modify.) PIDGOV has 7 states\nstates_types::Vector{StateTypes}: (Do not modify.) PIDGOV 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_TurbineGov/#PowerSystems.get_D-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_D","text":"get_D(value::WPIDHY) -> Float64\n\n\nGet WPIDHY D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_G_lim-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_G_lim","text":"get_G_lim(\n value::WPIDHY\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet WPIDHY G_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kd-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Kd","text":"get_Kd(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ki-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Ki","text":"get_Ki(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Kp-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Kp","text":"get_Kp(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_lim-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_P_lim","text":"get_P_lim(\n value::WPIDHY\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet WPIDHY P_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_P_ref-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_P_ref","text":"get_P_ref(value::WPIDHY) -> Float64\n\n\nGet WPIDHY P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_T_reg-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_T_reg","text":"get_T_reg(value::WPIDHY) -> Float64\n\n\nGet WPIDHY T_reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Ta-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Ta","text":"get_Ta(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tb-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Tb","text":"get_Tb(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_Tw-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_Tw","text":"get_Tw(value::WPIDHY) -> Float64\n\n\nGet WPIDHY Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_V_lim-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_V_lim","text":"get_V_lim(\n value::WPIDHY\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet WPIDHY V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_ext-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_ext","text":"get_ext(value::WPIDHY) -> Dict{String, Any}\n\n\nGet WPIDHY ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_gate_openings-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_gate_openings","text":"get_gate_openings(\n value::WPIDHY\n) -> Tuple{Float64, Float64, Float64}\n\n\nGet WPIDHY gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_n_states-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_n_states","text":"get_n_states(value::WPIDHY) -> Int64\n\n\nGet WPIDHY n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_power_gate_openings-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_power_gate_openings","text":"get_power_gate_openings(\n value::WPIDHY\n) -> Tuple{Float64, Float64, Float64}\n\n\nGet WPIDHY power_gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_reg-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_reg","text":"get_reg(value::WPIDHY) -> Float64\n\n\nGet WPIDHY reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_states","text":"get_states(value::WPIDHY) -> Vector{Symbol}\n\n\nGet WPIDHY states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.get_states_types-Tuple{WPIDHY}","page":"TurbineGov","title":"PowerSystems.get_states_types","text":"get_states_types(value::WPIDHY) -> Vector{StateTypes}\n\n\nGet WPIDHY states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_D!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_D!","text":"set_D!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY D.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_G_lim!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_G_lim!","text":"set_G_lim!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY G_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kd!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ki!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Ki!","text":"set_Ki!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Kp!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Kp!","text":"set_Kp!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_lim!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_P_lim!","text":"set_P_lim!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY P_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_P_ref!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_P_ref!","text":"set_P_ref!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY P_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_T_reg!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_T_reg!","text":"set_T_reg!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY T_reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Ta!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tb!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Tb!","text":"set_Tb!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Tb.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_Tw!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_Tw!","text":"set_Tw!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY Tw.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_V_lim!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_V_lim!","text":"set_V_lim!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY V_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_ext!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_ext!","text":"set_ext!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_gate_openings!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_gate_openings!","text":"set_gate_openings!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_power_gate_openings!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_power_gate_openings!","text":"set_power_gate_openings!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY power_gate_openings.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_reg!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_reg!","text":"set_reg!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY reg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_TurbineGov/#PowerSystems.set_states_types!-Tuple{WPIDHY, Any}","page":"TurbineGov","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::WPIDHY, val) -> Any\n\n\nSet WPIDHY states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/renewable_generation_cost/#RenewableGenerationCost","page":"RenewableGenerationCost","title":"RenewableGenerationCost","text":"","category":"section"},{"location":"model_library/renewable_generation_cost/","page":"RenewableGenerationCost","title":"RenewableGenerationCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/RenewableGenerationCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/renewable_generation_cost/#PowerSystems.RenewableGenerationCost","page":"RenewableGenerationCost","title":"PowerSystems.RenewableGenerationCost","text":"mutable struct RenewableGenerationCost <: OperationalCost\n\nvariable::CostCurve: Variable cost represented as a CostCurve\ncurtailment_cost::CostCurve: (default of 0) Cost of curtailing power represented as a CostCurve\n\nRenewableGenerationCost(variable, curtailment_cost)\nRenewableGenerationCost(variable; curtailment_cost)\nRenewableGenerationCost(; variable, curtailment_cost)\n\nAn operational cost of renewable generators 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\nThe variable cost is a required parameter, but zero(CostCurve) can be used to set it to 0.\n\n\n\n\n\n","category":"type"},{"location":"model_library/renewable_generation_cost/#PowerSystems.get_curtailment_cost-Tuple{RenewableGenerationCost}","page":"RenewableGenerationCost","title":"PowerSystems.get_curtailment_cost","text":"get_curtailment_cost(\n value::RenewableGenerationCost\n) -> CostCurve\n\n\nGet RenewableGenerationCost curtailment_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/renewable_generation_cost/#PowerSystems.get_variable-Tuple{RenewableGenerationCost}","page":"RenewableGenerationCost","title":"PowerSystems.get_variable","text":"get_variable(value::RenewableGenerationCost) -> CostCurve\n\n\nGet RenewableGenerationCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/renewable_generation_cost/#PowerSystems.set_curtailment_cost!-Tuple{RenewableGenerationCost, Any}","page":"RenewableGenerationCost","title":"PowerSystems.set_curtailment_cost!","text":"set_curtailment_cost!(\n value::RenewableGenerationCost,\n val\n) -> Any\n\n\nSet RenewableGenerationCost curtailment_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/renewable_generation_cost/#PowerSystems.set_variable!-Tuple{RenewableGenerationCost, Any}","page":"RenewableGenerationCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::RenewableGenerationCost, val) -> Any\n\n\nSet RenewableGenerationCost variable.\n\n\n\n\n\n","category":"method"},{"location":"api/type_tree/#Type-Hierarchy","page":"Type Hierarchy","title":"Type Hierarchy","text":"","category":"section"},{"location":"api/type_tree/","page":"Type Hierarchy","title":"Type Hierarchy","text":"Here is the complete PowerSystems.jl type hierarchy:","category":"page"},{"location":"api/type_tree/","page":"Type Hierarchy","title":"Type Hierarchy","text":"using PowerSystems #hide\nimport TypeTree: tt #hide\ndocs_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"utils\"); #hide\ninclude(joinpath(docs_dir, \"docs_utils.jl\")); #hide\nprint(join(tt(PowerSystems.IS.InfrastructureSystemsType), \"\")) #hide","category":"page"},{"location":"model_library/value_curves/#value_curve_library","page":"Value Curves","title":"ValueCurves","text":"","category":"section"},{"location":"model_library/value_curves/","page":"Value Curves","title":"Value Curves","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/cost_aliases.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/value_curves/#PowerSystems.LinearCurve","page":"Value Curves","title":"PowerSystems.LinearCurve","text":"LinearCurve(proportional_term::Float64)\nLinearCurve(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/value_curves/#PowerSystems.PiecewiseAverageCurve","page":"Value Curves","title":"PowerSystems.PiecewiseAverageCurve","text":"PiecewiseAverageCurve(initial_input::Union{Float64, Nothing}, 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::Union{Float64, Nothing}: cost at minimum production point first(x_coords) (NOT at zero production), defines the start of the curve\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":"model_library/value_curves/#PowerSystems.PiecewiseIncrementalCurve","page":"Value Curves","title":"PowerSystems.PiecewiseIncrementalCurve","text":"PiecewiseIncrementalCurve(initial_input::Union{Float64, Nothing}, x_coords::Vector{Float64}, slopes::Vector{Float64})\nPiecewiseIncrementalCurve(input_at_zero::Union{Nothing, Float64}, initial_input::Union{Float64, Nothing}, 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\ninput_at_zero::Union{Nothing, Float64}: (optional, defaults to nothing) cost at zero production, does NOT represent a part of the curve\ninitial_input::Union{Float64, Nothing}: cost at minimum production point first(x_coords) (NOT at zero production), defines the start of the curve\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/value_curves/#PowerSystems.PiecewisePointCurve","page":"Value 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/value_curves/#PowerSystems.QuadraticCurve","page":"Value 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/value_curves/#InfrastructureSystems.get_constant_term-Tuple{LinearCurve}","page":"Value Curves","title":"InfrastructureSystems.get_constant_term","text":"get_constant_term(vc::LinearCurve) -> Float64\n\n\nGet the constant term (i.e., intercept) of the LinearCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_constant_term-Tuple{QuadraticCurve}","page":"Value Curves","title":"InfrastructureSystems.get_constant_term","text":"get_constant_term(vc::QuadraticCurve) -> Float64\n\n\nGet the constant term of the QuadraticCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_points-Tuple{PiecewisePointCurve}","page":"Value Curves","title":"InfrastructureSystems.get_points","text":"get_points(\n vc::PiecewisePointCurve\n) -> Vector{@NamedTuple{x::Float64, y::Float64}}\n\n\nGet the points that define the PiecewisePointCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_proportional_term-Tuple{LinearCurve}","page":"Value Curves","title":"InfrastructureSystems.get_proportional_term","text":"get_proportional_term(vc::LinearCurve) -> Float64\n\n\nGet the proportional term (i.e., slope) of the LinearCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_proportional_term-Tuple{QuadraticCurve}","page":"Value Curves","title":"InfrastructureSystems.get_proportional_term","text":"get_proportional_term(vc::QuadraticCurve) -> Float64\n\n\nGet the proportional (i.e., linear) term of the QuadraticCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_quadratic_term-Tuple{QuadraticCurve}","page":"Value Curves","title":"InfrastructureSystems.get_quadratic_term","text":"get_quadratic_term(vc::QuadraticCurve) -> Float64\n\n\nGet the quadratic term of the QuadraticCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_slopes-Tuple{PiecewiseIncrementalCurve}","page":"Value Curves","title":"InfrastructureSystems.get_slopes","text":"get_slopes(vc::PiecewiseIncrementalCurve) -> Vector{Float64}\n\n\nFetch the slopes that define the PiecewiseIncrementalCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_slopes-Tuple{PiecewisePointCurve}","page":"Value Curves","title":"InfrastructureSystems.get_slopes","text":"get_slopes(vc::PiecewisePointCurve) -> Vector{Float64}\n\n\nCalculate the slopes of the line segments defined by the PiecewisePointCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_x_coords-Tuple{PiecewiseAverageCurve}","page":"Value Curves","title":"InfrastructureSystems.get_x_coords","text":"get_x_coords(vc::PiecewiseAverageCurve) -> Vector{Float64}\n\n\nGet the x-coordinates that define the PiecewiseAverageCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_x_coords-Tuple{PiecewiseIncrementalCurve}","page":"Value Curves","title":"InfrastructureSystems.get_x_coords","text":"get_x_coords(\n vc::PiecewiseIncrementalCurve\n) -> Vector{Float64}\n\n\nGet the x-coordinates that define the PiecewiseIncrementalCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_x_coords-Tuple{PiecewisePointCurve}","page":"Value Curves","title":"InfrastructureSystems.get_x_coords","text":"get_x_coords(vc::PiecewisePointCurve) -> Vector{Float64}\n\n\nGet the x-coordinates of the points that define the PiecewisePointCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#InfrastructureSystems.get_y_coords-Tuple{PiecewisePointCurve}","page":"Value Curves","title":"InfrastructureSystems.get_y_coords","text":"get_y_coords(vc::PiecewisePointCurve) -> Vector{Float64}\n\n\nGet the y-coordinates of the points that define the PiecewisePointCurve\n\n\n\n\n\n","category":"method"},{"location":"model_library/value_curves/#PowerSystems.get_average_rates-Tuple{PiecewiseAverageCurve}","page":"Value Curves","title":"PowerSystems.get_average_rates","text":"get_average_rates(\n vc::PiecewiseAverageCurve\n) -> Vector{Float64}\n\n\nGet the average rates that define the PiecewiseAverageCurve\n\n\n\n\n\n","category":"method"},{"location":"tutorials/add_dynamic_device/#Creating-a-System-with-Dynamic-devices","page":"Adding dynamic devices","title":"Creating a System with Dynamic devices","text":"","category":"section"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"using PowerSystems\nconst PSY = PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\")","category":"page"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"The following describes the system creation for the one machine infinite bus case using custom component specifications.","category":"page"},{"location":"tutorials/add_dynamic_device/#One-Machine-Infinite-Bus-Example","page":"Adding dynamic devices","title":"One Machine Infinite Bus Example","text":"","category":"section"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"We can load this data file first","category":"page"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"omib_sys = System(joinpath(file_dir, \"OMIB.raw\"), runchecks = false)","category":"page"},{"location":"tutorials/add_dynamic_device/#Dynamic-Generator","page":"Adding dynamic devices","title":"Dynamic Generator","text":"","category":"section"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"Once the data is created, we can export our system data such that it can be reloaded later:","category":"page"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"to_json(omib_sys, \"YOUR_DIR/omib_sys.json\")","category":"page"},{"location":"tutorials/add_dynamic_device/#Example-with-Dynamic-Inverter","page":"Adding dynamic devices","title":"Example with Dynamic Inverter","text":"","category":"section"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"threebus_sys = System(joinpath(file_dir, \"ThreeBusInverter.raw\"), runchecks = false)","category":"page"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/#Dynamic-Inverter-definition","page":"Adding dynamic devices","title":"Dynamic Inverter definition","text":"","category":"section"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"We will create specific components of the inverter as follows:","category":"page"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"Similarly we will construct a dynamic generator as follows:","category":"page"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/#Add-the-components-to-the-System","page":"Adding dynamic devices","title":"Add the components to the System","text":"","category":"section"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding 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":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"Finally we can seraliaze the system data for later reloading","category":"page"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","text":"to_json(threebus_sys, \"YOUR_DIR/threebus_sys.json\")","category":"page"},{"location":"tutorials/add_dynamic_device/","page":"Adding dynamic devices","title":"Adding dynamic devices","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, validation range: (0, nothing)\noperation_cost::Union{HydroGenerationCost, MarketBidCost}: (default: HydroGenerationCost(nothing)) OperationalCost 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.\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. When defining a line before it is attached to a System, rating must be in per-unit divided by the base power of the System it will be attached to\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.\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":"explanation/per_unit/#per_unit","page":"Per-unit Conventions","title":"Per-unit Conventions","text":"","category":"section"},{"location":"explanation/per_unit/","page":"Per-unit Conventions","title":"Per-unit Conventions","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":"explanation/per_unit/","page":"Per-unit Conventions","title":"Per-unit Conventions","text":"\"NATURAL_UNITS\": The naturally defined units of each parameter (typically MW).\n\"SYSTEM_BASE\": Parameter values are divided by the system base_power.\n\"DEVICE_BASE\": Parameter values are divided by the device base_mva.","category":"page"},{"location":"explanation/per_unit/","page":"Per-unit Conventions","title":"Per-unit Conventions","text":"To see the unit system setting of a System:","category":"page"},{"location":"explanation/per_unit/","page":"Per-unit Conventions","title":"Per-unit Conventions","text":"using PowerSystems; #hide\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\") #hide\nsystem = System(joinpath(file_dir, \"RTS_GMLC.m\")); #hide\nget_units_base(system)","category":"page"},{"location":"explanation/per_unit/","page":"Per-unit Conventions","title":"Per-unit Conventions","text":"To change the unit system setting of a System:","category":"page"},{"location":"explanation/per_unit/","page":"Per-unit Conventions","title":"Per-unit Conventions","text":"set_units_base_system!(system, \"DEVICE_BASE\")","category":"page"},{"location":"explanation/per_unit/","page":"Per-unit Conventions","title":"Per-unit Conventions","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, 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":"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}: OperationalCost 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.\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":"explanation/time_series/#ts_data","page":"Time Series Data","title":"Time Series Data","text":"","category":"section"},{"location":"explanation/time_series/#Categories-of-Time-Series","page":"Time Series Data","title":"Categories of Time Series","text":"","category":"section"},{"location":"explanation/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 complexity, PowerSystems.jl has a set of definitions to organize this data and enable consistent modeling.","category":"page"},{"location":"explanation/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 and its interpretation:","category":"page"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Static Time Series Data\nForecasts","category":"page"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"These categories are are all subtypes of TimeSeriesData and fall within this time series type hierarchy:","category":"page"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"using PowerSystems #hide\nimport TypeTree: tt #hide\ndocs_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"utils\"); #hide\ninclude(joinpath(docs_dir, \"docs_utils.jl\")); #hide\nprint(join(tt(TimeSeriesData), \"\")) #hide","category":"page"},{"location":"explanation/time_series/#Static-Time-Series-Data","page":"Time Series Data","title":"Static Time Series Data","text":"","category":"section"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"A static time series data is a single column of data where each time period has a single value assigned to a component field, such as its maximum active power. This data commonly is obtained from historical information or the realization of a time-varying quantity.","category":"page"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Static time series usually comes in the following format, with a set resolution between the time-stamps:","category":"page"},{"location":"explanation/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":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"This example is a 1-hour resolution static time-series.","category":"page"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"In PowerSystems, a static time series is represented using SingleTimeSeries.","category":"page"},{"location":"explanation/time_series/#Forecasts","page":"Time Series Data","title":"Forecasts","text":"","category":"section"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"A forecast time series includes predicted values of a time-varying quantity that commonly includes a look-ahead window 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":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Key forecast format parameters are the forecast resolution, the interval of time between forecast initial times, and the number of forecast windows (or forecasted values) in the forecast horizon.","category":"page"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Forecast data usually comes in the following format, where a column represents the time stamp associated with the initial time of the forecast, and the remaining columns represent the forecasted values at each step in the forecast horizon.","category":"page"},{"location":"explanation/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":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"This example forecast has a interval of 1 hour and a horizon of 8.","category":"page"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"PowerSystems defines the following Julia structs to represent forecasts:","category":"page"},{"location":"explanation/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":"explanation/time_series/#Data-Storage","page":"Time Series Data","title":"Data Storage","text":"","category":"section"},{"location":"explanation/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. Refer to this page for details on how the time series data is stored in HDF5 files.","category":"page"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Time series data can be stored 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 (e.g., get_time_series_array). The scaling factor multiplier must be passed into the forecast when you create it to use this option.","category":"page"},{"location":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"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":"explanation/time_series/","page":"Time Series Data","title":"Time Series Data","text":"Examples of how to create and add time series to system can be found in the Add Time Series Example","category":"page"},{"location":"how_to/adding_additional_fields/#additional_fields","page":"...add additional data to a component","title":"Adding additional data to a component","text":"","category":"section"},{"location":"how_to/adding_additional_fields/","page":"...add additional data to a component","title":"...add additional data to a component","text":"All PowerSystems.jl components have an ext field that contains an empty Dictionary. This Dictionary is useful to contain additional required data where there is no need to create new behaviors with that data. A simple example is the addition of geographic information, if needed.","category":"page"},{"location":"how_to/adding_additional_fields/#Example","page":"...add additional data to a component","title":"Example","text":"","category":"section"},{"location":"how_to/adding_additional_fields/","page":"...add additional data to a component","title":"...add additional data to a component","text":"using PowerSystems #hide\nusing PowerSystemCaseBuilder #hide\nsystem = build_system(PSISystems, \"modified_RTS_GMLC_DA_sys\"); #hide","category":"page"},{"location":"how_to/adding_additional_fields/","page":"...add additional data to a component","title":"...add additional data to a component","text":"Step 1: Use get_ext to get the ext field of the desired components and assign your data:","category":"page"},{"location":"how_to/adding_additional_fields/","page":"...add additional data to a component","title":"...add additional data to a component","text":"for g in get_components(ThermalStandard, system)\n external_field = get_ext(g)\n external_field[\"my_data\"] = 1.0\nend","category":"page"},{"location":"how_to/adding_additional_fields/","page":"...add additional data to a component","title":"...add additional data to a component","text":"Here, we added additional data called my_data to the ThermalStandard generators in a previously defined System.","category":"page"},{"location":"how_to/adding_additional_fields/","page":"...add additional data to a component","title":"...add additional data to a component","text":"Step 2: Retrieve your data using get_ext again","category":"page"},{"location":"how_to/adding_additional_fields/","page":"...add additional data to a component","title":"...add additional data to a component","text":"First, retrieve the first ThermalStandard generator:","category":"page"},{"location":"how_to/adding_additional_fields/","page":"...add additional data to a component","title":"...add additional data to a component","text":"gen = collect(get_components(ThermalStandard, system))[1];","category":"page"},{"location":"how_to/adding_additional_fields/","page":"...add additional data to a component","title":"...add additional data to a component","text":"Then, retrieve my_data from the generator and verify it is 1.0, as assigned.","category":"page"},{"location":"how_to/adding_additional_fields/","page":"...add additional data to a component","title":"...add additional data to a component","text":"retrieved_data = get_ext(gen)[\"my_data\"]","category":"page"},{"location":"how_to/add_new_types/#Add-a-New-or-Custom-Type","page":"...add a new Type","title":"Add a New or Custom Type","text":"","category":"section"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"This page describes how developers should add types to PowerSystems.jl","category":"page"},{"location":"how_to/add_new_types/#Type-Hierarchy","page":"...add a new Type","title":"Type Hierarchy","text":"","category":"section"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/#Interfaces","page":"...add a new Type","title":"Interfaces","text":"","category":"section"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"Refer to the managing components guide for component requirements.","category":"page"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"Note: get_internal and get_name are imported into PowerSystems, so you should implement your methods as PowerSystems methods.","category":"page"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"Some abstract types define required interface functions in docstring. Be sure to implement each of them for your new type.","category":"page"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"Formalized documentation for each abstract type is TBD.","category":"page"},{"location":"how_to/add_new_types/#Specialize-an-Existing-Type","page":"...add a new Type","title":"Specialize an Existing Type","text":"","category":"section"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/#Custom-Rules","page":"...add a new Type","title":"Custom Rules","text":"","category":"section"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"The source file src/base.jl provides functions that you can implement for your new type to manage these scenarios.","category":"page"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"Beware of the condition where a custom method is already implemented for a supertype of your type.","category":"page"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"Note that you can call the helper functions is_attached(component, system) and throw_if_not_attached(component, system).","category":"page"},{"location":"how_to/add_new_types/#Custom-Validation","page":"...add a new Type","title":"Custom Validation","text":"","category":"section"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/#Struct-Requirements-for-Serialization-of-custom-components","page":"...add a new Type","title":"Struct Requirements for Serialization of custom components","text":"","category":"section"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"The code imposes these requirements:","category":"page"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/#Adding-PowerSystems.jl-as-a-dependency-in-a-modeling-package","page":"...add a new Type","title":"Adding PowerSystems.jl as a dependency in a modeling package","text":"","category":"section"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/#autogen","page":"...add a new Type","title":"Auto-generating Structs","text":"","category":"section"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"If you will need to write specialized functions for the type then you will probably want to write it manually.","category":"page"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"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":"how_to/add_new_types/#Testing-the-addition-of-new-struct-to-the-code-base","page":"...add a new Type","title":"Testing the addition of new struct to the code base","text":"","category":"section"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"In order to merge new structs to the code base, your struct needs to pass several tests.","category":"page"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"addition to System\nretrieval from System\nserialization/de-serialization","category":"page"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","text":"The following code block is an example of the code that the new struct needs to pass","category":"page"},{"location":"how_to/add_new_types/","page":"...add a new Type","title":"...add a new Type","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_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.\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.\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.\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.\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":"api/glossary/#Glossary-and-Acronyms","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"","category":"section"},{"location":"api/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"A | D | E | F | H | I | O | P | R | S | V | W | Z","category":"page"},{"location":"api/glossary/#A","page":"Glossary and Acronyms","title":"A","text":"","category":"section"},{"location":"api/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":"api/glossary/#D","page":"Glossary and Acronyms","title":"D","text":"","category":"section"},{"location":"api/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":"api/glossary/#E","page":"Glossary and Acronyms","title":"E","text":"","category":"section"},{"location":"api/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":"api/glossary/#F","page":"Glossary and Acronyms","title":"F","text":"","category":"section"},{"location":"api/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":"api/glossary/#H","page":"Glossary and Acronyms","title":"H","text":"","category":"section"},{"location":"api/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"Horizon: Is the duration of all time steps in one forecast. As of PowerSystems.jl version 4.0, all horizons in PowerSystems.jl are represented as a Dates.Period. For instance, many Day-ahead markets will have an hourly-resolution forecast for the next day, which would have a horizon of Dates.Hour(24) or Dates.Day(1). If the forecast included the next day plus a 24-hour lookahead window, the horizon would be Dates.Hour(48) or Dates.Day(2). See the article on Time Series Data.\nHVDC: High-voltage DC","category":"page"},{"location":"api/glossary/#I","page":"Glossary and Acronyms","title":"I","text":"","category":"section"},{"location":"api/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 window. See the article on Time Series Data.\nIPC: Interconnecting power converter","category":"page"},{"location":"api/glossary/#O","page":"Glossary and Acronyms","title":"O","text":"","category":"section"},{"location":"api/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"OEL:","category":"page"},{"location":"api/glossary/#P","page":"Glossary and Acronyms","title":"P","text":"","category":"section"},{"location":"api/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":"api/glossary/#R","page":"Glossary and Acronyms","title":"R","text":"","category":"section"},{"location":"api/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":"api/glossary/#S","page":"Glossary and Acronyms","title":"S","text":"","category":"section"},{"location":"api/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":"api/glossary/#V","page":"Glossary and Acronyms","title":"V","text":"","category":"section"},{"location":"api/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"VSCDCLine: Voltage-Source Converter Direct Current Line\nVSM:","category":"page"},{"location":"api/glossary/#W","page":"Glossary and Acronyms","title":"W","text":"","category":"section"},{"location":"api/glossary/","page":"Glossary and Acronyms","title":"Glossary and Acronyms","text":"Window: A forecast window is one forecast run that starts at one initial time and extends through the forecast horizon. Typically, a forecast data set contains multiple forecast windows, with sequential initial times. For example, a year-long data set of day-ahead forecasts contains 365 forecast windows","category":"page"},{"location":"api/glossary/#Z","page":"Glossary and Acronyms","title":"Z","text":"","category":"section"},{"location":"api/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_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}: OperationalCost of generation\nbase_power::Float64: Base power of the unit (MVA) for per unitization, 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.\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.\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.\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.\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.\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. When defining a transformer before it is attached to a System, rating must be in per-unit divided by the base power of the System it will be attached to, 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.\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":"explanation/system/#system_doc","page":"System","title":"System","text":"","category":"section"},{"location":"explanation/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":"explanation/system/","page":"System","title":"System","text":"","category":"page"},{"location":"explanation/system/#Accessing-components-stored-in-the-system","page":"System","title":"Accessing components stored in the system","text":"","category":"section"},{"location":"explanation/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":"explanation/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":"explanation/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":"explanation/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":"explanation/system/","page":"System","title":"System","text":"thermal_gens = get_components(RenewableGen, system)","category":"page"},{"location":"explanation/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":"explanation/system/","page":"System","title":"System","text":"my_thermal_gen = get_component(ThermalStandard, system, \"323_CC_1\")","category":"page"},{"location":"explanation/system/#dot_access","page":"System","title":"Accessing data stored in a component","text":"","category":"section"},{"location":"explanation/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":"explanation/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":"explanation/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":"explanation/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":"explanation/system/","page":"System","title":"System","text":"get_active_power_limits(my_thermal_gen)","category":"page"},{"location":"explanation/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":"explanation/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":"explanation/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":"explanation/system/#JSON-Serialization","page":"System","title":"JSON Serialization","text":"","category":"section"},{"location":"explanation/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":"explanation/system/","page":"System","title":"System","text":"The function that serializes the system to_json requires the system and a file name","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"to_json(system, \"system.json\")","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"The serialization process stores 3 files","category":"page"},{"location":"explanation/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":"explanation/system/","page":"System","title":"System","text":"To deserialize:","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"system2 = System(\"system.json\")","category":"page"},{"location":"explanation/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":"explanation/system/","page":"System","title":"System","text":"system2 = System(\"system.json\", assign_new_uuids = true)","category":"page"},{"location":"explanation/system/#Viewing-PowerSystems-Data-in-JSON-Format","page":"System","title":"Viewing PowerSystems Data in JSON Format","text":"","category":"section"},{"location":"explanation/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":"explanation/system/","page":"System","title":"System","text":"system = System(\"system.json\")","category":"page"},{"location":"explanation/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":"explanation/system/","page":"System","title":"System","text":"Here is an example GUI tool that is available online in a browser.","category":"page"},{"location":"explanation/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":"explanation/system/","page":"System","title":"System","text":"View the entire file pretty-printed","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"jq . system.json","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"View the PowerSystems component types","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"jq '.data.components | .[] | .__metadata__ | .type' system.json | sort | uniq","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"View specific components","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"jq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\")' system.json","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"Get the count of a component type","category":"page"},{"location":"explanation/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":"explanation/system/","page":"System","title":"System","text":"View specific component by name","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"jq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\" and .name == \"107_CC_1\")' system.json","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"Filter on a field value","category":"page"},{"location":"explanation/system/","page":"System","title":"System","text":"jq '.data.components | .[] | select(.__metadata__.type == \"ThermalStandard\" and .active_power > 2.3)' system.json","category":"page"},{"location":"api/enumerated_types/#Specifying-the-type-of...","page":"Specifying the category of...","title":"Specifying the type of...","text":"","category":"section"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"Some fields in PowerSystems.jl are specified with an option from a pre-defined list (Specified with IS.scoped_enums).","category":"page"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"Example syntax:","category":"page"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"set_fuel!(gen, ThermalFuels.COAL)","category":"page"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"These predefined lists are below:","category":"page"},{"location":"api/enumerated_types/#acbustypes_list","page":"Specifying the category of...","title":"AC Buses","text":"","category":"section"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"ACBusTypes categorize buses for modeling activities and denote which quantities are specified for load flow calculations. ACBusTypes has the options:","category":"page"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"Name 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":"api/enumerated_types/#pm_list","page":"Specifying the category of...","title":"Prime Movers","text":"","category":"section"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"Each generator contains a field for prime_mover::PrimeMovers, based on the options in EIA form 923. PrimeMovers has the options:","category":"page"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"Name 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)\nPVe Photovoltaic (Note: renaming from EIA PV to PVe to avoid conflict with ACBusType.PV)\nWT Wind Turbine, Onshore\nWS Wind Turbine, Offshore","category":"page"},{"location":"api/enumerated_types/#tf_list","page":"Specifying the category of...","title":"Fuels for Thermal Generators","text":"","category":"section"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"Each ThermalGen generator has a field for fuel::ThermalFuels where ThermalFuels are intended to reflect the options in the Aggregated Fuel Codes from the EIA Annual Energy Review. ThermalFuels has the options:","category":"page"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"Name 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":"api/enumerated_types/#storagetech_list","page":"Specifying the category of...","title":"Energy Storage","text":"","category":"section"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"StorageTech defines the storage technology used in an energy Storage system, based on the options in EIA form 923. StorageTech has the options:","category":"page"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"Name Description\nPTES Pumped thermal energy storage\nLIB LiON Battery\nLAB Lead Acid Battery\nFLWB Redox Flow Battery\nSIB Sodium Ion Battery\nZIB Zinc Ion Battery\nHGS Hydrogen Gas Storage\nLAES Liquid Air Storage\nOTHER_CHEM Other Chemical Storage\nOTHER_MECH Other Mechanical Storage\nOTHER_THERM Other Thermal Storage","category":"page"},{"location":"api/enumerated_types/#states_list","page":"Specifying the category of...","title":"Dynamic States","text":"","category":"section"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"StateTypes are used to denote the type of dynamic equation a specific state is subject to in PowerSimulationsDynamics.jl. StateTypes has the options:","category":"page"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"Name 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":"api/enumerated_types/#angleunits_list","page":"Specifying the category of...","title":"Angle Units","text":"","category":"section"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"AngleUnits can be specified in:","category":"page"},{"location":"api/enumerated_types/","page":"Specifying the category of...","title":"Specifying the category of...","text":"Name\nDEGREES\nRADIANS","category":"page"},{"location":"model_library/load_cost/#LoadCost","page":"LoadCost","title":"LoadCost","text":"","category":"section"},{"location":"model_library/load_cost/","page":"LoadCost","title":"LoadCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/LoadCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/load_cost/#PowerSystems.LoadCost","page":"LoadCost","title":"PowerSystems.LoadCost","text":"mutable struct LoadCost <: OperationalCost\n\nvariable::CostCurve: Variable cost represented as a CostCurve\nfixed::Float64: (default: 0) Fixed cost. For some cost represenations this field can be duplicative\n\nLoadCost(variable, fixed)\nLoadCost(; variable, fixed)\n\nAn operational cost for controllable loads (e.g., InterruptiblePowerLoad), including fixed and variable cost components.\n\nThe variable cost is a required parameter, but zero(CostCurve) can be used to set it to 0.\n\n\n\n\n\n","category":"type"},{"location":"model_library/load_cost/#PowerSystems.get_fixed-Tuple{LoadCost}","page":"LoadCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::LoadCost) -> Float64\n\n\nGet LoadCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/load_cost/#PowerSystems.get_variable-Tuple{LoadCost}","page":"LoadCost","title":"PowerSystems.get_variable","text":"get_variable(value::LoadCost) -> CostCurve\n\n\nGet LoadCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/load_cost/#PowerSystems.set_fixed!-Tuple{LoadCost, Any}","page":"LoadCost","title":"PowerSystems.set_fixed!","text":"set_fixed!(value::LoadCost, val) -> Any\n\n\nSet LoadCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/load_cost/#PowerSystems.set_variable!-Tuple{LoadCost, Any}","page":"LoadCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::LoadCost, val) -> Any\n\n\nSet LoadCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#ThermalGenerationCost","page":"ThermalGenerationCost","title":"ThermalGenerationCost","text":"","category":"section"},{"location":"model_library/thermal_generation_cost/","page":"ThermalGenerationCost","title":"ThermalGenerationCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/ThermalGenerationCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/thermal_generation_cost/#PowerSystems.ThermalGenerationCost","page":"ThermalGenerationCost","title":"PowerSystems.ThermalGenerationCost","text":"mutable struct ThermalGenerationCost <: OperationalCost\n\nvariable::ProductionVariableCostCurve: Variable production cost. Can take a CostCurve or FuelCurve\nfixed::Float64: Fixed cost of keeping the unit online. For some cost represenations this field can be duplicative\nstart_up::Union{Float64, @NamedTuple{hot::Float64, warm::Float64, cold::Float64}}: Start-up cost can take linear or multi-stage cost\nshut_down::Float64: Cost to turn the unit off\n\nThermalGenerationCost(variable, fixed, start_up, shut_down)\nThermalGenerationCost(; variable, fixed, start_up, shut_down)\n\nAn operational cost for thermal generators which includes fixed cost, variable cost, shut-down cost, and multiple options for start up costs.\n\n\n\n\n\n","category":"type"},{"location":"model_library/thermal_generation_cost/#PowerSystems.get_fixed-Tuple{ThermalGenerationCost}","page":"ThermalGenerationCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::ThermalGenerationCost) -> Float64\n\n\nGet ThermalGenerationCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#PowerSystems.get_shut_down-Tuple{ThermalGenerationCost}","page":"ThermalGenerationCost","title":"PowerSystems.get_shut_down","text":"get_shut_down(value::ThermalGenerationCost) -> Float64\n\n\nGet ThermalGenerationCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#PowerSystems.get_start_up-Tuple{ThermalGenerationCost}","page":"ThermalGenerationCost","title":"PowerSystems.get_start_up","text":"get_start_up(\n value::ThermalGenerationCost\n) -> Union{Float64, @NamedTuple{hot::Float64, warm::Float64, cold::Float64}}\n\n\nGet ThermalGenerationCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#PowerSystems.get_variable-Tuple{ThermalGenerationCost}","page":"ThermalGenerationCost","title":"PowerSystems.get_variable","text":"get_variable(\n value::ThermalGenerationCost\n) -> ProductionVariableCostCurve\n\n\nGet ThermalGenerationCost variable.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#PowerSystems.set_fixed!-Tuple{ThermalGenerationCost, Any}","page":"ThermalGenerationCost","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":"model_library/thermal_generation_cost/#PowerSystems.set_shut_down!-Tuple{ThermalGenerationCost, Any}","page":"ThermalGenerationCost","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":"model_library/thermal_generation_cost/#PowerSystems.set_start_up!-Tuple{ThermalGenerationCost, Any}","page":"ThermalGenerationCost","title":"PowerSystems.set_start_up!","text":"set_start_up!(value::ThermalGenerationCost, val) -> Any\n\n\nSet ThermalGenerationCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/thermal_generation_cost/#PowerSystems.set_variable!-Tuple{ThermalGenerationCost, Any}","page":"ThermalGenerationCost","title":"PowerSystems.set_variable!","text":"set_variable!(value::ThermalGenerationCost, val) -> Any\n\n\nSet ThermalGenerationCost variable.\n\n\n\n\n\n","category":"method"},{"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.\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":"tutorials/working_with_time_series/#tutorial_time_series","page":"Working with Time Series","title":"Working with Time Series Data","text":"","category":"section"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"In this tutorial, we will manually add, retrieve, and inspect time-series data in different formats, including identifying which components in a power System have time series data. Along the way, we will also use workarounds for missing forecast data and reuse identical time series profiles to avoid unnecessary memory usage.","category":"page"},{"location":"tutorials/working_with_time_series/#Example-Data-and-Setup","page":"Working with Time Series","title":"Example Data and Setup","text":"","category":"section"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"We will make an example System with a wind generator and two loads, and add the time series needed to model, for example, the impacts of wind forecast uncertainty.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Here is the available data:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"For the wind generator, we have the historical point (deterministic) forecasts of power output. The forecasts were generated every 30 minutes with a 5-minute resolution and 1-hour horizon. We also have measurements what actually happened at 5-minute resolution over the 2 hours.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"For the loads, note that the forecast data is missing. We only have the historical measurements of total load for the system, which is normalized to the system's peak load. ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Load the PowerSystems, Dates, and TimeSeries packages to get started: ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"using PowerSystems\nusing Dates\nusing TimeSeries","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"As usual, we need to define a power System that holds all our data. Let's define a simple system with a bus, a wind generator, and two loads:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"system = System(100.0); # 100 MVA base power\n\nbus1 = ACBus(\n number = 1,\n name = \"bus1\",\n bustype = ACBusTypes.REF,\n angle = 0.0,\n magnitude = 1.0,\n voltage_limits = (min = 0.9, max = 1.05),\n base_voltage = 230.0\n );\n\nwind1 = RenewableDispatch(\n name = \"wind1\",\n available = true,\n bus = bus1,\n active_power = 0.0, # Per-unitized by device base_power\n reactive_power = 0.0, # Per-unitized by device base_power\n rating = 1.0, # 10 MW per-unitized by device base_power\n prime_mover_type = PrimeMovers.WT,\n reactive_power_limits = (min=0.0, max=0.0), # per-unitized by device base_power\n power_factor = 1.0,\n operation_cost = RenewableGenerationCost(nothing),\n base_power = 10.0 # MVA\n );\n\nload1 = PowerLoad(\n name = \"load1\",\n available = true,\n bus = bus1,\n active_power = 0.0, # Per-unitized by device base_power\n reactive_power = 0.0, # Per-unitized by device base_power\n base_power = 10.0, # MVA\n max_active_power = 1.0, # 10 MW per-unitized by device base_power\n max_reactive_power = 0.0\n );\n\nload2 = PowerLoad(\n name = \"load2\",\n available = true,\n bus = bus1,\n active_power = 0.0, # Per-unitized by device base_power\n reactive_power = 0.0, # Per-unitized by device base_power\n base_power = 30.0, # MVA\n max_active_power = 1.0, # 10 MW per-unitized by device base_power\n max_reactive_power = 0.0\n );\n\nadd_components!(system, [bus1, wind1, load1, load2])","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Recall that we can also set the System's unit base to natural units (MW) to make it easier to inspect results:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"set_units_base_system!(system, \"NATURAL_UNITS\")","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Before we get started, print wind1 to see its data: ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"wind1","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"See the has_time_series field at the bottom is false. ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Recall that we also can see a summary of the system by printing it:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"system","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Observe that there is no mention of time series data in the system yet.","category":"page"},{"location":"tutorials/working_with_time_series/#Add-and-Retrieve-a-Single-Time-Series","page":"Working with Time Series","title":"Add and Retrieve a Single Time Series","text":"","category":"section"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Let's start by defining and attaching the wind measurements shown in the data above. This is a single time series profile, so we will use a SingleTimeSeries. ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"First, define a TimeSeries.TimeArray of input data, using the 5-minute resolution to define the time-stamps in the example data:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"wind_values = [6.0, 7, 7, 6, 7, 9, 9, 9, 8, 8, 7, 6, 5, 5, 5, 5, 5, 6, 6, 6, 7, 6, 7, 7];\nresolution = Dates.Minute(5);\ntimestamps = range(DateTime(\"2020-01-01T08:00:00\"), step = resolution, length = 24);\nwind_timearray = TimeArray(timestamps, wind_values);","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Now, use the input data to define a Single Time Series in PowerSystems:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"wind_time_series = SingleTimeSeries(\n name = \"max_active_power\",\n data = wind_timearray\n );","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Note that we've chosen the name max_active_power, which is the default time series profile name when using PowerSimulations.jl for simulations.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"So far, this time series has been defined, but not attached to our System in any way. Now, attach it to wind1 using add_time_series!: ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"add_time_series!(system, wind1, wind_time_series);","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Let's double-check this worked by calling show_time_series:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"show_time_series(wind1)","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Now wind1 has the first time-series data set. Recall that you can also print wind1 and check the has_time_series field like we did above. ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Finally, let's retrieve and inspect the new timeseries, using get_time_series_array:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"get_time_series_array(SingleTimeSeries, wind1, \"max_active_power\")","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Verify this matches your expectation based on the input data. ","category":"page"},{"location":"tutorials/working_with_time_series/#Add-and-Retrieve-a-Forecast","page":"Working with Time Series","title":"Add and Retrieve a Forecast","text":"","category":"section"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Next, let's add the wind power forecasts. We will use a Deterministic format for the point forecasts. ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Because we have forecasts with at different initial times, the input data must be a dictionary where the keys are the initial times and the values are vectors or TimeSeries.TimeArrays of the forecast data. Set up the example input data:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"wind_forecast_data = Dict(\n DateTime(\"2020-01-01T08:00:00\") => [5.0, 6, 7, 7, 7, 8, 9, 10, 10, 9, 7, 5],\n DateTime(\"2020-01-01T08:30:00\") => [9.0, 9, 9, 9, 8, 7, 6, 5, 4, 5, 4, 4],\n DateTime(\"2020-01-01T09:00:00\") => [6.0, 6, 5, 5, 4, 5, 6, 7, 7, 7, 6, 6]\n);","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Define the Deterministic forecast and attach it to wind1:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"wind_forecast = Deterministic(\"max_active_power\", wind_forecast_data, resolution);\nadd_time_series!(system, wind1, wind_forecast);","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Let's call show_time_series once again:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"show_time_series(wind1)","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Notice that we now have two types of time series listed – the single time series and the forecasts. ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Finally, let's retrieve the forecast data to double check it was added properly, specifying the initial time to get the 2nd forecast window starting at 8:30: ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"get_time_series_array(\n Deterministic,\n wind1,\n \"max_active_power\",\n start_time = DateTime(\"2020-01-01T08:30:00\"),\n)","category":"page"},{"location":"tutorials/working_with_time_series/#Add-A-Time-Series-Using-Scaling-Factors","page":"Working with Time Series","title":"Add A Time Series Using Scaling Factors","text":"","category":"section"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Let's add the load time series. Recall that this data is normalized to the peak system power, so we'll use it to scale both of our loads. We call normalized time series data scaling factors.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"First, let's create our input data TimeSeries.TimeArray with the example data and the same time stamps we used in the wind time series:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"load_values = [0.3, 0.3, 0.3, 0.3, 0.4, 0.4, 0.4, 0.4, 0.5, 0.5, 0.6, 0.6,\n 0.7, 0.8, 0.8, 0.8, 0.8, 0.8, 0.9, 0.8, 0.8, 0.8, 0.8, 0.8];\nload_timearray = TimeArray(timestamps, load_values);","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Again, define a SingleTimeSeries, but this time use the scaling_factor_multiplierparameter to scale this time series from normalized values to power values: ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"load_time_series = SingleTimeSeries(\n name = \"max_active_power\",\n data = load_timearray;\n scaling_factor_multiplier = get_max_active_power\n );","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Notice that we assigned the get_max_active_power function to scale the time series, rather than a value, making the time series reusable for multiple components or multiple fields in a component.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Now, add the scaling factor time series to both loads to save memory and avoid data duplication:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"add_time_series!(system, [load1, load2], load_time_series);","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Let's take a look at load1, including printing its parameters...","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"load1","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"...as well as its time series:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"show_time_series(load1)","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"tip: Important\nNotice that each load now has two references to max_active_power. This is intentional. There is the parameter, max_active_power, which is the maximum demand of each load at any time (10 MW). There is also max_active_power the time series, which is the time varying demand over the 2-hour window, calculated using the scaling factors and the max_active_power parameter.This means that if we change the max_active_power parameter, the time series will also change when we retrieve it! This is also true when we apply the same scaling factors to multiple components or parameters.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Let's check the impact that these two max_active_power data sources have on the times series data when we retrieve it. Get the max_active_power time series for load1:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"get_time_series_array(SingleTimeSeries, load1, \"max_active_power\") # in MW","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"See that the normalized values have been scaled up by 10 MW.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Now let's at load2. First check its max_active_power parameter:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"get_max_active_power(load2)","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"This has a higher peak maximum demand of 30 MW.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Next, retrieve it's max_active_power time series:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"get_time_series_array(SingleTimeSeries, load2, \"max_active_power\") # in MW","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Observe the difference compared to load1's time series. ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Finally, retrieve the underlying time series data with no scaling factor multiplier applied:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"get_time_series_array(SingleTimeSeries,\n load2,\n \"max_active_power\",\n ignore_scaling_factors = true\n)","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Notice that this is the normalized input data, which is still being stored underneath. Each load is using a reference to that data when we call get_time_series_array to avoid unnecessary data duplication. ","category":"page"},{"location":"tutorials/working_with_time_series/#Transform-a-SingleTimeSeries-into-a-Forecast","page":"Working with Time Series","title":"Transform a SingleTimeSeries into a Forecast","text":"","category":"section"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Finally, let's use a workaround to handle the missing load forecast data. We will assume a perfect forecast where the forecast is based on the SingleTimeSeries we just added. ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Rather than unnecessarily duplicating and reformatting data, use PowerSystems.jl's dedicated transform_single_time_series! function to generate a DeterministicSingleTimeSeries, which saves memory while behaving just like a Deterministic forecast: ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"transform_single_time_series!(\n system,\n Dates.Hour(1), # horizon\n Dates.Minute(30) # interval\n);","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Let's see the results for load1's time series summary:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"show_time_series(load1)","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Notice we now have a load forecast data set with the resolution, horizon, and, interval matching our wind forecasts.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Retrieve the first forecast window:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"get_time_series_array(\n DeterministicSingleTimeSeries,\n load1,\n \"max_active_power\",\n start_time = DateTime(\"2020-01-01T08:00:00\"),\n)","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"See that load1's scaling factor multiplier is still being applied as expected.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Continue to the next section to address one more impact of calling transform_single_time_series! on the entire System. ","category":"page"},{"location":"tutorials/working_with_time_series/#Finding,-Retrieving,-and-Inspecting-Time-Series","page":"Working with Time Series","title":"Finding, Retrieving, and Inspecting Time Series","text":"","category":"section"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Now, let's complete this tutorial by doing a few sanity checks on the data that we've added, where are we will also examine components with time series and retrieve the time series data in a few more ways.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"First, recall that we can print a component to check its has_time_series field:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"load1","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Also, recall we can print the System to summarize the data in our system:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"system","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Notice that a new table has been added – the Time Series Summary, showing the count of each Type of component that has a given time series type.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Additionally, see that there are both Deterministic and DeterministicSingleTimeSeries forecasts for our RenewableDispatch generator (wind1). This was a side effect of transform_single_time_series! which added DeterministicSingleTimeSeries for all StaticTimeSeries in the system, even though we don't need one for wind.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Let's remove it with remove_time_series!. Since we have one wind generator, we could easily do it for that component, but let's do programmatically instead by its Type:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"for g in get_components(x -> has_time_series(x), RenewableDispatch, system)\n remove_time_series!(system, DeterministicSingleTimeSeries, g, \"max_active_power\")\nend","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Notice that we also filtered for components where has_time_series is true, which is a simple way to find and manipulate components with time series.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Let's double check wind1 now:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"show_time_series(wind1)","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"See the unnecessary data is gone.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Finally, let's do a last data sanity check on the forecasts. Since we defined the wind time series in MW instead of scaling factors, let's make sure none of our forecasts exceeds the max_active_power parameter. ","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Instead of using get_time_series_array where we need to remember some details of the time series we're looking up, let's use get_time_series_keys to refresh our memories:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"keys = get_time_series_keys(wind1)","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"See the forecast key is first, so let's retrieve it using get_time_series:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"forecast = get_time_series(wind1, keys[1])","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"See that unlike when we used get_time_series_array, this returns an object we can manipulate.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Use iterate_windows to cycle through the 3 forecast windows and inspect the peak value:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"for window in iterate_windows(forecast)\n @show values(maximum(window))\nend","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Finally, use get_max_active_power to check the expected maximum:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"get_max_active_power(wind1)","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"See that the forecasts are not exceeding this maximum – sanity check complete.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"tip: Tip\nUnlike PowerLoad components, RenewableDispatch components do not have a max_active_power field, so check get_max_active_power to see how its calculated.","category":"page"},{"location":"tutorials/working_with_time_series/#Next-Steps","page":"Working with Time Series","title":"Next Steps","text":"","category":"section"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"In this tutorial, you defined, added, and retrieved four time series data sets, including static time series and deterministic forecasts. Along the way, we reduced data duplication using normalized scaling factors for reuse by multiple components or component fields, as well as by referencing a StaticTimeSeries to address missing forecast data.","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Next you might like to:","category":"page"},{"location":"tutorials/working_with_time_series/","page":"Working with Time Series","title":"Working with Time Series","text":"Parse many timeseries data sets from CSV's\nSee how to improve performance efficiency with your own time series data\nReview the available time series data formats\nLearn more about how times series data is stored","category":"page"},{"location":"#Welcome-to-PowerSystems.jl","page":"Welcome Page","title":"Welcome to PowerSystems.jl","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"CurrentModule = PowerSystems","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"tip: Announcement\nPowerSystems.jl upgraded to version 4.0 in June 2024, which included breaking changes. Visit the v4.0 migration guide for information on how to update your existing code.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"warning: Under Construction\nThe PowerSystems.jl is being actively being rewritten for version 4.0 using the new format described in How To Use This Documentation. Your patience is appreciated as we make this change! For now, some documentation is not located in its final home. Please reach out with questions and suggestions.","category":"page"},{"location":"#About","page":"Welcome Page","title":"About","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl is part of the National Renewable Energy Laboratory's Sienna ecosystem, an open source framework for scheduling problems and dynamic simulations for power systems. The Sienna ecosystem can be found on github. It contains three applications:","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Sienna\\Data enables efficient data input, analysis, and transformation\nSienna\\Ops enables enables system scheduling simulations by formulating and solving optimization problems\nSienna\\Dyn enables system transient analysis including small signal stability and full system dynamic simulations","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Each application uses multiple packages in the Julia programming language.","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl is the foundation of Sienna\\Data, and it is used with all three applications. It 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":"#How-To-Use-This-Documentation","page":"Welcome Page","title":"How To Use This Documentation","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"There are five main sections containing different information:","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Tutorials - Detailed walk-throughs to help you learn how to use PowerSystems.jl\nHow to... - Directions to help guide your work for a particular task\nExplanation - Additional details and background information to help you understand PowerSystems.jl, its structure, and how it works behind the scenes\nReference - Technical references and API for a quick look-up during your work\nModel Library - Technical references of the data types and their functions that PowerSystems.jl uses to model power system components","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"PowerSystems.jl strives to follow the Diataxis documentation framework.","category":"page"},{"location":"#Getting-Started","page":"Welcome Page","title":"Getting Started","text":"","category":"section"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"If you are new to PowerSystems.jl, here's how we suggest getting started:","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Install\nWork through the introductory tutorial: Create and Explore a Power System to familiarize yourself with how PowerSystems.jl works\nWork through the other basic tutorials based on your interests","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"See Working with Time Series Data if you will be doing production cost modeling or working with time series\nSee Creating a System with Dynamic devices and the tutorial in PowerSimulationsDynamics if you are interested in dynamic simulations","category":"page"},{"location":"","page":"Welcome Page","title":"Welcome Page","text":"Then, see the how-to's on parsing Matpower or PSS/e files or CSV files to begin loading your own data into PowerSystems.jl","category":"page"},{"location":"how_to/get_buses/#Get-the-buses-in-a-System","page":"...get all the buses in a system","title":"Get the buses in a System","text":"","category":"section"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"using PowerSystems; #hide\nusing PowerSystemCaseBuilder #hide\nsystem = build_system(PSISystems, \"modified_RTS_GMLC_DA_sys\"); #hide","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"You can access all the buses in a System to view or manipulate their data using two key functions: get_components or get_buses.","category":"page"},{"location":"how_to/get_buses/#Option-1a:-Get-an-iterator-for-all-the-buses","page":"...get all the buses in a system","title":"Option 1a: Get an iterator for all the buses","text":"","category":"section"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"Use get_components to get an iterator of all the AC buses in an existing system:","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"bus_iter = get_components(ACBus, system)","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"The iterator avoids unnecessary memory allocations if there are many buses, and it can be used to view or update the bus data. For example, we can set the base voltage of all buses to 330 kV:","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"for b in bus_iter\n set_base_voltage!(b, 330.0)\nend","category":"page"},{"location":"how_to/get_buses/#Option-1b:-Get-a-vector-of-all-the-buses","page":"...get all the buses in a system","title":"Option 1b: Get a vector of all the buses","text":"","category":"section"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"Use collect to get a vector of the buses instead of an iterator, which could require a lot of memory:","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"buses = collect(get_components(ACBus, system))","category":"page"},{"location":"how_to/get_buses/#Option-2a:-Get-the-buses-in-an-Area-or-LoadZone","page":"...get all the buses in a system","title":"Option 2a: Get the buses in an Area or LoadZone","text":"","category":"section"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"Use get_buses to get a vector of buses when you know which Area or LoadZone you are interested in.","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"First, we select an Area:","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"show_components(Area, system) # See available Areas\narea2 = get_component(Area, system, \"2\"); # Get Area named 2","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"Then call get_buses for that Area:","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"area_buses = get_buses(system, area2)","category":"page"},{"location":"how_to/get_buses/#Option-2b:-Get-buses-by-ID-number","page":"...get all the buses in a system","title":"Option 2b: Get buses by ID number","text":"","category":"section"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"Finally, use get_buses to get a vector of buses by their ID numbers.","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"Example getting buses with ID numbers from 101 to 110:","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"buses_by_ID = get_buses(system, Set(101:110))","category":"page"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"note: Note\nYou can combine this with Option 1 to first view all the bus numbers if needed:get_number.(get_components(ACBus, system))","category":"page"},{"location":"how_to/get_buses/#See-Also","page":"...get all the buses in a system","title":"See Also","text":"","category":"section"},{"location":"how_to/get_buses/","page":"...get all the buses in a system","title":"...get all the buses in a system","text":"How to: Get the available generators in a System","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.\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 interconnection_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":"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), used in some production cost modeling simulations. To set the reactive power in a load flow, use power_factor\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: Power factor [0, 1] set-point, used in some production cost modeling and in load flow if the unit is connected to a PQ bus, validation range: (0, 1)\nbase_power::Float64: Base power of the unit (MVA) for per unitization, 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.\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.\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.\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.\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":"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. When defining a transformer before it is attached to a System, rating must be in per-unit divided by the base power of the System it will be attached to, 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.\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/storage_cost/#StorageCost","page":"StorageCost","title":"StorageCost","text":"","category":"section"},{"location":"model_library/storage_cost/","page":"StorageCost","title":"StorageCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/StorageCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/storage_cost/#PowerSystems.StorageCost","page":"StorageCost","title":"PowerSystems.StorageCost","text":"mutable struct StorageCost <: OperationalCost\n\ncharge_variable_cost::CostCurve: (default of 0) Variable cost of charging represented as a CostCurve\ndischarge_variable_cost::CostCurve: (default of 0) Variable cost of discharging represented as a CostCurve\nfixed::Float64: (default: 0) Fixed cost of operating the storage system\nstart_up::Union{Float64, @NamedTuple{charge::Float64, discharge::Float64}}: (default: 0) Start-up cost\nshut_down::Float64: (default: 0) Shut-down cost\nenergy_shortage_cost::Float64: (default: 0) Cost incurred by the model for being short of the energy target\nenergy_surplus_cost::Float64: (default: 0) Cost incurred by the model for surplus energy stored\n\nStorageCost(charge_variable_cost, discharge_variable_cost, fixed, start_up, shut_down, energy_shortage_cost, energy_surplus_cost)\nStorageCost(; charge_variable_cost, discharge_variable_cost, fixed, start_up, shut_down, energy_shortage_cost, energy_surplus_cost)\n\nAn operational cost for storage units including fixed costs and variable costs to charge or discharge.\n\nThis data structure is not intended to represent market storage systems market operations like the submission of buy/sell bids – see MarketBidCost instead.\n\n\n\n\n\n","category":"type"},{"location":"model_library/storage_cost/#PowerSystems.get_charge_variable_cost-Tuple{StorageCost}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.get_discharge_variable_cost-Tuple{StorageCost}","page":"StorageCost","title":"PowerSystems.get_discharge_variable_cost","text":"get_discharge_variable_cost(value::StorageCost) -> CostCurve\n\n\nGet StorageCost discharge_variable_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.get_energy_shortage_cost-Tuple{StorageCost}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.get_energy_surplus_cost-Tuple{StorageCost}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.get_fixed-Tuple{StorageCost}","page":"StorageCost","title":"PowerSystems.get_fixed","text":"get_fixed(value::StorageCost) -> Float64\n\n\nGet StorageCost fixed.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.get_shut_down-Tuple{StorageCost}","page":"StorageCost","title":"PowerSystems.get_shut_down","text":"get_shut_down(value::StorageCost) -> Float64\n\n\nGet StorageCost shut_down.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.get_start_up-Tuple{StorageCost}","page":"StorageCost","title":"PowerSystems.get_start_up","text":"get_start_up(\n value::StorageCost\n) -> Union{Float64, @NamedTuple{charge::Float64, discharge::Float64}}\n\n\nGet StorageCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.set_charge_variable_cost!-Tuple{StorageCost, Any}","page":"StorageCost","title":"PowerSystems.set_charge_variable_cost!","text":"set_charge_variable_cost!(value::StorageCost, val) -> Any\n\n\nSet StorageCost charge_variable_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.set_discharge_variable_cost!-Tuple{StorageCost, Any}","page":"StorageCost","title":"PowerSystems.set_discharge_variable_cost!","text":"set_discharge_variable_cost!(value::StorageCost, val) -> Any\n\n\nSet StorageCost discharge_variable_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/storage_cost/#PowerSystems.set_energy_shortage_cost!-Tuple{StorageCost, Any}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.set_energy_surplus_cost!-Tuple{StorageCost, Any}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.set_fixed!-Tuple{StorageCost, Any}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.set_shut_down!-Tuple{StorageCost, Any}","page":"StorageCost","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":"model_library/storage_cost/#PowerSystems.set_start_up!-Tuple{StorageCost, Any}","page":"StorageCost","title":"PowerSystems.set_start_up!","text":"set_start_up!(value::StorageCost, val) -> Any\n\n\nSet StorageCost start_up.\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, 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)) OperationalCost 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.\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":"how_to/get_available_generators/#Get-the-available-generators-in-a-System","page":"...get the available generators in a system","title":"Get the available generators in a System","text":"","category":"section"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"using PowerSystems; #hide\nusing PowerSystemCaseBuilder #hide\nsystem = build_system(PSISystems, \"modified_RTS_GMLC_DA_sys\"); #hide","category":"page"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"You can access use get_available_components or get_components to access all the available generators in an existing system.","category":"page"},{"location":"how_to/get_available_generators/#Option-1a:-Using-get_available_components-to-get-an-iterator","page":"...get the available generators in a system","title":"Option 1a: Using get_available_components to get an iterator","text":"","category":"section"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"Use get_available_components to get an iterator of all the available generators in an existing system, which also prints a summary:","category":"page"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"gen_iter = get_available_components(Generator, system)","category":"page"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"The iterator avoids unnecessary memory allocations if there are many generators, and it can be used to view or update the generator data, such as seeing each of the names:","category":"page"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"get_name.(gen_iter)","category":"page"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"tip: Tip\nAbove, we use the abstract supertype Generator to get all components that are subtypes of it. You can instead get all the components of a concrete type, such as:gen_iter = get_available_components(RenewableDispatch, system)","category":"page"},{"location":"how_to/get_available_generators/#Option-1b:-Using-get_available_components-to-get-a-vector","page":"...get the available generators in a system","title":"Option 1b: Using get_available_components to get a vector","text":"","category":"section"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"Use collect to get a vector of the generators instead of an iterator, which could require a lot of memory:","category":"page"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"gens = collect(get_available_components(Generator, system));","category":"page"},{"location":"how_to/get_available_generators/#Option-2:-Using-get_components-to-get-an-iterator","page":"...get the available generators in a system","title":"Option 2: Using get_components to get an iterator","text":"","category":"section"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"Alternatively, use get_components with a filter to check for availability:","category":"page"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"gen_iter = get_components(get_available, Generator, system)","category":"page"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"collect can also be used to turn this iterator into a vector. ","category":"page"},{"location":"how_to/get_available_generators/#See-Also","page":"...get the available generators in a system","title":"See Also","text":"","category":"section"},{"location":"how_to/get_available_generators/","page":"...get the available generators in a system","title":"...get the available generators in a system","text":"How to: Get the buses in a System","category":"page"},{"location":"api/valuecurve_options/#curve_table","page":"ValueCurve Options","title":"ValueCurve Options","text":"","category":"section"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"Operating cost data typically includes both fixed and variable costs. See the how-to on Adding an Operating Cost for a demonstration of defining an operating cost.","category":"page"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"In PowerSystems.jl, the variable portion of the operating cost can be represented as linear, quadratic, or piecewise input-output curves; potentially piecewise marginal heat rates; average heat rates; and more, as best fits the input data. This is done by constructing various subtypes of ValueCurve.","category":"page"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"This summary table shows each way to construct a ValueCurve with the user-friendly subtype aliases. The ValueCurves make no assumption about units; the example interpretation given here assumes that the variable cost ValueCurve will be wrapped in a CostCurve with natural units. Note that all four Piecewise options here fundamentally represent the same curve. More information and explanatory plots are provided for each subtype alias in the subheadings below.","category":"page"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"Description Example Example interpretation\nLinear input-output curve with zero no-load cost (constant average rate) LinearCurve(5.0) $5/MWh\nLinear input-output curve with potentially nonzero no-load cost (constant marginal rate) LinearCurve(5.0, 15.0) $5/MWh + $15/hr\nQuadratic input-output curve with potentially nonzero no-load cost QuadraticCurve(1.0, 1.0, 18.0) C(P) = 1 P^2 + 1 P + 18 where C is $/hr, P is MW\nPiecewise linear curve specified by cost values at production points 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\nPiecewise linear curve specified by initial value and marginal rates (slopes) between production points PiecewiseIncrementalCurve(20.0, [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\nNo-load cost plus piecewise linear curve specified by initial value and marginal rates (slopes) between production points PiecewiseIncrementalCurve(18.0, 20.0, [1.0, 2.0, 3.0], [4.0, 6.0]) $18/hr no-load cost; $20/hr @ 1 MW plus additional $4/MWh from 1 MW to 2 MW plus additional $6/MWh from 2 MW to 3 MW\nPiecewise linear curve specified by initial value and average rates between production points PiecewiseAverageCurve(20.0, [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/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"","category":"page"},{"location":"api/valuecurve_options/#[LinearCurve](@ref)","page":"ValueCurve Options","title":"LinearCurve","text":"","category":"section"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"Specify the marginal cost of production M and optionally the no-load cost C, which defaults to zero. Here is a graphical representation:","category":"page"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"","category":"page"},{"location":"api/valuecurve_options/#[QuadraticCurve](@ref)","page":"ValueCurve Options","title":"QuadraticCurve","text":"","category":"section"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"Specify the quadratic (Q), proportional (M), and constant (C) terms of a function that defines the input-output curve:","category":"page"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"","category":"page"},{"location":"api/valuecurve_options/#[PiecewisePointCurve](@ref)","page":"ValueCurve Options","title":"PiecewisePointCurve","text":"","category":"section"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"Specify a vector of K (production, cost) pairs (i.e., (P_k C_k) for k = 1 dots K) to define the input-output curve:","category":"page"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"","category":"page"},{"location":"api/valuecurve_options/#[PiecewiseIncrementalCurve](@ref)","page":"ValueCurve Options","title":"PiecewiseIncrementalCurve","text":"","category":"section"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"Specify the cost C_1 at the least production point given (NOT the cost at zero production), a vector of K production points P_1 dots P_k, and a vector of K-1 marginal rates M_1 dots M_k-1, that represent the slopes of the curve segments between the points. C_1 may be nothing, which results in a not-fully-defined curve. The no-load cost C_0 can optionally be specified as a first argument; it is not part of the representation of the curve, just another piece of data that may be stored:","category":"page"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"","category":"page"},{"location":"api/valuecurve_options/#[PiecewiseAverageCurve](@ref)","page":"ValueCurve Options","title":"PiecewiseAverageCurve","text":"","category":"section"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"Specify the cost C_1 at the least production point given (NOT the cost at zero production), a vector of K production points P_1 dots P_k, and a vector of K-1 average rates R_1 dots R_k-1 at the K-1 latter production points:","category":"page"},{"location":"api/valuecurve_options/","page":"ValueCurve Options","title":"ValueCurve Options","text":"","category":"page"},{"location":"how_to/migrating_to_psy4/#psy4_migration","page":"...migrate from version 3.0 to 4.0","title":"Migrating from version 3.0 to 4.0","text":"","category":"section"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"This guide outlines the code updates required to upgrade from PowerSystems.jl version 3.0 to 4.0, which was released in June 2024 and includes breaking changes. These are:","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"Renamed Types and Parameters\nNew and Eliminated Types\nUpdates to Energy Storage Parameters\nHydropower status added\nNew Cost Functions\nNew Time Series Horizon Format\nMinor Type Hierarchy Change\n(Temporary) Use Version 3.0 for HybridSystem (+ new parameter)","category":"page"},{"location":"how_to/migrating_to_psy4/#Renamed-Types-and-Parameters","page":"...migrate from version 3.0 to 4.0","title":"Renamed Types and Parameters","text":"","category":"section"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"Some Types and fields were renamed, which should require a trivial search and replace:","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"Renamed Types:","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"RenewableFix is now named RenewableNonDispatch\nStaticReserve is now named ConstantReserve\nStaticReserveGroup is now named ConstantReserveGroup\nStaticReserveNonSpinning is now named ConstantReserveNonSpinning\nPriorityCurrentLimiter is now named PriorityOutputCurrentLimiter\nMagnitudeCurrentLimiter is now named MagnitudeOutputCurrentLimiter\nInstantaneousCurrentLimiter is now named InstantaneousOutputCurrentLimiter","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"Renamed parameters:","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"The rate parameter is now named rating for subtypes of Branch, for consistency with other Types. Affected Types are:\nLine\nMonitoredLine\nPhaseShiftingTransformer\nTapTransformer\nTransformer2W","category":"page"},{"location":"how_to/migrating_to_psy4/#New-and-Eliminated-Types","page":"...migrate from version 3.0 to 4.0","title":"New and Eliminated Types","text":"","category":"section"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"In addition to cost-related types detailed in New Cost Functions, these new types have been added:","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"AreaInterchange\nHybridOutputCurrentLimiter\nSaturationOutputCurrentLimiter","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"These types are no longer part of PowerSystems.jl, although there are future plans to rework some of them:","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"RegulationDevice\nTransfer\nBatteryEMS\nGenericBattery (see Updates to Energy Storage Parameters)","category":"page"},{"location":"how_to/migrating_to_psy4/#esr_migration","page":"...migrate from version 3.0 to 4.0","title":"Updates to Energy Storage Parameters","text":"","category":"section"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"EnergyReservoirStorage is now the default battery and energy storage model, replacing GenericBattery.","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"There are also changes to the data fields compared to GenericBattery to improve clarity and modeling flexibility.","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"New data fields:","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"storage_capacity for the maximum storage capacity (can be in units of, e.g., MWh for batteries or liters for hydrogen)\nExample: 10000.0 for 10,000 liters hydrogen\nstorage_level_limits for the minimum and maximum allowable storage levels on [0, 1], which can be used to model derates or other restrictions, such as state-of-charge restrictions on battery cycling\nExample: Minimum of 0.2 and maximum of 1.0 to restrict the storage from dropping below 20% capacity to keep some reserve margin available at all times\ninitial_storage_capacity_level for the initial storage capacity level as a ratio [0, 1.0] of storage_capacity\nExample: 0.5 to start the storage at 50% full\nconversion_factor is the (optional) conversion factor of storage_capacity to MWh, if different than 1.0 (i.e., no conversion is needed if the storage_capacity is in MWh)\nExample: 0.0005 for 0.5 kWh/l hydrogen","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"Removed data fields:","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"state_of_charge_limits with units of p.u.-hr\ninitial_energy with units of p.u.-hr","category":"page"},{"location":"how_to/migrating_to_psy4/#Hydropower-status-added","page":"...migrate from version 3.0 to 4.0","title":"Hydropower status added","text":"","category":"section"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"A new required parameter, status, was added to HydroEnergyReservoir and HydroPumpedStorage, for the initial condition of the generator.","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"For HydroEnergyReservoir, status can be true = on or false = off.\nFor HydroPumpedStorage, status can be PumpHydroStatus.PUMP, PumpHydroStatus.GEN, or PumpHydroStatus.OFF","category":"page"},{"location":"how_to/migrating_to_psy4/#New-Cost-Functions","page":"...migrate from version 3.0 to 4.0","title":"New Cost Functions","text":"","category":"section"},{"location":"how_to/migrating_to_psy4/#New-Time-Series-Horizon-Format","page":"...migrate from version 3.0 to 4.0","title":"New Time Series Horizon Format","text":"","category":"section"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"The horizon for a forecast has changed from a count of time steps (as an Int) to a duration, as a Dates.Period","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"Example day-ahead forecast: A forecast with hourly resolution for the next 24 hours, with a new forecast available every 24 hours (i.e., 24-hour interval)","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"The horizon is now Dates.Hour(24) or Dates.Day(1)\nPreviously in version 3.0, the horizon would have been 24 for the 24 1-hour time-steps in each forecast","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"Example hour-ahead forecast: A forecast with 5-minute resolution for the next 1 hour, with a new forecast available every hour (i.e., 1-hour interval)","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"The horizon is now Dates.Hour(1)\nPreviously in version 3.0, the horizon would have been 12 for the 12 5-minute time-steps in each forecast","category":"page"},{"location":"how_to/migrating_to_psy4/#Minor-Type-Hierarchy-Change","page":"...migrate from version 3.0 to 4.0","title":"Minor Type Hierarchy Change","text":"","category":"section"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"ControllableLoad is now a subtype of StaticLoad rather than ElectricLoad","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"The vast majority of users are not expected to be impacted by this change.","category":"page"},{"location":"how_to/migrating_to_psy4/#(Temporary)-Use-Version-3.0-for-HybridSystem-(-new-parameter)","page":"...migrate from version 3.0 to 4.0","title":"(Temporary) Use Version 3.0 for HybridSystem (+ new parameter)","text":"","category":"section"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"The HybridSystem is currently not supported in the rest of the Sienna ecosystem, such as PowerSimulations.jl. To use HybridSystem in simulation, revert to version 3.0. There are plans to update HybridSystem for version 4.0, but they have not been completed.","category":"page"},{"location":"how_to/migrating_to_psy4/","page":"...migrate from version 3.0 to 4.0","title":"...migrate from version 3.0 to 4.0","text":"In addition, HybridSystem has a new required parameter: interconnection_efficiency","category":"page"},{"location":"how_to/market_bid_cost/#Add-a-Market-Bid","page":"...add a market bid","title":"Add a Market Bid","text":"","category":"section"},{"location":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","text":"A 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.","category":"page"},{"location":"how_to/market_bid_cost/#Adding-Energy-bids-to-MarketBidCost","page":"...add a market bid","title":"Adding Energy bids to MarketBidCost","text":"","category":"section"},{"location":"how_to/market_bid_cost/#Step-1:-Constructiong-device-with-MarketBidCost","page":"...add a market bid","title":"Step 1: Constructiong device with MarketBidCost","text":"","category":"section"},{"location":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","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":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","text":"The code below shows an example how we can create a thermal device with MarketBidCost.","category":"page"},{"location":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","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":"how_to/market_bid_cost/#Step-2:-Creating-the-TimeSeriesData-for-the-Market-Bid","page":"...add a market bid","title":"Step 2: Creating the TimeSeriesData for the Market Bid","text":"","category":"section"},{"location":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","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":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","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":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","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":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","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":"how_to/market_bid_cost/#Step-3a:-Adding-Energy-Bid-TimeSeriesData-to-the-device","page":"...add a market bid","title":"Step 3a: Adding Energy Bid TimeSeriesData to the device","text":"","category":"section"},{"location":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","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":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","text":"sys::System: PowerSystem System\ncomponent::StaticInjection: Static injection device\ntime_series_data::TimeSeriesData: TimeSeriesData","category":"page"},{"location":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","text":"sys = System(100.0, [bus], [generator])\nset_variable_cost!(sys, generator, time_series_data)","category":"page"},{"location":"how_to/market_bid_cost/#Step-3b:-Adding-Service-Bid-TimeSeriesData-to-the-device","page":"...add a market bid","title":"Step 3b: Adding Service Bid TimeSeriesData to the device","text":"","category":"section"},{"location":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","text":"Similar to adding energy market bids, for adding bids for ancillary services, use set_service_bid!.","category":"page"},{"location":"how_to/market_bid_cost/","page":"...add a market bid","title":"...add a market bid","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_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.\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":"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. Options are listed here\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, validation range: (0, nothing)\noperation_cost::StorageCost: (default: StorageCost(nothing)) OperationalCost 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.\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":"how_to/extend_tabular_parsing/#customize-the-tabular-data-parser","page":"...customize the tabular data parser","title":"customize the tabular data parser","text":"","category":"section"},{"location":"how_to/extend_tabular_parsing/","page":"...customize the tabular data parser","title":"...customize the tabular data parser","text":"This page describes how developers should read columns from raw data files.","category":"page"},{"location":"how_to/extend_tabular_parsing/","page":"...customize the tabular data parser","title":"...customize the tabular data parser","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":"how_to/extend_tabular_parsing/","page":"...customize the tabular data parser","title":"...customize the tabular data parser","text":"Note: This assumes that you are familiar with the PowerSystems Table Data Parser.","category":"page"},{"location":"how_to/extend_tabular_parsing/#Procedure","page":"...customize the tabular data parser","title":"Procedure","text":"","category":"section"},{"location":"how_to/extend_tabular_parsing/","page":"...customize the tabular data parser","title":"...customize the tabular data parser","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":"how_to/extend_tabular_parsing/","page":"...customize the tabular data parser","title":"...customize the tabular data parser","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":"how_to/extend_tabular_parsing/","page":"...customize the tabular data parser","title":"...customize the tabular data parser","text":"iterate_rows returns a NamedTuple where each name defined in src/descriptors/power_system_inputs.json is a field.","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 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. When defining a line before it is attached to a System, rating must be in per-unit divided by the base power of the System it will be attached to\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.\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":"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.\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. When defining a transformer before it is attached to a System, rating must be in per-unit divided by the base power of the System it will be attached to, 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.\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, 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)) OperationalCost 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.\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), used in some production cost modeling simulations. To set the reactive power in a load flow, use power_factor\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, used in some production cost model simulations and in power flow if the unit is connected to a PV bus. Set to nothing if not applicable\npower_factor::Float64: Power factor [0, 1] set-point, used in some production cost modeling and in load flow if the unit is connected to a PQ bus, validation range: (0, 1)\noperation_cost::Union{RenewableGenerationCost, MarketBidCost}: OperationalCost of generation\nbase_power::Float64: Base power of the unit (MVA) for per unitization, 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.\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.\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":"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.\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.\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.\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.\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":"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.\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.\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.\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.\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.\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.\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/#ESAC8B","page":"AVR","title":"ESAC8B","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ESAC8B.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ESAC8B","page":"AVR","title":"PowerSystems.ESAC8B","text":"mutable struct ESAC8B <: AVR\n Tr::Float64\n Kp::Float64\n Ki::Float64\n Kd::Float64\n Td::Float64\n Ka::Float64\n Ta::Float64\n Vr_lim::MinMax\n Te::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\nExcitation System AC8B. Used to represent the Basler Digital Excitation Control System (DECS) with PID controller in PSSE.\n\nArguments\n\nTr::Float64: Regulator input filter time constant in s, validation range: (0, nothing)\nKp::Float64: Regulator proportional PID gain, validation range: (0, nothing)\nKi::Float64: Regulator integral PID gain, validation range: (0, nothing)\nKd::Float64: Regulator derivative PID gain, validation range: (0, nothing)\nTd::Float64: Regulator derivative PID time constant., validation range: (0, 10)\nKa::Float64: Regulator output gain, validation range: (0, 1000)\nTa::Float64: Regulator output lag time constant in s, validation range: (0, 10)\nVr_lim::MinMax: Limits for exciter field voltage (Vr_min, Vr_max)\nTe::Float64: Exciter field time constant, validation range: (eps(), 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.\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed terminal voltage,\nx_i: Internal PI-block state,\nx_d: Internal Derivative-block state,\nVr: Voltage regulator state,\nEfd: Exciter output state\n\nn_states::Int: (Do not modify.) ESAC8B has 5 states\nstates_types::Vector{StateTypes}: (Do not modify.) ESAC8B 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{ESAC8B}","page":"AVR","title":"PowerSystems.get_E_sat","text":"get_E_sat(value::ESAC8B) -> Tuple{Float64, Float64}\n\n\nGet ESAC8B E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ka-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Ka","text":"get_Ka(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kd-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Kd","text":"get_Kd(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ke-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Ke","text":"get_Ke(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ki-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Ki","text":"get_Ki(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kp-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Kp","text":"get_Kp(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Se-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Se","text":"get_Se(value::ESAC8B) -> Tuple{Float64, Float64}\n\n\nGet ESAC8B Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Ta-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Ta","text":"get_Ta(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Td-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Td","text":"get_Td(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Te-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Te","text":"get_Te(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ESAC8B) -> Float64\n\n\nGet ESAC8B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ESAC8B) -> Float64\n\n\nGet ESAC8B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ESAC8B\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ESAC8B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ESAC8B) -> Dict{String, Any}\n\n\nGet ESAC8B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ESAC8B) -> Int64\n\n\nGet ESAC8B n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_saturation_coeffs-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_saturation_coeffs","text":"get_saturation_coeffs(\n value::ESAC8B\n) -> Tuple{Float64, Float64}\n\n\nGet ESAC8B saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ESAC8B) -> Vector{Symbol}\n\n\nGet ESAC8B states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ESAC8B}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ESAC8B) -> Vector{StateTypes}\n\n\nGet ESAC8B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_E_sat!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_E_sat!","text":"set_E_sat!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B E_sat.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ka!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Ka!","text":"set_Ka!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Ka.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kd!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Kd!","text":"set_Kd!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Kd.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ke!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Ke!","text":"set_Ke!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Ke.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ki!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Ki!","text":"set_Ki!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Ki.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kp!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Kp!","text":"set_Kp!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Kp.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Se!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Se!","text":"set_Se!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Se.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Ta!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Ta!","text":"set_Ta!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Ta.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Td!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Td!","text":"set_Td!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Td.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Te!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Te!","text":"set_Te!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Te.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_saturation_coeffs!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_saturation_coeffs!","text":"set_saturation_coeffs!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B saturation_coeffs.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ESAC8B, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ESAC8B, val) -> Any\n\n\nSet ESAC8B 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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\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_AVR/#ST6B","page":"AVR","title":"ST6B","text":"","category":"section"},{"location":"model_library/generated_AVR/","page":"AVR","title":"AVR","text":"Modules = [PowerSystems]\nPages = [\"/ST6B.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/generated_AVR/#PowerSystems.ST6B","page":"AVR","title":"PowerSystems.ST6B","text":"mutable struct ST6B <: AVR\n OEL_Flag::Int\n Tr::Float64\n K_pa::Float64\n K_ia::Float64\n K_da::Float64\n T_da::Float64\n Va_lim::MinMax\n K_ff::Float64\n K_m::Float64\n K_ci::Float64\n K_lr::Float64\n I_lr::Float64\n Vr_lim::MinMax\n Kg::Float64\n Tg::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\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 ST6B Excitacion System. ST6B in PSSE and PSLF\n\nArguments\n\nOEL_Flag::Int: OEL Flag for ST6B: 1: before HV gate, 2: after HV gate, validation range: (0, 2)\nTr::Float64: Regulator input filter time constant in s, validation range: (0, nothing)\nK_pa::Float64: Regulator proportional gain, validation range: (0, nothing)\nK_ia::Float64: Regulator integral gain, validation range: (0, nothing)\nK_da::Float64: Regulator derivative gain, validation range: (0, nothing)\nT_da::Float64: Voltage regulator derivative channel time constant in s, validation range: (0, nothing)\nVa_lim::MinMax: Regulator output limits (Vimin, Vimax)\nK_ff::Float64: Pre-control gain of the inner loop field regulator, validation range: (0, nothing)\nK_m::Float64: Forward gain of the inner loop field regulator, validation range: (0, nothing)\nK_ci::Float64: Exciter output current limit adjustment gain, validation range: (0, nothing)\nK_lr::Float64: Exciter output current limiter gain, validation range: (0, nothing)\nI_lr::Float64: Exciter current limiter reference, validation range: (0, nothing)\nVr_lim::MinMax: Voltage regulator limits (Vimin, Vimax)\nKg::Float64: Feedback gain constant of the inner loop field regulator, validation range: (0, nothing)\nTg::Float64: Feedback time constant of the inner loop field voltage regulator in s, 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.\nstates::Vector{Symbol}: (Do not modify.) The states are:\n\nVm: Sensed terminal voltage,\nx_i: Regulator Integrator,\nx_d: Regulator Derivative,\nVg: Regulator Feedback\n\nn_states::Int: (Do not modify.) ST6B has 4 states\nstates_types::Vector{StateTypes}: (Do not modify.) ST6B 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_I_lr-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_I_lr","text":"get_I_lr(value::ST6B) -> Float64\n\n\nGet ST6B I_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_ci-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_ci","text":"get_K_ci(value::ST6B) -> Float64\n\n\nGet ST6B K_ci.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_da-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_da","text":"get_K_da(value::ST6B) -> Float64\n\n\nGet ST6B K_da.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_ff-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_ff","text":"get_K_ff(value::ST6B) -> Float64\n\n\nGet ST6B K_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_ia-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_ia","text":"get_K_ia(value::ST6B) -> Float64\n\n\nGet ST6B K_ia.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_lr-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_lr","text":"get_K_lr(value::ST6B) -> Float64\n\n\nGet ST6B K_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_m-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_m","text":"get_K_m(value::ST6B) -> Float64\n\n\nGet ST6B K_m.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_K_pa-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_K_pa","text":"get_K_pa(value::ST6B) -> Float64\n\n\nGet ST6B K_pa.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Kg-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_Kg","text":"get_Kg(value::ST6B) -> Float64\n\n\nGet ST6B Kg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_OEL_Flag-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_OEL_Flag","text":"get_OEL_Flag(value::ST6B) -> Int64\n\n\nGet ST6B OEL_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_T_da-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_T_da","text":"get_T_da(value::ST6B) -> Float64\n\n\nGet ST6B T_da.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tg-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_Tg","text":"get_Tg(value::ST6B) -> Float64\n\n\nGet ST6B Tg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Tr-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_Tr","text":"get_Tr(value::ST6B) -> Float64\n\n\nGet ST6B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_V_ref-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_V_ref","text":"get_V_ref(value::ST6B) -> Float64\n\n\nGet ST6B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Va_lim-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_Va_lim","text":"get_Va_lim(\n value::ST6B\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ST6B Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_Vr_lim-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_Vr_lim","text":"get_Vr_lim(\n value::ST6B\n) -> @NamedTuple{min::Float64, max::Float64}\n\n\nGet ST6B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_ext-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_ext","text":"get_ext(value::ST6B) -> Dict{String, Any}\n\n\nGet ST6B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_n_states-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_n_states","text":"get_n_states(value::ST6B) -> Int64\n\n\nGet ST6B n_states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_states","text":"get_states(value::ST6B) -> Vector{Symbol}\n\n\nGet ST6B states.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.get_states_types-Tuple{ST6B}","page":"AVR","title":"PowerSystems.get_states_types","text":"get_states_types(value::ST6B) -> Vector{StateTypes}\n\n\nGet ST6B states_types.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_I_lr!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_I_lr!","text":"set_I_lr!(value::ST6B, val) -> Any\n\n\nSet ST6B I_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_ci!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_ci!","text":"set_K_ci!(value::ST6B, val) -> Any\n\n\nSet ST6B K_ci.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_da!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_da!","text":"set_K_da!(value::ST6B, val) -> Any\n\n\nSet ST6B K_da.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_ff!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_ff!","text":"set_K_ff!(value::ST6B, val) -> Any\n\n\nSet ST6B K_ff.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_ia!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_ia!","text":"set_K_ia!(value::ST6B, val) -> Any\n\n\nSet ST6B K_ia.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_lr!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_lr!","text":"set_K_lr!(value::ST6B, val) -> Any\n\n\nSet ST6B K_lr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_m!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_m!","text":"set_K_m!(value::ST6B, val) -> Any\n\n\nSet ST6B K_m.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_K_pa!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_K_pa!","text":"set_K_pa!(value::ST6B, val) -> Any\n\n\nSet ST6B K_pa.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Kg!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_Kg!","text":"set_Kg!(value::ST6B, val) -> Any\n\n\nSet ST6B Kg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_OEL_Flag!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_OEL_Flag!","text":"set_OEL_Flag!(value::ST6B, val) -> Any\n\n\nSet ST6B OEL_Flag.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_T_da!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_T_da!","text":"set_T_da!(value::ST6B, val) -> Any\n\n\nSet ST6B T_da.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tg!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_Tg!","text":"set_Tg!(value::ST6B, val) -> Any\n\n\nSet ST6B Tg.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Tr!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_Tr!","text":"set_Tr!(value::ST6B, val) -> Any\n\n\nSet ST6B Tr.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_V_ref!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_V_ref!","text":"set_V_ref!(value::ST6B, val) -> Any\n\n\nSet ST6B V_ref.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Va_lim!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_Va_lim!","text":"set_Va_lim!(value::ST6B, val) -> Any\n\n\nSet ST6B Va_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_Vr_lim!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_Vr_lim!","text":"set_Vr_lim!(value::ST6B, val) -> Any\n\n\nSet ST6B Vr_lim.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_ext!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_ext!","text":"set_ext!(value::ST6B, val) -> Any\n\n\nSet ST6B ext.\n\n\n\n\n\n","category":"method"},{"location":"model_library/generated_AVR/#PowerSystems.set_states_types!-Tuple{ST6B, Any}","page":"AVR","title":"PowerSystems.set_states_types!","text":"set_states_types!(value::ST6B, val) -> Any\n\n\nSet ST6B 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}: OperationalCost of generation\nbase_power::Float64: Base power of the unit (MVA) for per unitization, 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.\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":"how_to/parsing/#parsing","page":"...parse data from Matpower, PSSE, or CSV files","title":"Parsing Data","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"PowerSystems.jl supports the creation of a System from a variety of common data formats:","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/#pm_data","page":"...parse data from Matpower, PSSE, or CSV files","title":"MATPOWER / PSS/e","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"The following code will create a System from a MATPOWER or PSS/e file:","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"using PowerSystems\nfile_dir = joinpath(pkgdir(PowerSystems), \"docs\", \"src\", \"tutorials\", \"tutorials_data\")\nsys = System(joinpath(file_dir, \"case5.m\"))","category":"page"},{"location":"how_to/parsing/#dyr_data","page":"...parse data from Matpower, PSSE, or CSV files","title":"PSS/e dynamic data parsing","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/#Creating-a-Dynamic-System-using-.RAW-and-.DYR-data","page":"...parse data from Matpower, PSSE, or CSV files","title":"Creating a Dynamic System using .RAW and .DYR data","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"To create the system we can do it passing both files directories:","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/#Common-Issues","page":"...parse data from Matpower, PSSE, or CSV files","title":"Common Issues","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"dyn_system = System(RAW_dir, DYR_dir; bus_name_formatter = x -> strip(string(x[\"name\"])) * \"-\" * string(x[\"index\"]))","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/#table_data","page":"...parse data from Matpower, PSSE, or CSV files","title":"PowerSystems Table Data","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/#Categories","page":"...parse data from Matpower, PSSE, or CSV files","title":"Categories","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"Components for each category must be defined in their own CSV file. The following categories are currently supported:","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"These must reside in the directory passed when constructing PowerSystemTableData.","category":"page"},{"location":"how_to/parsing/#parsing_time_series","page":"...parse data from Matpower, PSSE, or CSV files","title":"Adding Time Series Data","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"scaling factor","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"scaling_factor_multiplier: Accessor function of the scaling factor\ndata_file: Path to the time series data file","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"Notes:","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"The \"module\", \"category\", and \"component_name\" entries must be valid arguments to retrieve","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"a component using get_component(${module}.${category}, sys, $name).","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"The \"scalingfactormultipliermodule\" and the \"scalingfactor_multiplier\" entries must","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"be sufficient to return the scaling factor data using ${scaling_factor_multiplier_module}.${scaling_factor_multiplier}(component).","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"PowerSystems supports this metadata in either CSV or JSON formats. Refer to RTS_GMLC for an example.","category":"page"},{"location":"how_to/parsing/#Performance-considerations","page":"...parse data from Matpower, PSSE, or CSV files","title":"Performance considerations","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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 SIENNATIMESERIES_DIRECTORY to another directory.","category":"page"},{"location":"how_to/parsing/#Customization","page":"...parse data from Matpower, PSSE, or CSV files","title":"Customization","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"The tabular data parser in PowerSystems.jl can be customized to read a variety of datasets by configuring:","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"Here is an example of how to construct a System with all customizations listed in this section:","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"Examples configuration files can be found in the RTS-GMLC repo:","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"user_descriptors.yaml\ngenerator_mapping.yaml","category":"page"},{"location":"how_to/parsing/#csv_data","page":"...parse data from Matpower, PSSE, or CSV files","title":"CSV Data Configurations","text":"","category":"section"},{"location":"how_to/parsing/#csv_genmap","page":"...parse data from Matpower, PSSE, or CSV files","title":"Custom construction of generators","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/#csv_columns","page":"...parse data from Matpower, PSSE, or CSV files","title":"Column names","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"PowerSystems provides am input mapping capability that allows you to keep your own column names.","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"python ./bin/generate_config_file.py ./user_descriptors.yaml","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","text":"Next, edit this file with your customizations.","category":"page"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/#csv_per_unit","page":"...parse data from Matpower, PSSE, or CSV files","title":"Per-unit conversion","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"how_to/parsing/#csv_units","page":"...parse data from Matpower, PSSE, or CSV files","title":"Unit conversion","text":"","category":"section"},{"location":"how_to/parsing/","page":"...parse data from Matpower, PSSE, or CSV files","title":"...parse data from Matpower, PSSE, or CSV files","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":"model_library/market_bid_cost/#MarketBidCost","page":"MarketBidCost","title":"MarketBidCost","text":"","category":"section"},{"location":"model_library/market_bid_cost/","page":"MarketBidCost","title":"MarketBidCost","text":"Modules = [PowerSystems]\nPages = [\"cost_functions/MarketBidCost.jl\"]\nOrder = [:type, :function]\nPublic = true\nPrivate = false","category":"page"},{"location":"model_library/market_bid_cost/#PowerSystems.MarketBidCost","page":"MarketBidCost","title":"PowerSystems.MarketBidCost","text":"MarketBidCost(\n no_load_cost,\n start_up::Real,\n shut_down\n) -> MarketBidCost\nMarketBidCost(\n no_load_cost,\n start_up::Real,\n shut_down,\n incremental_offer_curves\n) -> MarketBidCost\nMarketBidCost(\n no_load_cost,\n start_up::Real,\n shut_down,\n incremental_offer_curves,\n decremental_offer_curves\n) -> MarketBidCost\nMarketBidCost(\n no_load_cost,\n start_up::Real,\n shut_down,\n incremental_offer_curves,\n decremental_offer_curves,\n ancillary_service_offers\n) -> MarketBidCost\n\n\nAccepts a single start_up value to use as the hot value, with warm and cold set to 0.0.\n\n\n\n\n\n","category":"type"},{"location":"model_library/market_bid_cost/#PowerSystems.MarketBidCost-2","page":"MarketBidCost","title":"PowerSystems.MarketBidCost","text":"mutable struct MarketBidCost <: OperationalCost\n\nno_load_cost::Union{Float64, TimeSeriesKey}: No load cost\nstart_up::Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesKey}: Start-up cost at different stages of the thermal cycle as the unit cools after a shutdown (e.g., hot, warm, or cold starts). Warm is also referred to as intermediate in some markets. Can also accept a single value if there is only one start-up cost\nshut_down::Float64: Shut-down cost\nincremental_offer_curves::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}: Sell Offer Curves data, which can be a time series or a CostCurve using PiecewiseIncrementalCurve\ndecremental_offer_curves::Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}: Buy Offer Curves data, can be a time series or a CostCurve using PiecewiseIncrementalCurve\nancillary_service_offers::Vector{Service}: Bids for the ancillary services\n\nMarketBidCost(no_load_cost, start_up, shut_down, incremental_offer_curves, decremental_offer_curves, ancillary_service_offers)\nMarketBidCost(; no_load_cost, start_up, shut_down, incremental_offer_curves, decremental_offer_curves, ancillary_service_offers)\nMarketBidCost(no_load_cost, start_up::Real, shut_down, incremental_offer_curves, decremental_offer_curves, ancillary_service_offers)\n\nAn operating cost for market bids of energy and ancilliary services for any asset. Compatible with most US Market bidding mechanisms that support demand and generation side.\n\n\n\n\n\n","category":"type"},{"location":"model_library/market_bid_cost/#PowerSystems.get_ancillary_service_offers-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_ancillary_service_offers","text":"get_ancillary_service_offers(\n value::MarketBidCost\n) -> Vector{Service}\n\n\nGet MarketBidCost ancillary_service_offers.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.get_decremental_offer_curves-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_decremental_offer_curves","text":"get_decremental_offer_curves(\n value::MarketBidCost\n) -> Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}\n\n\nGet MarketBidCost incremental_offer_curves.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.get_incremental_offer_curves-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_incremental_offer_curves","text":"get_incremental_offer_curves(\n value::MarketBidCost\n) -> Union{Nothing, TimeSeriesKey, CostCurve{PiecewiseIncrementalCurve}}\n\n\nGet MarketBidCost incremental_offer_curves.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.get_no_load_cost-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_no_load_cost","text":"get_no_load_cost(\n value::MarketBidCost\n) -> Union{Float64, TimeSeriesKey}\n\n\nGet MarketBidCost no_load_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#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/market_bid_cost/#PowerSystems.get_start_up-Tuple{MarketBidCost}","page":"MarketBidCost","title":"PowerSystems.get_start_up","text":"get_start_up(\n value::MarketBidCost\n) -> Union{@NamedTuple{hot::Float64, warm::Float64, cold::Float64}, TimeSeriesKey}\n\n\nGet MarketBidCost start_up.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.make_market_bid_curve-Tuple{PiecewiseStepData}","page":"MarketBidCost","title":"PowerSystems.make_market_bid_curve","text":"make_market_bid_curve(\n data::PiecewiseStepData;\n power_units\n) -> CostCurve{PiecewiseIncrementalCurve}\n\n\nMake a CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in a MarketBidCost from the FunctionData that might be used to store such a cost curve in a time series.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.make_market_bid_curve-Tuple{Vector{Float64}, Vector{Float64}}","page":"MarketBidCost","title":"PowerSystems.make_market_bid_curve","text":"make_market_bid_curve(\n powers::Vector{Float64},\n marginal_costs::Vector{Float64};\n power_units\n) -> CostCurve{PiecewiseIncrementalCurve}\n\n\nMake a CostCurve{PiecewiseIncrementalCurve} suitable for inclusion in a MarketBidCost from a vector of power values, a vector of marginal costs, and an optional units system. The minimum power, and cost at minimum power, are not represented.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#PowerSystems.set_ancillary_service_offers!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","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":"model_library/market_bid_cost/#PowerSystems.set_decremental_offer_curves!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","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":"model_library/market_bid_cost/#PowerSystems.set_incremental_offer_curves!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","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":"model_library/market_bid_cost/#PowerSystems.set_no_load_cost!-Tuple{MarketBidCost, Any}","page":"MarketBidCost","title":"PowerSystems.set_no_load_cost!","text":"set_no_load_cost!(value::MarketBidCost, val) -> Any\n\n\nSet MarketBidCost no_load_cost.\n\n\n\n\n\n","category":"method"},{"location":"model_library/market_bid_cost/#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/market_bid_cost/#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":"api/public/#Public-API-Reference","page":"Public API","title":"Public API Reference","text":"","category":"section"},{"location":"api/public/#Modeling","page":"Public API","title":"Modeling","text":"","category":"section"},{"location":"api/public/","page":"Public API","title":"Public API","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","title":"PowerSystems.OperationalCost","text":"Supertype for operational cost representations\n\nCurrent concrete types include:\n\nThermalGenerationCost\nHydroGenerationCost\nRenewableGenerationCost\nStorageCost\nLoadCost\nMarketBidCost\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.AverageRateCurve","page":"Public API","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","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","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","title":"PowerSystems.ValueCurve","text":"Supertype that represents a unitless cost curve\n\nConcrete options are listed here.\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.is_convex-Tuple{ValueCurve}","page":"Public API","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","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","title":"PowerSystems.get_initial_input","text":"get_initial_input(\n curve::Union{AverageRateCurve, IncrementalCurve}\n) -> Union{Nothing, 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_input_at_zero-Tuple{ValueCurve}","page":"Public API","title":"PowerSystems.get_input_at_zero","text":"get_input_at_zero(curve::ValueCurve) -> Any\n\n\nGet the input_at_zero field of this ValueCurve\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_fuel_cost-Tuple{StaticInjection}","page":"Public API","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","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","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","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","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","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","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","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","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","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","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","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","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","title":"TimeSeries","text":"","category":"section"},{"location":"api/public/","page":"Public API","title":"Public API","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","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","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","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","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","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","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","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\nExamples\n\nresolution = Dates.Hour(1)\ndata = Dict(\n DateTime(\"2020-01-01T00:00:00\") => ones(24),\n DateTime(\"2020-01-01T01:00:00\") => ones(24),\n)\n# Define a Deterministic for the first attribute\nforecast_max_active_power = Deterministic(\n \"max_active_power\",\n data,\n resolution,\n scaling_factor_multiplier = get_max_active_power,\n)\nadd_time_series!(sys, generator, forecast_max_active_power)\n# Reuse time series for second attribute\nforecast_max_reactive_power = Deterministic(\n forecast_max_active_power,\n \"max_reactive_power\"\n scaling_factor_multiplier = get_max_reactive_power,\n)\nadd_time_series!(sys, generator, forecast_max_reactive_power)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.Deterministic-Tuple{Deterministic, Any}","page":"Public API","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","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","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","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","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.iterate_windows-Tuple{Deterministic}","page":"Public API","title":"InfrastructureSystems.iterate_windows","text":"iterate_windows(\n forecast::Deterministic\n) -> Base.Generator{I, InfrastructureSystems.var\"#107#108\"{Deterministic}} where I<:(DataStructures.SDMKeyIteration{T} where T<:DataStructures.SortedDict)\n\n\nIterate over the windows in a forecast\n\nExamples\n\nfor window in iterate_windows(forecast)\n @show values(maximum(window))\nend\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{Deterministic, Any}","page":"Public API","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","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","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","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","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","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","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","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","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","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","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","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","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","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.iterate_windows-Tuple{Probabilistic}","page":"Public API","title":"InfrastructureSystems.iterate_windows","text":"iterate_windows(\n forecast::Probabilistic\n) -> Base.Generator{I, InfrastructureSystems.var\"#107#108\"{Probabilistic}} where I<:(DataStructures.SDMKeyIteration{T} where T<:DataStructures.SortedDict)\n\n\nIterate over the windows in a forecast\n\nExamples\n\nfor window in iterate_windows(forecast)\n @show values(maximum(window))\nend\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{Probabilistic, Any}","page":"Public API","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","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","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","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","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","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","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","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","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","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","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","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","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","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.iterate_windows-Tuple{Scenarios}","page":"Public API","title":"InfrastructureSystems.iterate_windows","text":"iterate_windows(\n forecast::Scenarios\n) -> Base.Generator{I, InfrastructureSystems.var\"#107#108\"{Scenarios}} where I<:(DataStructures.SDMKeyIteration{T} where T<:DataStructures.SortedDict)\n\n\nIterate over the windows in a forecast\n\nExamples\n\nfor window in iterate_windows(forecast)\n @show values(maximum(window))\nend\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_data!-Tuple{Scenarios, Any}","page":"Public API","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","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","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","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","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","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 that wraps a SingleTimeSeries\n\nDeterministicSingleTimeSeries behaves exactly like a Deterministic, but instead of storing windows at each initial time it provides a view into the existing SingleTimeSeries at incrementing offsets. This avoids large data duplications when there are the overlapping windows between forecasts. \n\nCan be used as a perfect forecast based on historical data when real forecast data is unavailable. \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","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 single column of time series data for a particular data field in a Component.\n\nIn contrast with a forecast, this can represent one continual time series, such as a series of historical measurements or realizations or a single scenario (e.g. a weather year or different input assumptions).\n\nArguments\n\nname::String: user-defined name\ndata::TimeSeries.TimeArray: timestamp - scalingfactor\nresolution::Dates.Period: Time duration between steps in the time series. The resolution must be the same throughout the time series\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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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.iterate_windows-Tuple{DeterministicSingleTimeSeries}","page":"Public API","title":"InfrastructureSystems.iterate_windows","text":"iterate_windows(\n forecast::DeterministicSingleTimeSeries\n) -> Any\n\n\nIterate over the windows in a forecast\n\nExamples\n\nfor window in iterate_windows(forecast)\n @show values(maximum(window))\nend\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.set_count!-Tuple{DeterministicSingleTimeSeries, Any}","page":"Public API","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","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","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","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","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","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","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","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","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","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","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.Forecast","page":"Public API","title":"InfrastructureSystems.Forecast","text":"Supertype for forecast time series Current concrete subtypes are:\n\nDeterministic\nDeterministicSingleTimeSeries\nScenarios\nProbabilistic\n\nSubtypes of Forecast must implement:\n\nget_horizon_count\nget_initial_times\nget_initial_timestamp\nget_name\nget_scaling_factor_multiplier\nget_window\niterate_windows\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.get_initial_times-Tuple{Forecast}","page":"Public API","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","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","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","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","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","title":"Public API","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","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","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\nExamples\n\ncache = ForecastCache(Deterministic, component, \"max_active_power\")\nwindow1 = get_next_time_series_array!(cache)\nwindow2 = get_next_time_series_array!(cache)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#System","page":"Public API","title":"System","text":"","category":"section"},{"location":"api/public/","page":"Public API","title":"Public API","text":"Modules = [PowerSystems]\nPages = [\"base.jl\"]\nPublic = true\nPrivate = false\nFilter = t -> t ∈ [System]","category":"page"},{"location":"api/public/#PowerSystems.System","page":"Public API","title":"PowerSystems.System","text":"A power system\n\nSystem is the main data container in PowerSystems.jl, including basic metadata (base power, frequency), components (network topology, loads, generators, and services), and time series data.\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 (e.g., buses, generators, ...) must be an iterable containing subtypes of Component.\n\nKeyword arguments\n\next::Dict: Contains user-defined parameters. Should only contain standard types.\nfrequency::Float64: (default = 60.0) Operating frequency (Hz)\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.\ntime_series_directory::Union{Nothing, String}: Directory for the time series HDF5 file. Defaults to the tmp file system\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\nunit_system::String: (Default = \"SYSTEM_BASE\") Set the unit system for per-unitization while getting and setting data (\"SYSTEM_BASE\", \"DEVICE_BASE\", or \"NATURAL_UNITS\")\n\nBy default, time series data is stored in an HDF5 file in the tmp file system to prevent large datasets from overwhelming system memory (see Data Storage). If the system's time series data will be larger than the amount of tmp space available, use the time_series_directory parameter to change its location. You can also override the location by setting the environment variable SIENNA_TIME_SERIES_DIRECTORY to another directory.\n\nHDF5 compression is not enabled by default, but you can enable it with enable_compression to get significant storage savings at the cost of CPU time. CompressionSettings can be used to customize the HDF5 compression.\n\nIf you know that your dataset will fit in your computer's memory, then you can increase performance by storing it in memory with time_series_in_memory.\n\nExamples\n\nsys = System(100.0; enable_compression = true)\nsys = System(100.0; compression = CompressionSettings(\n enabled = true,\n type = CompressionTypes.DEFLATE, # BLOSC is also supported\n level = 3,\n shuffle = true)\n)\nsys = System(100.0; time_series_in_memory = true)\n\n\n\n\n\n","category":"type"},{"location":"api/public/#PowerSystems.System-Tuple{AbstractString, AbstractString}","page":"Public API","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","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","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","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","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","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","title":"Public API","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","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","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","title":"Public API","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","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","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","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","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","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","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","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","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","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","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\nA component cannot be added to more than one System. Throws ArgumentError if the name does not match the static_injector name. Throws ArgumentError if the static_injector 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","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\nA component cannot be added to more than one System. 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.\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\nSee also add_components!.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.add_components!-Tuple{System, Any}","page":"Public API","title":"PowerSystems.add_components!","text":"add_components!(sys::System, components)\n\n\nAdd many components to the system at once.\n\nA component cannot be added to more than one System. 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.\n\nExamples\n\nsys = System(100.0)\n\nbuses = [bus1, bus2, bus3]\ngenerators = [gen1, gen2, gen3]\nadd_components!(sys, 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","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","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","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","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","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","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","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","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 function stores a single copy of the data. Each component will store a reference to that data. 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.\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","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","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","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\n\nThis 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: (Default = 100) Number of time series to add per batch.\n\nExamples\n\n# Assumes `read_time_series` will return data appropriate for Deterministic forecasts\n# based on the generator name and the filenames match the component and time series names.\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\nSee also: open_time_series_store! to minimize HDF5 file handle overhead if you must add time series arrays one at a time\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.check-Tuple{System}","page":"Public API","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","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","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","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","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","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","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","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","title":"PowerSystems.clear_time_series!","text":"clear_time_series!(sys::System)\n\n\nClear all time series data from the system.\n\nIf you are storing time series data in an HDF5 file, this will will delete the HDF5 file and create a new one.\n\nSee also: remove_time_series!\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.convert_component!-Tuple{System, Line, Type{MonitoredLine}}","page":"Public API","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","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","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","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","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","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_available_components-Union{Tuple{T}, Tuple{Type{T}, System}} where T<:Component","page":"Public API","title":"PowerSystems.get_available_components","text":"get_available_components(\n _::Type{T<:Component},\n sys::System\n) -> InfrastructureSystems.FlattenIteratorWrapper{T, I} where {T<:Component, I<:(Vector)}\n\n\nGets components availability. Requires type T to have the method get_available implemented.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.get_base_power-Tuple{System}","page":"Public API","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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","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.get_units_base-Tuple{System}","page":"Public API","title":"PowerSystems.get_units_base","text":"get_units_base(system::System) -> String\n\n\nGet the system's unit base)\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.has_component-Tuple{System, Type{<:Component}, AbstractString}","page":"Public API","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","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.is_component_in_aggregation_topology-Union{Tuple{T}, Tuple{Component, T}} where T<:AggregationTopology","page":"Public API","title":"PowerSystems.is_component_in_aggregation_topology","text":"is_component_in_aggregation_topology(\n comp::Component,\n aggregator::AggregationTopology\n) -> Union{Missing, Bool}\n\n\nReturn whether the given component's bus is in the AggregationTopology.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.iterate_components-Tuple{System}","page":"Public API","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","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","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\n\nThis is recommended before calling add_time_series! 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\n# stored in the variables components and single_time_series, respectively\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\nYou can also use this function to make reads faster. Change the mode from \"r+\" to \"r\" to open the file read-only.\n\nSee also: bulk_add_time_series!\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","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","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","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","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","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","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","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\nSee also: clear_time_series!\n\nIf you are storing time series data in an HDF5 file, remove_time_series! 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.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.sanitize_component!-Tuple{Component, System}","page":"Public API","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","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","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","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","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","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 in a System to DeterministicSingleTimeSeries\n\nThis can be used to generate a perfect forecast from historical measurements or realizations when actual forecasts are unavailable, without unnecessarily duplicating data.\n\nIf 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\nArguments\n\nsys::System: System containing the components.\nhorizon::Dates.Period: desired horizon of each forecast window\ninterval::Dates.Period: desired interval between forecast windows\n\n\n\n\n\n","category":"method"},{"location":"api/public/#PowerSystems.validate_component-Tuple{Component}","page":"Public API","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","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/","page":"Public API","title":"Public API","text":"Modules = [PowerSystems]\nPages = [\"utils/print.jl\"]\nPublic = true\nPrivate = false\nFilter = t -> t ∉ [System]","category":"page"},{"location":"api/public/#PowerSystems.show_components","page":"Public API","title":"PowerSystems.show_components","text":"show_components(\n sys::System,\n component_type::Type{<:Component};\n ...\n)\nshow_components(\n sys::System,\n component_type::Type{<:Component},\n additional_columns::Union{Dict, Vector};\n kwargs...\n)\n\n\nShow all components of the given type in a table.\n\nArguments\n\nsys::System: System containing the components.\ncomponent_type::Type{<:Component}: Type to display. Must be a concrete type.\nadditional_columns::Union{Dict, Vector}: Additional columns to display. The Dict option is a mapping of column name to function. The function must accept a component. The Vector option is an array of field names for the component_type.\n\nExtra keyword arguments are forwarded to PrettyTables.pretty_table.\n\nExamples\n\nshow_components(sys, ThermalStandard)\nshow_components(sys, ThermalStandard, Dict(\"has_time_series\" => x -> has_time_series(x)))\nshow_components(sys, ThermalStandard, [:active_power, :reactive_power])\n\n\n\n\n\n","category":"function"},{"location":"api/public/#Additional-Component-Methods","page":"Public API","title":"Additional Component Methods","text":"","category":"section"},{"location":"api/public/","page":"Public API","title":"Public API","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","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","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","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","title":"Public API","text":"Modules = [InfrastructureSystems]\nPages = [\"time_series_interface.jl\", \"time_series_structs.jl\",\n \"time_series_storage.jl\", \"utils/print.jl\",\n \"time_series_cache.jl\"]\nFilter = t -> t ∈ [InfrastructureSystems.get_time_series,\n InfrastructureSystems.get_time_series_array,\n InfrastructureSystems.reset!,\n InfrastructureSystems.get_time_series_timestamps,\n InfrastructureSystems.get_time_series_values,\n InfrastructureSystems.show_time_series,\n InfrastructureSystems.get_time_series_keys,\n InfrastructureSystems.TimeSeriesAssociation,\n InfrastructureSystems.ForecastCache,\n InfrastructureSystems.StaticTimeSeriesCache,\n InfrastructureSystems.CompressionSettings\n ]","category":"page"},{"location":"api/public/#InfrastructureSystems.get_time_series","page":"Public API","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 the exact stored data in a time series, using a time series key look up\n\nThis will load all forecast windows into memory by default. Be aware of how much data is stored.\n\nSpecify start_time and len if you only need a subset of data.\n\nDoes not apply a scaling factor multiplier.\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 timestamp 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.\nfeatures...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years\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","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 the exact stored data in a time series\n\nThis will load all forecast windows into memory by default. Be aware of how much data is stored.\n\nSpecify start_time and len if you only need a subset of data.\n\nDoes not apply a scaling factor multiplier.\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 timestamp 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.\nfeatures...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years\n\nSee also: get_time_series_array, get_time_series_values.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_array","page":"Public API","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 time series data are scaling factors, the returned data will be scaled by the scaling factor multiplier by default.\n\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\ntime_series::StaticTimeSeries: subtype of StaticTimeSeries (e.g., SingleTimeSeries)\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp to retrieve. If nothing, use the initial_timestamp of the time series.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\n\nSee also: get_time_series_values, get_time_series_timestamps, 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","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 time series data are scaling factors, the returned data will be scaled by the scaling factor multiplier by default.\n\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\nforecast::Forecast: a concrete subtype of Forecast\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp of one of the forecast windows\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\n\nSee also get_time_series_values, get_time_series_timestamps, 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","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 time series data are scaling factors, the returned data will be scaled by the scaling factor multiplier by default.\n\nThis will load all forecast windows into memory by default. Be aware of how much data is stored.\n\nSpecify start_time and len if you only need a subset of data.\n\nArguments\n\n::Type{T}: the type of time series (a concrete subtype of TimeSeriesData)\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 timestamp of a window.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\nfeatures...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years\n\nSee also: get_time_series_values, get_time_series_timestamps, get_time_series\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_keys-Tuple{Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}}","page":"Public API","title":"InfrastructureSystems.get_time_series_keys","text":"get_time_series_keys(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}\n) -> Vector\n\n\nReturn information about each time series array attached to the owner. This information can be used to call get_time_series(::TimeSeriesOwners, ::TimeSeriesKey).\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_timestamps","page":"Public API","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\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\nforecast::Forecast: a concrete subtype of Forecast\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp of one of the forecast windows\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\n\nSee also: get_time_series_array, get_time_series_values, ForecastCache.\n\n\n\n\n\n","category":"function"},{"location":"api/public/#InfrastructureSystems.get_time_series_timestamps-2","page":"Public API","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\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\ntime_series::StaticTimeSeries: subtype of StaticTimeSeries (e.g., SingleTimeSeries)\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp to retrieve. If nothing, use the initial_timestamp of the time series.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length\n\nSee also: get_time_series_array, get_time_series_values, StaticTimeSeriesCache.\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","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\nArguments\n\n::Type{T}: the type of time series (a concrete subtype of TimeSeriesData)\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 timestamp of a window.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\nfeatures...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years\n\nSee also: get_time_series_array, get_time_series_values\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.get_time_series_values","page":"Public API","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 vector of timeseries data without timestamps from a cached StaticTimeSeries instance\n\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\ntime_series::StaticTimeSeries: subtype of StaticTimeSeries (e.g., SingleTimeSeries)\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp to retrieve. If nothing, use the initial_timestamp of the time series.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\n\nSee also: get_time_series_array, get_time_series_timestamps, StaticTimeSeriesCache.\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","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 vector of timeseries data without timestamps for one forecast window from a cached Forecast instance.\n\nArguments\n\nowner::TimeSeriesOwners: Component or attribute containing the time series\nforecast::Forecast: a concrete subtype of Forecast\nstart_time::Union{Nothing, Dates.DateTime} = nothing: the first timestamp of one of the forecast windows\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\n\nSee also: get_time_series_array, get_time_series_timestamps, ForecastCache.\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","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 vector of timeseries data without timestamps from storage\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\nArguments\n\n::Type{T}: type of the time series (a concrete subtype of TimeSeriesData)\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 timestamp of a window.\nlen::Union{Nothing, Int} = nothing: Length of time-series to retrieve (i.e. number of timestamps). If nothing, use the entire length.\nignore_scaling_factors = false: If true, the time-series data will be multiplied by the result of calling the stored scaling_factor_multiplier function on the owner\nfeatures...: User-defined tags that differentiate multiple time series arrays for the same component attribute, such as different arrays for different scenarios or years\n\nSee also: get_time_series_array, get_time_series_timestamps, get_time_series\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.TimeSeriesAssociation","page":"Public API","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/#InfrastructureSystems.CompressionSettings","page":"Public API","title":"InfrastructureSystems.CompressionSettings","text":"CompressionSettings(enabled, type, level, shuffle)\n\nProvides customization of HDF5 compression settings.\n\nenabled::Bool: Controls whether compression is enabled.\ntype::CompressionTypes: Specifies the type of compression to use.\nlevel::Int64: Supported values are 0-9. Higher values deliver better compression ratios but take longer.\nshuffle::Bool: Controls whether to enable the shuffle filter. Used with DEFLATE.\n\nRefer to the HDF5.jl and HDF5 documentation for more details on the options.\n\nExample\n\nsettings = CompressionSettings(\n enabled = true,\n type = CompressionTypes.DEFLATE, # BLOSC is also supported\n level = 3,\n shuffle = true,\n)\n\n\n\n\n\n","category":"type"},{"location":"api/public/#InfrastructureSystems.show_time_series-Tuple{Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}}","page":"Public API","title":"InfrastructureSystems.show_time_series","text":"show_time_series(\n owner::Union{InfrastructureSystems.InfrastructureSystemsComponent, SupplementalAttribute}\n)\n\n\nShow a table with time series data attached to the component.\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.ForecastCache-Union{Tuple{T}, Tuple{Type{T}, InfrastructureSystems.InfrastructureSystemsComponent, AbstractString}} where T<:Forecast","page":"Public API","title":"InfrastructureSystems.ForecastCache","text":"Construct ForecastCache to automatically control caching of forecast data. Maintains some count of forecast windows in memory based on cache_size_bytes.\n\nCall Base.iterate or get_next_time_series_array! to retrieve data. Each iteration will return a TimeSeries.TimeArray covering one forecast window of length horizon_count.\n\nArguments\n\n::Type{T}: subtype of Forecast\ncomponent::InfrastructureSystemsComponent: component\nname::AbstractString: forecast name\nstart_time::Union{Nothing, Dates.DateTime} = nothing: forecast start time\nhorizon_count::Union{Nothing, Int} = nothing: forecast horizon count\ncache_size_bytes = TIME_SERIES_CACHE_SIZE_BYTES: maximum size of data to keep in memory\nignore_scaling_factors = false: controls whether to ignore scaling_factor_multiplier in the time series instance\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.StaticTimeSeriesCache-Union{Tuple{T}, Tuple{Type{T}, InfrastructureSystems.InfrastructureSystemsComponent, AbstractString}} where T<:StaticTimeSeries","page":"Public API","title":"InfrastructureSystems.StaticTimeSeriesCache","text":"Construct StaticTimeSeriesCache to automatically control caching of time series data. Maintains rows of data in memory based on cache_size_bytes.\n\nCall Base.iterate or get_time_series_array to retrieve data. Each iteration will return a TimeSeries.TimeArray of size 1.\n\nArguments\n\n::Type{T}: subtype of StaticTimeSeries\ncomponent::InfrastructureSystemsComponent: component\nname::AbstractString: time series name\ncache_size_bytes = TIME_SERIES_CACHE_SIZE_BYTES: maximum size of data to keep in memory\nignore_scaling_factors = false: controls whether to ignore scalingfactormultiplier in the time series instance\n\n\n\n\n\n","category":"method"},{"location":"api/public/#InfrastructureSystems.reset!-Tuple{InfrastructureSystems.TimeSeriesCache}","page":"Public API","title":"InfrastructureSystems.reset!","text":"reset!(cache::InfrastructureSystems.TimeSeriesCache)\n\n\nReset parameters in order to start reading data from the beginning with get_next_time_series_array!\n\n\n\n\n\n","category":"method"},{"location":"api/public/#Parsing","page":"Public API","title":"Parsing","text":"","category":"section"},{"location":"api/public/","page":"Public API","title":"Public API","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","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","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","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","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","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","title":"Logging","text":"","category":"section"},{"location":"api/public/","page":"Public API","title":"Public API","text":"Modules = [PowerSystems]\nPages = [\"utils/logging.jl\"]\nPublic = true\nPrivate = false","category":"page"},{"location":"api/public/#PowerSystems.configure_logging-Tuple{}","page":"Public API","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.\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.\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.\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.\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":"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.\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.\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.\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.\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":"how_to/install/#install","page":"...install PowerSystems.jl","title":"Install PowerSystems.jl","text":"","category":"section"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"PowerSystems.jl is a command line tool written in the Julia programming language. To install:","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"Step 1: Install Julia","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"Step 2: Start the Julia REPL from a command line:","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"$ julia","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"You should see the Julia REPL start up, which looks something like this:","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":" _\n _ _ _(_)_ | Documentation: https://docs.julialang.org\n (_) | (_) (_) |\n _ _ _| |_ __ _ | Type \"?\" for help, \"]?\" for Pkg help.\n | | | | | | |/ _` | |\n | | |_| | | | (_| | | Version 1.10.4 (2024-06-04)\n _/ |\\__'_|_|_|\\__'_| | Official https://julialang.org/ release\n|__/ |\n\njulia>","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"If not, go back to check the Julia installation steps.","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"Step 3: Install the latest stable release of PowerSystems.jl using the Julia package manager with:","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"] add PowerSystems","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"Once you type ], you will see the prompt change color as it activates the Julia package manager. This command may take a few minutes to download the packages and compile them.","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"Press the delete or backspace key to return to the REPL. ","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"Install is complete!","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"note: Alternate\nTo use the current development version instead, \"checkout\" the main branch of this package with:] add PowerSystems#main","category":"page"},{"location":"how_to/install/","page":"...install PowerSystems.jl","title":"...install PowerSystems.jl","text":"note: Note\nPowerSystems.jl uses InfrastructureSystems.jl as a utility library. Many methods are re-exported from InfrastructureSystems.jl. For most users there is no need to import InfrastructureSystems.jl.","category":"page"},{"location":"tutorials/get_component_data/#get_components_tutorial","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","text":"","category":"section"},{"location":"tutorials/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","text":"In this tutorial, we will explore the data in a System, including looking at a summary of the system and getting both its components and their data. We will also start checking for time-series data, which we will explore more in the tutorial on Working with Time Series Data.","category":"page"},{"location":"tutorials/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","text":"In Create and Explore a Power System, we created a basic System with nodes, a transmission line, and a few generators. Let's recreate that system if you don't have it already: ","category":"page"},{"location":"tutorials/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","text":"using PowerSystems;\nsys = System(100.0);\nbus1 = ACBus(1, \"bus1\", ACBusTypes.REF, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0);\nbus2 = ACBus(2, \"bus2\", ACBusTypes.PV, 0.0, 1.0, (min = 0.9, max = 1.05), 230.0);\n","category":"page"},{"location":"tutorials/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","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/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","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/get_component_data/#Accessing-components-and-their-data","page":"Getting, Setting, and Viewing Data","title":"Accessing components and their data","text":"","category":"section"},{"location":"tutorials/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","text":"get_component(ACBus, sys, \"nodeA\")\nget_component(Line, sys, \"1\")","category":"page"},{"location":"tutorials/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","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/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","text":"get_components(ACBus, sys) |> collect","category":"page"},{"location":"tutorials/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","text":"get_components also works on abstract types:","category":"page"},{"location":"tutorials/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","text":"get_components(Branch, sys) |> collect","category":"page"},{"location":"tutorials/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","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/get_component_data/","page":"Getting, Setting, and Viewing Data","title":"Getting, Setting, and Viewing Data","text":"bus1 = get_component(ACBus, sys, \"nodeA\")\n@show get_name(bus1);\n@show get_magnitude(bus1);\nnothing #hide","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.\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.\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":"explanation/example_dynamic_data/#Dynamic-Devices","page":"Dynamic Devices","title":"Dynamic Devices","text":"","category":"section"},{"location":"explanation/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":"explanation/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":"explanation/example_dynamic_data/#Dynamic-Generator","page":"Dynamic Devices","title":"Dynamic Generator","text":"","category":"section"},{"location":"explanation/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":"explanation/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":"explanation/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"","category":"page"},{"location":"explanation/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":"explanation/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":"explanation/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"","category":"page"},{"location":"explanation/example_dynamic_data/","page":"Dynamic Devices","title":"Dynamic Devices","text":"⠀","category":"page"},{"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.\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.\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.\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":"how_to/serialize_data/#Serialize-Data-to-a-JSON","page":"...serialize data to a JSON","title":"Serialize Data to a JSON","text":"","category":"section"},{"location":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","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":"how_to/serialize_data/#Dependencies","page":"...serialize data to a JSON","title":"Dependencies","text":"","category":"section"},{"location":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","text":"Let's use a dataset from the tabular data parsing tutorial:","category":"page"},{"location":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","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":"how_to/serialize_data/#Write-data-to-a-temporary-directory","page":"...serialize data to a JSON","title":"Write data to a temporary directory","text":"","category":"section"},{"location":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","text":"folder = mktempdir();\npath = joinpath(folder, \"system.json\")\nprintln(\"Serializing to $path\")\nto_json(sys, path)","category":"page"},{"location":"how_to/serialize_data/#Read-the-JSON-file-and-create-a-new-System","page":"...serialize data to a JSON","title":"Read the JSON file and create a new System","text":"","category":"section"},{"location":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","text":"sys2 = System(path)","category":"page"},{"location":"how_to/serialize_data/#How-to-trouble-shoot-serialization-issues","page":"...serialize data to a JSON","title":"How to trouble-shoot serialization issues","text":"","category":"section"},{"location":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","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":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","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":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","text":"Solution: Encode the concrete type into the serialized dictionary as a string.","category":"page"},{"location":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","text":"Example: serialize and deserialize methods for DynamicBranch in src/models/dynamic_branch.jl.","category":"page"},{"location":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","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":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","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":"how_to/serialize_data/","page":"...serialize data to a JSON","title":"...serialize data to a JSON","text":"Example: deserialize method for OuterControl in src/models/OuterControl.jl.","category":"page"},{"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":"how_to/add_ts_from_csvs/#Add-time-series-data-from-CSVs","page":"...add time series data from CSVs","title":"Add time series data from CSVs","text":"","category":"section"},{"location":"how_to/add_ts_from_csvs/","page":"...add time series data from CSVs","title":"...add time series data from CSVs","text":"Originally Contributed by: Clayton Barrows","category":"page"},{"location":"how_to/add_ts_from_csvs/#Introduction","page":"...add time series data from CSVs","title":"Introduction","text":"","category":"section"},{"location":"how_to/add_ts_from_csvs/","page":"...add time series data from CSVs","title":"...add time series data from CSVs","text":"An example of how to parse add time series data to a System using PowerSystems.jl","category":"page"},{"location":"how_to/add_ts_from_csvs/","page":"...add time series data from CSVs","title":"...add time series data from CSVs","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":"how_to/add_ts_from_csvs/#Dependencies","page":"...add time series data from CSVs","title":"Dependencies","text":"","category":"section"},{"location":"how_to/add_ts_from_csvs/","page":"...add time series data from CSVs","title":"...add time series data from CSVs","text":"Let's use the 5-bus dataset we parsed in the MATPOWER example","category":"page"},{"location":"how_to/add_ts_from_csvs/","page":"...add time series data from CSVs","title":"...add time series data from CSVs","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":"how_to/add_ts_from_csvs/#Define-pointers-to-time-series-files","page":"...add time series data from CSVs","title":"Define pointers to time series files","text":"","category":"section"},{"location":"how_to/add_ts_from_csvs/","page":"...add time series data from CSVs","title":"...add time series data from CSVs","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":"how_to/add_ts_from_csvs/","page":"...add time series data from CSVs","title":"...add time series data from CSVs","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":"how_to/add_ts_from_csvs/#Read-and-assign-time-series-to-System-using-these-parameters.","page":"...add time series data from CSVs","title":"Read and assign time series to System using these parameters.","text":"","category":"section"},{"location":"how_to/add_ts_from_csvs/","page":"...add time series data from CSVs","title":"...add time series data from CSVs","text":"add_time_series!(sys, fname)\nsys","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.\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.\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{DEGOV1}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::DEGOV1\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet DEGOV1 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{ESAC8B}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ESAC8B\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ESAC8B 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{PIDGOV}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::PIDGOV\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet PIDGOV 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{ST6B}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::ST6B\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet ST6B 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/#InfrastructureSystems.get_internal-Tuple{WPIDHY}","page":"Internal API Reference","title":"InfrastructureSystems.get_internal","text":"get_internal(\n value::WPIDHY\n) -> InfrastructureSystems.InfrastructureSystemsInternal\n\n\nGet WPIDHY 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._convert_argument_types_for_gen!-Tuple{AbstractString, Vector}","page":"Internal API Reference","title":"PowerSystems._convert_argument_types_for_gen!","text":"_convert_argument_types_for_gen!(\n str::AbstractString,\n struct_args::Vector\n)\n\n\nConvert specific parameters to types that are not Float64 for specific generator 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_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_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_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_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 interconnection_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: (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.\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.\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.\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.\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_cost_curve/index.html b/dev/tutorials/add_cost_curve/index.html
deleted file mode 100644
index e4cc3e67d6..0000000000
--- a/dev/tutorials/add_cost_curve/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-Add an Operating Cost · PowerSystems.jl
This how-to guide covers the steps to select and add an operating cost to a component, such as a generator, load, or energy storage system.
To begin, the user must make 2 or 3 decisions before defining the operating cost:
Select an appropriate OperationalCost from the OperationalCost options. In general, each operating cost has parameters to define fixed and variable costs. To be able to define an OperationalCost, you must first select a curve to represent the variable cost(s).
We select a LinearCurve to represent the $22/MWh variable cost.
Following the implementation steps, we define RenewableGenerationCost by nesting the definitions:
julia> RenewableGenerationCost(variable = CostCurve(value_curve = LinearCurve(22.0)))RenewableGenerationCost:
- variable: CostCurve:
- value_curve: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 22.0 x + 0.0
- power_units: UnitSystem.NATURAL_UNITS = 2
- vom_cost: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 0.0 x + 0.0
- curtailment_cost: CostCurve:
- value_curve: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 0.0 x + 0.0
- power_units: UnitSystem.NATURAL_UNITS = 2
- vom_cost: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 0.0 x + 0.0
We have a thermal generating unit that has a heat rate of 7 GJ/MWh at 100 MW and 9 GJ/MWh at 200 MW, plus a fixed cost of $6.0/hr, a start-up cost of $2000, and a shut-down cost of $1000. Its fuel cost is $20/GJ.
We select FuelCurve because we have consumption in units of fuel (GJ/MWh) instead of currency.
We select a PiecewisePointCurve to represent the piecewise linear heat rate curve.
This time, we'll define each step individually, beginning with the heat rate curve:
julia> heat_rate_curve = PiecewisePointCurve([(100.0, 7.0), (200.0, 9.0)])PiecewisePointCurve (a type of InputOutputCurve) where function is: piecewise linear y = f(x) connecting points:
- (x = 100.0, y = 7.0)
- (x = 200.0, y = 9.0)
Use the heat rate to define the fuel curve, including the cost of fuel:
julia> fuel_curve = FuelCurve(value_curve = heat_rate_curve, fuel_cost = 20.0)FuelCurve:
- value_curve: PiecewisePointCurve (a type of InputOutputCurve) where function is: piecewise linear y = f(x) connecting points:
- (x = 100.0, y = 7.0)
- (x = 200.0, y = 9.0)
- power_units: UnitSystem.NATURAL_UNITS = 2
- fuel_cost: 20.0
- vom_cost: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 0.0 x + 0.0
Finally, define the full operating cost:
julia> cost = ThermalGenerationCost(variable = fuel_curve, fixed = 6.0, start_up = 2000.0, shut_down = 1000.0)ThermalGenerationCost:
- variable: FuelCurve:
- value_curve: PiecewisePointCurve (a type of InputOutputCurve) where function is: piecewise linear y = f(x) connecting points:
- (x = 100.0, y = 7.0)
- (x = 200.0, y = 9.0)
- power_units: UnitSystem.NATURAL_UNITS = 2
- fuel_cost: 20.0
- vom_cost: LinearCurve (a type of InputOutputCurve) where function is: f(x) = 0.0 x + 0.0
- fixed: 6.0
- start_up: 2000.0
- shut_down: 1000.0
This OperationalCost can be used when defining a component or added to an existing component using set_operation_cost!.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/modeler_guide/system_dynamic_data/index.html b/dev/tutorials/add_dynamic_device/index.html
similarity index 59%
rename from dev/modeler_guide/system_dynamic_data/index.html
rename to dev/tutorials/add_dynamic_device/index.html
index 4c8b0b0f19..3147876df3 100644
--- a/dev/modeler_guide/system_dynamic_data/index.html
+++ b/dev/tutorials/add_dynamic_device/index.html
@@ -1,5 +1,5 @@
-Creating a System with Dynamic devices · PowerSystems.jl
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.
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.
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("113bfa3c-4df0-4d88-8d41-7849ba33e221"), 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 generatorThermalStandard: generator-102-1:
name: generator-102-1
@@ -246,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("b1c7b38d-42c0-4fa8-a6e5-9ad010989cc4"), nothing, 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("dfd6afe1-2516-4b5f-85c4-106ec8623aab"), 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
@@ -263,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("7a013379-cb70-4caf-a9cb-734546b5387d"), nothing, 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("78c80b28-c619-426d-a160-96955bbc4617"), 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("b899265c-d88e-4088-916a-1733953e8280"), nothing, nothing, nothing)) julia> avr_type1 = AVRTypeI(
+ #AVR: Type I: Resembles a DC1 AVRSingleMass(3.01, 0.0, Dict{String, Any}(), [:δ, :ω], 2, InfrastructureSystems.InfrastructureSystemsInternal(UUID("9fa0cb45-80cf-4d3f-8f84-8b549fb78e2d"), nothing, nothing, nothing)) julia> avr_type1 = AVRTypeI(
Ka = 20.0,
Ke = 0.01,
Kf = 0.063,
@@ -281,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("a3f5465e-543b-4dde-900f-3e7ba570f700"), nothing, 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("398f751c-3eff-4d65-a098-512dfc3f2f4f"), nothing, nothing, nothing)) julia> tg_none = TGFixed(efficiency = 1.0)
- #No PSSTGFixed(1.0, 1.0, Dict{String, Any}(), Symbol[], 0, InfrastructureSystems.InfrastructureSystemsInternal(UUID("3baeb106-76e0-452a-af55-e5bc7640faf0"), nothing, nothing, nothing)) julia> pss_none = PSSFixed(V_pss = 0.0);
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
-[ 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: 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 5: [1000.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"
-[ Info: Reading bus data
-[ Info: Reading Load data in PowerModels dict to populate System ...
-[ Info: Reading LoadZones data in PowerModels dict to populate System ...
-[ Info: Reading generator data
-[ Info: Reading branch data
-[ Info: Reading shunt data
-[ Info: Reading DC Line data
-[ Info: Reading storage data
-System
-┌───────────────────┬─────────────┐
-│ Property │ Value │
-├───────────────────┼─────────────┤
-│ Name │ │
-│ Description │ │
-│ System Units Base │ SYSTEM_BASE │
-│ Base Power │ 100.0 │
-│ Base Frequency │ 60.0 │
-│ Num Components │ 30 │
-└───────────────────┴─────────────┘
-
-Static Components
-┌──────────────────────────┬───────┐
-│ Type │ Count │
-├──────────────────────────┼───────┤
-│ ACBus │ 5 │
-│ Arc │ 6 │
-│ Area │ 1 │
-│ Line │ 5 │
-│ LoadZone │ 1 │
-│ PhaseShiftingTransformer │ 2 │
-│ PowerLoad │ 3 │
-│ RenewableDispatch │ 2 │
-│ ThermalStandard │ 5 │
-└──────────────────────────┴───────┘
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.
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).
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:
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:
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.
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
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
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.
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
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/tutorials/creating_system/index.html b/dev/tutorials/creating_system/index.html
new file mode 100644
index 0000000000..fa651797cb
--- /dev/null
+++ b/dev/tutorials/creating_system/index.html
@@ -0,0 +1,183 @@
+
+Create and Explore a Power System · PowerSystems.jl
In this tutorial, we will create a power system and add some components to it, including some nodes, a transmission line, load, and both renewable and fossil fuel generators. Then we will retrieve data from the system and explore the system settings.
In PowerSystems.jl, data is held in a System that holds all of the individual components along with some metadata about the power system itself.
There are many ways to define a System, but let's start with an empty system. All we need to define is a base power of 100 MVA for per-unitization.
julia> sys = System(100.0)System
+┌───────────────────┬─────────────┐
+│ Property │ Value │
+├───────────────────┼─────────────┤
+│ Name │ │
+│ Description │ │
+│ System Units Base │ SYSTEM_BASE │
+│ Base Power │ 100.0 │
+│ Base Frequency │ 60.0 │
+│ Num Components │ 0 │
+└───────────────────┴─────────────┘
Notice that this system is a 60 Hz system with a base power of 100 MVA.
We'll start by creating some buses. By referring to the documentation for ACBus, notice that we need define some basic data, including the bus's unique identifier and name, base voltage, and whether it's a load, generator, or reference bus.
This bus is on a 230 kV AC transmission network, with an allowable voltage range of 0.9 to 1.05 p.u. We are assuming it is currently operating at 1.0 p.u. voltage and an angle of 0 radians.
Let's add this bus to our System with add_component!:
julia> add_component!(sys, bus1)
We can see the impact this has on the System simply by printing it:
julia> sysSystem
+┌───────────────────┬─────────────┐
+│ Property │ Value │
+├───────────────────┼─────────────┤
+│ Name │ │
+│ Description │ │
+│ System Units Base │ SYSTEM_BASE │
+│ Base Power │ 100.0 │
+│ Base Frequency │ 60.0 │
+│ Num Components │ 1 │
+└───────────────────┴─────────────┘
+
+Static Components
+┌───────┬───────┐
+│ Type │ Count │
+├───────┼───────┤
+│ ACBus │ 1 │
+└───────┴───────┘
Notice that System now shows a summary of components in the system.
Let's connect our buses. We'll add a transmission Line between bus1 and bus2.
Warning
When defining a line that isn't attached to a System yet, you must define the thermal rating of the transmission line in per-unit using the base power of the System you plan to connect it to – in this case, 100 MVA.
julia> line = Line(
+ name = "line1",
+ available = true,
+ active_power_flow = 0.0,
+ reactive_power_flow = 0.0,
+ arc = Arc(from = bus1, to = bus2),
+ r = 0.00281, # Per-unit
+ x = 0.0281, # Per-unit
+ b = (from = 0.00356, to = 0.00356), # Per-unit
+ rating = 2.0, # Line rating of 200 MVA / System base of 100 MVA
+ angle_limits = (min = -0.7, max = 0.7),
+ );
Note that we also had to define an Arc in the process to define the connection between the two buses.
Let's also add this to our System:
julia> add_component!(sys, line)
Finally, let's check our System summary to see all the network topology components we have added are attached:
julia> sysSystem
+┌───────────────────┬─────────────┐
+│ Property │ Value │
+├───────────────────┼─────────────┤
+│ Name │ │
+│ Description │ │
+│ System Units Base │ SYSTEM_BASE │
+│ Base Power │ 100.0 │
+│ Base Frequency │ 60.0 │
+│ Num Components │ 4 │
+└───────────────────┴─────────────┘
+
+Static Components
+┌───────┬───────┐
+│ Type │ Count │
+├───────┼───────┤
+│ ACBus │ 2 │
+│ Arc │ 1 │
+│ Line │ 1 │
+└───────┴───────┘
Now that our network topology is complete, we'll start adding components that inject or withdraw power from the network.
Warning
When you define components that aren't attached to a System yet, you must define all fields related to power (with units such as MW, MVA, MVAR, or MW/min) in per-unit using the base_power of the component.
julia> load = PowerLoad(
+ name = "load1",
+ available = true,
+ bus = bus1,
+ active_power = 0.0, # Per-unitized by device base_power
+ reactive_power = 0.0, # Per-unitized by device base_power
+ base_power = 10.0, # MVA
+ max_active_power = 1.0, # 10 MW per-unitized by device base_power
+ max_reactive_power = 0.0
+ );
Notice that we defined the max_active_power, which is 10 MW, as 1.0 in per-unit using the base_power of 10 MVA. We've also used the bus1 component itself to define where this load is located in the network.
Now add the load to the system:
julia> add_component!(sys, load)
Finally, we'll add two generators: one renewable and one thermal.
We'll add a 5 MW solar power plant to bus2:
julia> solar = RenewableDispatch(
+ name = "solar1",
+ available = true,
+ bus = bus2,
+ active_power = 0.0, # Per-unitized by device base_power
+ reactive_power = 0.0, # Per-unitized by device base_power
+ rating = 1.0, # 5 MW per-unitized by device base_power
+ prime_mover_type = PrimeMovers.PVe,
+ reactive_power_limits = (min=0.0, max=0.05), # 0 MVAR to 0.25 MVAR per-unitized by device base_power
+ power_factor = 1.0,
+ operation_cost = RenewableGenerationCost(nothing),
+ base_power = 5.0 # MVA
+ );
Note that we've used a generic renewable generator to model solar, but we can specify that it is solar through the prime mover.
Congratulations! You have built a power system including buses, a transmission line, a load, and different types of generators. Now let's take a look around.
Remember that we can see a summary of our System using the print statement:
julia> sysSystem
+┌───────────────────┬─────────────┐
+│ Property │ Value │
+├───────────────────┼─────────────┤
+│ Name │ │
+│ Description │ │
+│ System Units Base │ SYSTEM_BASE │
+│ Base Power │ 100.0 │
+│ Base Frequency │ 60.0 │
+│ Num Components │ 7 │
+└───────────────────┴─────────────┘
+
+Static Components
+┌───────────────────┬───────┐
+│ Type │ Count │
+├───────────────────┼───────┤
+│ ACBus │ 2 │
+│ Arc │ 1 │
+│ Line │ 1 │
+│ PowerLoad │ 1 │
+│ RenewableDispatch │ 1 │
+│ ThermalStandard │ 1 │
+└───────────────────┴───────┘
Now, let's double-check some of our data by retrieving it from the System. Let's use show_components again to get an overview of our renewable generators:
julia> show_components(sys, RenewableDispatch)RenewableDispatch
+┌────────┬───────────┐
+│ name │ available │
+├────────┼───────────┤
+│ solar1 │ true │
+└────────┴───────────┘
We just have the one renewable generator named solar1. Use get_component to retrieve it by name:
See that the generator's bus is linked to the actual bus2 component in our System.
These "getter" functions are available for all the data fields in a component.
Tip
Always use the get_* functions to retrieve the data within a component. While in Julia a user can use . to access the fields of a component, we make no guarantees on the stability of field names and locations. We do however promise to keep the getter functions stable. PowerSystems.jl also does many internal data calculations that the getter functions will properly handle for you, as you'll see below.
Now, let's use a getter function to look up the solar generator's rating:
julia> get_rating(retrieved_component)0.05
Important
When we defined the solar generator, we defined the rating as 1.0 per-unit with a device base_power of 5.0 MVA. Notice that the rating now reads 0.05. After we attached this component to our System, its power data is being returned to us in the System's units base.
Let's double-check the System's units base:
julia> get_units_base(sys)"SYSTEM_BASE"
SYSTEM_BASE means all power-related (MW, MVA, MVAR, MW/min) component data in the System, except for each component's base_power, is per-unitized by the system base power for consistency.
Check the System's base_power again:
julia> get_base_power(sys)100.0
Notice that when we called get_rating above, the solar generator's rating, 5.0 MW, is being returned as 0.05 = (5 MVA)/(100 MVA) using the system base power.
Instead of using the System base power, let's view everything in MW or MVA – or what we call "NATURAL_UNITS" in PowerSystems.
Change the System's unit system:
julia> set_units_base_system!(sys, "NATURAL_UNITS")[ Info: Unit System changed to UnitSystem.NATURAL_UNITS = 2
Now retrieve the solar generator's rating again:
julia> get_rating(retrieved_component)5.0
Notice that the value is now its "natural" value, 5.0 MVA.
Finally, let's change the System's unit system to the final option, "DEVICE_BASE":
julia> set_units_base_system!(sys, "DEVICE_BASE")[ Info: Unit System changed to UnitSystem.DEVICE_BASE = 1
And retrieve the solar generator's rating once more:
julia> get_rating(retrieved_component)1.0
See that now the data is now 1.0 (5.0 MVA per-unitized by the generator (i.e., the device's) base_power of 5.0 MVA), which is the format we used to originally define the device.
Recall that if you ever need to check a System's settings, including the unit system being used by all the getter functions, you can always just print the System:
julia> sysSystem
+┌───────────────────┬─────────────┐
+│ Property │ Value │
+├───────────────────┼─────────────┤
+│ Name │ │
+│ Description │ │
+│ System Units Base │ DEVICE_BASE │
+│ Base Power │ 100.0 │
+│ Base Frequency │ 60.0 │
+│ Num Components │ 7 │
+└───────────────────┴─────────────┘
+
+Static Components
+┌───────────────────┬───────┐
+│ Type │ Count │
+├───────────────────┼───────┤
+│ ACBus │ 2 │
+│ Arc │ 1 │
+│ Line │ 1 │
+│ PowerLoad │ 1 │
+│ RenewableDispatch │ 1 │
+│ ThermalStandard │ 1 │
+└───────────────────┴───────┘
See the units base is printed as one of the System properties.
In this tutorial, we will explore the data in a System, including looking at a summary of the system and getting both its components and their data. We will also start checking for time-series data, which we will explore more in the tutorial on Working with Time Series Data.
In Create and Explore a Power System, we created a basic System with nodes, a transmission line, and a few generators. Let's recreate that system if you don't have it already:
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
julia> get_component(ACBus, sys, "nodeA")ERROR: UndefVarError: `get_component` not defined julia> get_component(Line, sys, "1")ERROR: UndefVarError: `get_component` not defined
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) |> collectERROR: UndefVarError: `get_components` not defined
get_components also works on abstract types:
julia> get_components(Branch, sys) |> collectERROR: UndefVarError: `get_components` not defined
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")ERROR: UndefVarError: `get_component` not defined julia> @show get_name(bus1);ERROR: UndefVarError: `get_name` not defined julia> @show get_magnitude(bus1);ERROR: UndefVarError: `get_magnitude` not defined
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
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
-[ 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: 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 5: [1000.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"
-[ Info: Reading bus data
-[ Info: Reading Load data in PowerModels dict to populate System ...
-[ Info: Reading LoadZones data in PowerModels dict to populate System ...
-[ Info: Reading generator data
-[ Info: Reading branch data
-[ Info: Reading shunt data
-[ Info: Reading DC Line data
-[ Info: Reading storage data
-System
-┌───────────────────┬─────────────┐
-│ Property │ Value │
-├───────────────────┼─────────────┤
-│ Name │ │
-│ Description │ │
-│ System Units Base │ SYSTEM_BASE │
-│ Base Power │ 100.0 │
-│ Base Frequency │ 60.0 │
-│ Num Components │ 30 │
-└───────────────────┴─────────────┘
-
-Static Components
-┌──────────────────────────┬───────┐
-│ Type │ Count │
-├──────────────────────────┼───────┤
-│ ACBus │ 5 │
-│ Arc │ 6 │
-│ Area │ 1 │
-│ Line │ 5 │
-│ LoadZone │ 1 │
-│ PhaseShiftingTransformer │ 2 │
-│ PowerLoad │ 3 │
-│ RenewableDispatch │ 2 │
-│ ThermalStandard │ 5 │
-└──────────────────────────┴───────┘
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
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: The following fields in LOAD are missing: INTRPT
-[ Info: Parsing PSS(R)E Bus data into a PowerModels Dict...
-[ Info: Parsing PSS(R)E Load data into a PowerModels Dict...
-[ Info: Parsing PSS(R)E Shunt data into a PowerModels Dict...
-[ Info: Switched shunt converted to fixed shunt, with default value gs=0.0
-[ Info: Parsing PSS(R)E Generator data into a PowerModels Dict...
-[ Info: Parsing PSS(R)E Branch data into a PowerModels Dict...
-[ 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: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: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.
-[ Info: angmin and angmax values are 0, widening these values on branch 54 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 78 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 81 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 101 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 105 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 109 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 74 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 41 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 65 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 51 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 53 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 106 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 119 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 27 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 75 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 42 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 33 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 28 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 50 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 52 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 111 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 63 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 115 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 92 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 88 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 93 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 26 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 10 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 120 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 77 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 24 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 87 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 117 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 58 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 25 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 114 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 23 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 49 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 59 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 5 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 31 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 89 to +/- 60.0 deg.
-[ Info: angmin and angmax values are 0, widening these values on branch 62 to +/- 60.0 deg.
-[ 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 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 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
-[ Info: the voltage setpoint on generator 54 does not match the value at bus 201
-[ Info: the voltage setpoint on generator 78 does not match the value at bus 221
-[ Info: the voltage setpoint on generator 81 does not match the value at bus 222
-[ Info: the voltage setpoint on generator 101 does not match the value at bus 307
-[ Info: the voltage setpoint on generator 2 does not match the value at bus 101
-[ Info: the voltage setpoint on generator 105 does not match the value at bus 310
-[ Info: the voltage setpoint on generator 109 does not match the value at bus 313
-[ Info: the voltage setpoint on generator 74 does not match the value at bus 215
-[ Info: the voltage setpoint on generator 41 does not match the value at bus 121
-[ Info: the voltage setpoint on generator 132 does not match the value at bus 315
-[ Info: the voltage setpoint on generator 153 does not match the value at bus 322
-[ Info: the voltage setpoint on generator 65 does not match the value at bus 213
-[ Info: the voltage setpoint on generator 155 does not match the value at bus 322
-[ Info: the voltage setpoint on generator 51 does not match the value at bus 123
-[ Info: the voltage setpoint on generator 53 does not match the value at bus 123
-[ Info: the voltage setpoint on generator 106 does not match the value at bus 312
-[ Info: the voltage setpoint on generator 119 does not match the value at bus 313
-[ Info: the voltage setpoint on generator 27 does not match the value at bus 115
-[ Info: the voltage setpoint on generator 75 does not match the value at bus 215
-[ Info: the voltage setpoint on generator 42 does not match the value at bus 122
-[ Info: the voltage setpoint on generator 33 does not match the value at bus 118
-[ Info: the voltage setpoint on generator 28 does not match the value at bus 116
-[ Info: the voltage setpoint on generator 50 does not match the value at bus 123
-[ Info: the voltage setpoint on generator 52 does not match the value at bus 123
-[ Info: the voltage setpoint on generator 159 does not match the value at bus 324
-[ Info: the voltage setpoint on generator 111 does not match the value at bus 313
-[ Info: the voltage setpoint on generator 63 does not match the value at bus 207
-[ Info: the voltage setpoint on generator 121 does not match the value at bus 313
-[ Info: the voltage setpoint on generator 115 does not match the value at bus 313
-[ Info: the voltage setpoint on generator 141 does not match the value at bus 319
-[ Info: the voltage setpoint on generator 92 does not match the value at bus 301
-[ Info: the voltage setpoint on generator 88 does not match the value at bus 223
-[ Info: the voltage setpoint on generator 93 does not match the value at bus 301
-[ Info: the voltage setpoint on generator 26 does not match the value at bus 115
-[ Info: the voltage setpoint on generator 10 does not match the value at bus 102
-[ Info: the voltage setpoint on generator 120 does not match the value at bus 313
-[ Info: the voltage setpoint on generator 77 does not match the value at bus 218
-[ Info: the voltage setpoint on generator 24 does not match the value at bus 114
-[ Info: the voltage setpoint on generator 87 does not match the value at bus 223
-[ Info: the voltage setpoint on generator 117 does not match the value at bus 313
-[ Info: the voltage setpoint on generator 58 does not match the value at bus 202
-[ Info: the voltage setpoint on generator 25 does not match the value at bus 115
-[ Info: the voltage setpoint on generator 114 does not match the value at bus 313
-[ Info: the voltage setpoint on generator 23 does not match the value at bus 113
-[ Info: the voltage setpoint on generator 160 does not match the value at bus 324
-[ Info: the voltage setpoint on generator 154 does not match the value at bus 322
-[ Info: the voltage setpoint on generator 149 does not match the value at bus 321
-┌ Info: Constructing System from Power Models
-│ data["name"] = "rts-gmlc"
-└ data["source_type"] = "pti"
-[ Info: Reading bus data
-[ Info: Reading Load data in PowerModels dict to populate System ...
-[ Info: Reading LoadZones data in PowerModels dict to populate System ...
-[ Info: Reading generator data
-[ Info: Reading branch data
-[ Info: Reading shunt data
-[ Info: Reading DC Line data
-[ Info: Reading storage data
-System
-┌───────────────────┬─────────────┐
-│ Property │ Value │
-├───────────────────┼─────────────┤
-│ Name │ │
-│ Description │ │
-│ System Units Base │ SYSTEM_BASE │
-│ Base Power │ 100.0 │
-│ Base Frequency │ 60.0 │
-│ Num Components │ 539 │
-└───────────────────┴─────────────┘
-
-Static Components
-┌─────────────────┬───────┐
-│ 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.
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
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/afb608473cf4d5eb22147856de1a1a651f36d40b/PowerSystemsTestData-3.1" julia> RTS_GMLC_DIR = joinpath(DATA_DIR, "RTS_GMLC")"/home/runner/.julia/artifacts/afb608473cf4d5eb22147856de1a1a651f36d40b/PowerSystemsTestData-3.1/RTS_GMLC"
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:1501
-┌ 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:1501
-┌ 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:1501
-┌ 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:1501
-┌ 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:1501
-┌ 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:1501
-┌ 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:1501
-┌ Warning: User-defined column name Must Run is not in dataframe.
-└ @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:1501
-ERROR: MethodError: no method matching create_pwl_cost(::PowerSystemTableData, ::@NamedTuple{name::InlineStrings.String15, available::Bool, bus_id::Int64, fuel::InlineStrings.String15, fuel_price::Float64, active_power::Float64, reactive_power::Float64, active_power_limits_max::Float64, active_power_limits_min::Float64, reactive_power_limits_max::Float64, reactive_power_limits_min::Float64, min_down_time::Float64, min_up_time::Float64, ramp_limits::Float64, ramp_up::Nothing, ramp_down::Nothing, startup_heat_cold_cost::Float64, heat_rate_avg_0::Float64, heat_rate_incr_1::Float64, heat_rate_incr_2::Float64, heat_rate_incr_3::Float64, heat_rate_incr_4::Nothing, heat_rate_incr_5::Nothing, heat_rate_incr_6::Nothing, heat_rate_incr_7::Nothing, heat_rate_incr_8::Nothing, heat_rate_incr_9::Nothing, heat_rate_incr_10::Nothing, heat_rate_incr_11::Nothing, heat_rate_incr_12::Nothing, cost_point_0::Nothing, cost_point_1::Nothing, cost_point_2::Nothing, cost_point_3::Nothing, cost_point_4::Nothing, cost_point_5::Nothing, cost_point_6::Nothing, cost_point_7::Nothing, cost_point_8::Nothing, cost_point_9::Nothing, cost_point_10::Nothing, cost_point_11::Nothing, cost_point_12::Nothing, output_point_0::Float64, output_point_1::Float64, output_point_2::Float64, output_point_3::Float64, output_point_4::Nothing, output_point_5::Nothing, output_point_6::Nothing, output_point_7::Nothing, output_point_8::Nothing, output_point_9::Nothing, output_point_10::Nothing, output_point_11::Nothing, output_point_12::Nothing, base_mva::Float64, variable_cost::Nothing, fixed_cost::Float64, startup_cost::Nothing, shutdown_cost::Int64, curtailment_cost::Nothing, power_factor::Float64, unit_type::InlineStrings.String15, category::InlineStrings.String15, cold_start_time::Int64, warm_start_time::Int64, hot_start_time::Int64, startup_ramp::Nothing, shutdown_ramp::Nothing, status_at_start::Bool, time_at_status::Nothing, cold_start_cost::Nothing, warm_start_cost::Nothing, hot_start_cost::Nothing, must_run::Bool, pump_load::Nothing, pump_active_power_limits_max::Float64, pump_active_power_limits_min::Float64, pump_reactive_power_limits_max::Nothing, pump_reactive_power_limits_min::Nothing, pump_min_down_time::Nothing, pump_min_up_time::Nothing, pump_ramp_limits::Nothing, pump_ramp_up::Nothing, pump_ramp_down::Nothing, generator_category::String}, ::PowerSystems._HeatRateColumns, ::Float64)
-
-Closest candidates are:
- create_pwl_cost(::Any)
- @ PowerSystems ~/work/PowerSystems.jl/PowerSystems.jl/src/parsers/power_system_table_data.jl:943 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
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
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
-[ 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: 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 5: [1000.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"
-[ Info: Reading bus data
-[ Info: Reading Load data in PowerModels dict to populate System ...
-[ Info: Reading LoadZones data in PowerModels dict to populate System ...
-[ Info: Reading generator data
-[ Info: Reading branch data
-[ Info: Reading shunt data
-[ Info: Reading DC Line data
-[ Info: Reading storage data
-System
-┌───────────────────┬─────────────┐
-│ Property │ Value │
-├───────────────────┼─────────────┤
-│ Name │ │
-│ Description │ │
-│ System Units Base │ SYSTEM_BASE │
-│ Base Power │ 100.0 │
-│ Base Frequency │ 60.0 │
-│ Num Components │ 30 │
-└───────────────────┴─────────────┘
-
-Static Components
-┌──────────────────────────┬───────┐
-│ Type │ Count │
-├──────────────────────────┼───────┤
-│ ACBus │ 5 │
-│ Arc │ 6 │
-│ Area │ 1 │
-│ Line │ 5 │
-│ LoadZone │ 1 │
-│ PhaseShiftingTransformer │ 2 │
-│ PowerLoad │ 3 │
-│ RenewableDispatch │ 2 │
-│ ThermalStandard │ 5 │
-└──────────────────────────┴───────┘
julia> folder = mktempdir(); julia> path = joinpath(folder, "system.json")"/tmp/jl_GqA1SA/system.json" julia> println("Serializing to $path")Serializing to /tmp/jl_GqA1SA/system.json julia> to_json(sys, path)[ Info: Serialized System to /tmp/jl_GqA1SA/system.json
-[ Info: Serialized System metadata to /tmp/jl_GqA1SA/system_metadata.json
julia> sys2 = System(path)System
-┌───────────────────┬─────────────┐
-│ Property │ Value │
-├───────────────────┼─────────────┤
-│ Name │ │
-│ Description │ │
-│ System Units Base │ SYSTEM_BASE │
-│ Base Power │ 100.0 │
-│ Base Frequency │ 60.0 │
-│ Num Components │ 30 │
-└───────────────────┴─────────────┘
-
-Static Components
-┌──────────────────────────┬───────┐
-│ Type │ Count │
-├──────────────────────────┼───────┤
-│ ACBus │ 5 │
-│ Arc │ 6 │
-│ Area │ 1 │
-│ Line │ 5 │
-│ LoadZone │ 1 │
-│ PhaseShiftingTransformer │ 2 │
-│ PowerLoad │ 3 │
-│ RenewableDispatch │ 2 │
-│ ThermalStandard │ 5 │
-└──────────────────────────┴───────┘
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.
diff --git a/dev/tutorials/working_with_time_series/index.html b/dev/tutorials/working_with_time_series/index.html
new file mode 100644
index 0000000000..26ded922ad
--- /dev/null
+++ b/dev/tutorials/working_with_time_series/index.html
@@ -0,0 +1,339 @@
+
+Working with Time Series · PowerSystems.jl
In this tutorial, we will manually add, retrieve, and inspect time-series data in different formats, including identifying which components in a power System have time series data. Along the way, we will also use workarounds for missing forecast data and reuse identical time series profiles to avoid unnecessary memory usage.
We will make an example System with a wind generator and two loads, and add the time series needed to model, for example, the impacts of wind forecast uncertainty.
Here is the available data:
For the wind generator, we have the historical point (deterministic) forecasts of power output. The forecasts were generated every 30 minutes with a 5-minute resolution and 1-hour horizon. We also have measurements what actually happened at 5-minute resolution over the 2 hours.
For the loads, note that the forecast data is missing. We only have the historical measurements of total load for the system, which is normalized to the system's peak load.
Load the PowerSystems, Dates, and TimeSeries packages to get started:
julia> using PowerSystems julia> using Dates julia> using TimeSeries
As usual, we need to define a power System that holds all our data. Let's define a simple system with a bus, a wind generator, and two loads:
julia> system = System(100.0); # 100 MVA base power julia> bus1 = ACBus(
+ number = 1,
+ name = "bus1",
+ bustype = ACBusTypes.REF,
+ angle = 0.0,
+ magnitude = 1.0,
+ voltage_limits = (min = 0.9, max = 1.05),
+ base_voltage = 230.0
+ ); julia> wind1 = RenewableDispatch(
+ name = "wind1",
+ available = true,
+ bus = bus1,
+ active_power = 0.0, # Per-unitized by device base_power
+ reactive_power = 0.0, # Per-unitized by device base_power
+ rating = 1.0, # 10 MW per-unitized by device base_power
+ prime_mover_type = PrimeMovers.WT,
+ reactive_power_limits = (min=0.0, max=0.0), # per-unitized by device base_power
+ power_factor = 1.0,
+ operation_cost = RenewableGenerationCost(nothing),
+ base_power = 10.0 # MVA
+ ); julia> load1 = PowerLoad(
+ name = "load1",
+ available = true,
+ bus = bus1,
+ active_power = 0.0, # Per-unitized by device base_power
+ reactive_power = 0.0, # Per-unitized by device base_power
+ base_power = 10.0, # MVA
+ max_active_power = 1.0, # 10 MW per-unitized by device base_power
+ max_reactive_power = 0.0
+ ); julia> load2 = PowerLoad(
+ name = "load2",
+ available = true,
+ bus = bus1,
+ active_power = 0.0, # Per-unitized by device base_power
+ reactive_power = 0.0, # Per-unitized by device base_power
+ base_power = 30.0, # MVA
+ max_active_power = 1.0, # 10 MW per-unitized by device base_power
+ max_reactive_power = 0.0
+ ); julia> add_components!(system, [bus1, wind1, load1, load2])
Recall that we can also set the System's unit base to natural units (MW) to make it easier to inspect results:
julia> set_units_base_system!(system, "NATURAL_UNITS")[ Info: Unit System changed to UnitSystem.NATURAL_UNITS = 2
Before we get started, print wind1 to see its data:
Let's start by defining and attaching the wind measurements shown in the data above. This is a single time series profile, so we will use a SingleTimeSeries.
First, define a TimeSeries.TimeArray of input data, using the 5-minute resolution to define the time-stamps in the example data:
Next, let's add the wind power forecasts. We will use a Deterministic format for the point forecasts.
Because we have forecasts with at different initial times, the input data must be a dictionary where the keys are the initial times and the values are vectors or TimeSeries.TimeArrays of the forecast data. Set up the example input data:
Notice that we now have two types of time series listed – the single time series and the forecasts.
Finally, let's retrieve the forecast data to double check it was added properly, specifying the initial time to get the 2nd forecast window starting at 8:30:
Let's add the load time series. Recall that this data is normalized to the peak system power, so we'll use it to scale both of our loads. We call normalized time series data scaling factors.
First, let's create our input data TimeSeries.TimeArray with the example data and the same time stamps we used in the wind time series:
Again, define a SingleTimeSeries, but this time use the scaling_factor_multiplierparameter to scale this time series from normalized values to power values:
julia> load_time_series = SingleTimeSeries(
+ name = "max_active_power",
+ data = load_timearray;
+ scaling_factor_multiplier = get_max_active_power
+ );
Notice that we assigned the get_max_active_powerfunction to scale the time series, rather than a value, making the time series reusable for multiple components or multiple fields in a component.
Now, add the scaling factor time series to both loads to save memory and avoid data duplication:
Notice that each load now has two references to max_active_power. This is intentional. There is the parameter, max_active_power, which is the maximum demand of each load at any time (10 MW). There is also max_active_power the time series, which is the time varying demand over the 2-hour window, calculated using the scaling factors and the max_active_power parameter.
This means that if we change the max_active_power parameter, the time series will also change when we retrieve it! This is also true when we apply the same scaling factors to multiple components or parameters.
Let's check the impact that these two max_active_power data sources have on the times series data when we retrieve it. Get the max_active_power time series for load1:
Notice that this is the normalized input data, which is still being stored underneath. Each load is using a reference to that data when we call get_time_series_array to avoid unnecessary data duplication.
Finally, let's use a workaround to handle the missing load forecast data. We will assume a perfect forecast where the forecast is based on the SingleTimeSeries we just added.
Rather than unnecessarily duplicating and reformatting data, use PowerSystems.jl's dedicated transform_single_time_series! function to generate a DeterministicSingleTimeSeries, which saves memory while behaving just like a Deterministic forecast:
Now, let's complete this tutorial by doing a few sanity checks on the data that we've added, where are we will also examine components with time series and retrieve the time series data in a few more ways.
First, recall that we can print a component to check its has_time_series field:
Notice that a new table has been added – the Time Series Summary, showing the count of each Type of component that has a given time series type.
Additionally, see that there are both Deterministic and DeterministicSingleTimeSeries forecasts for our RenewableDispatch generator (wind1). This was a side effect of transform_single_time_series! which added DeterministicSingleTimeSeries for all StaticTimeSeries in the system, even though we don't need one for wind.
Let's remove it with remove_time_series!. Since we have one wind generator, we could easily do it for that component, but let's do programmatically instead by its Type:
julia> for g in get_components(x -> has_time_series(x), RenewableDispatch, system)
+ remove_time_series!(system, DeterministicSingleTimeSeries, g, "max_active_power")
+ end
Notice that we also filtered for components where has_time_series is true, which is a simple way to find and manipulate components with time series.
Finally, let's do a last data sanity check on the forecasts. Since we defined the wind time series in MW instead of scaling factors, let's make sure none of our forecasts exceeds the max_active_power parameter.
Instead of using get_time_series_array where we need to remember some details of the time series we're looking up, let's use get_time_series_keys to refresh our memories:
See that the forecasts are not exceeding this maximum – sanity check complete.
Tip
Unlike PowerLoad components, RenewableDispatch components do not have a max_active_power field, so check get_max_active_power to see how its calculated.
In this tutorial, you defined, added, and retrieved four time series data sets, including static time series and deterministic forecasts. Along the way, we reduced data duplication using normalized scaling factors for reuse by multiple components or component fields, as well as by referencing a StaticTimeSeries to address missing forecast data.
Next you might like to:
Parse many timeseries data sets from CSV's
See how to improve performance efficiency with your own time series data
Review the available time series data formats
Learn more about how times series data is stored
Settings
This document was generated with Documenter.jl version 0.27.25 on Friday 2 August 2024. Using Julia version 1.10.4.