PowerModelsDistribution.jl Library
PowerModelsDistribution.AbstractUBFModels
— TypeCollection of Unbalanced Branch Flow Models
PowerModelsDistribution.SOCUBFModels
— TypeCollection of Second Order Cone Models
PowerModelsDistribution._1to1_maps
— Constantitems that are mapped one-to-one from engineering to math models
PowerModelsDistribution._array_delimiters
— Constantdifferent acceptable delimiters for arrays
PowerModelsDistribution._conductor_matrix
— Constantfield names that should become multi-conductor matrix not arrays
PowerModelsDistribution._conductorless
— Constantfield names that should not be multi-conductor values
PowerModelsDistribution._dimensionalize_math
— Constantlists of scaling factors and what they apply to
PowerModelsDistribution._double_operators
— Constanttwo number operators for reverse polish notation
PowerModelsDistribution._dss2pmd_load_model
— Constantdss to pmd load model
PowerModelsDistribution._dss_control_objects
— Constantall objects that define controls
PowerModelsDistribution._dss_data_objects
— Constantall data holding objects
PowerModelsDistribution._dss_edge_objects
— Constantall edge types that can help define buses
PowerModelsDistribution._dss_monitor_objects
— Constantall objects that provide montoring
PowerModelsDistribution._dss_node_objects
— Constantall node types that can help define buses
PowerModelsDistribution._dss_parameter_data_types
— ConstantReturns a Dict{String,Type} for the desired component comp
, giving all of the expected data types
PowerModelsDistribution._dss_supported_components
— Constantcomponents currently supported for automatic data type parsing
PowerModelsDistribution._dtype_regex
— ConstantRegexes for determining data types
PowerModelsDistribution._eng_edge_elements
— Constantlist of edge type elements in the engineering model
PowerModelsDistribution._eng_model_checks
— Constantdata check functions for the engineering data model
PowerModelsDistribution._eng_model_dtypes
— ConstantData types of accepted fields in the engineering data model
PowerModelsDistribution._eng_model_req_fields
— Constantrequired fields in the engineering data model
PowerModelsDistribution._eng_node_elements
— Constantlist of nodal type elements in the engineering model
PowerModelsDistribution._like_exclusions
— Constantproperties that should be excluded from being overwritten during the application of like
PowerModelsDistribution._math_edge_elements
— Constantlist of edge type elements in the engineering model
PowerModelsDistribution._math_node_elements
— Constantlist of nodal type elements in the engineering model
PowerModelsDistribution._pmd_math_global_keys
— Constantlist of multinetwork keys that belong at the root level
PowerModelsDistribution._single_operators
— Constantsingle number operators in reverse polish notation
PowerModelsDistribution.AbstractConicUBFModel
— TypeBase Abstract Conic Unbalanced Branch Flow Model
PowerModelsDistribution.AbstractLPUBFModel
— TypeAbstract form for linear unbalanced power flow models
PowerModelsDistribution.AbstractNLPUBFModel
— TypeBase Abstract NLP Unbalanced Branch Flow Model
PowerModelsDistribution.ConnConfig
— TypeConfigurations
PowerModelsDistribution.ControlMode
— TypeGenerator, Solar, Storage, Wind Control Modes
PowerModelsDistribution.DataModel
— TypeSupported data model types
PowerModelsDistribution.Dispatchable
— TypeDispatchable
PowerModelsDistribution.KCLMXModels
— TypeCollection of Semidefinite Models
PowerModelsDistribution.LPUBFDiagModel
— TypeLinDist3Flow per Arnold et al. (2016), using vector variables for power, voltage and current
D. B. Arnold, M. Sankur, R. Dobbe, K. Brady, D. S. Callaway and A. Von Meier, "Optimal dispatch of reactive power for voltage regulation and balancing in unbalanced distribution systems," 2016 IEEE Power and Energy Society General Meeting (PESGM), Boston, MA, 2016, pp. 1-5, doi: 10.1109/PESGM.2016.7741261.
PowerModelsDistribution.LPUBFDiagPowerModel
— Typedefault LP unbalanced DistFlow constructor
PowerModelsDistribution.LoadModel
— TypeLoad Models
PowerModelsDistribution.SDPUBFKCLMXModel
— TypeSDP BFM with KCL as matrix equation, Geth 2020 (under review)
PowerModelsDistribution.SDPUBFKCLMXPowerModel
— Typedefault SDP unbalanced DistFlow with matrix KCL constructor
PowerModelsDistribution.SDPUBFModel
— TypeSDP BFM per Gan and Low 2014, PSCC
PowerModelsDistribution.SDPUBFPowerModel
— Typedefault SDP unbalanced DistFlow constructor
PowerModelsDistribution.SOCConicUBFModel
— TypeSOC relaxation of SDPUBFModel per Kim, Kojima, & Yamashita 2003, cast as a SOC
PowerModelsDistribution.SOCConicUBFPowerModel
— Typedefault SOC unbalanced DistFlow constructor
PowerModelsDistribution.SOCNLPUBFModel
— TypeSOC relaxation of SDPUBFModel per Kim, Kojima, & Yamashita 2003, cast as an QCP
PowerModelsDistribution.SOCNLPUBFPowerModel
— Typedefault SOC unbalanced DistFlow constructor
PowerModelsDistribution.ShuntModel
— TypeShunt Models
PowerModelsDistribution.Status
— TypeStatus
PowerModelsDistribution.SwitchState
— TypeSwitch States
JSON.Writer.lower
— Methodcustom handling for enums output to json
JSON.Writer.show_json
— Methodcustom handling for enums output to json
JSON.Writer.show_json
— Methodturns a matrix into a serializable structure
PowerModels.calc_buspair_parameters
— Methodoverwrites PowerModels buspairs ref by conductor
PowerModelsDistribution.Model
— FunctionInstantiates a PowerModelsDistribution data model
PowerModelsDistribution._add_component!
— MethodAdds a component of type obj_type_name
with properties given by object
to the existing data_dss
structure. If a component of the same type has already been added to data_dss
, the new component is appeneded to the existing array of components of that type, otherwise a new array is created.
PowerModelsDistribution._add_eng_obj!
— Methodadd engineering data object to engineering data model
PowerModelsDistribution._add_gen_cost_model!
— Methodconvert cost model names
PowerModelsDistribution._add_property
— MethodAdds a property to an existing component properties dictionary object
given the key
and value
of the property. If a property of the same name already exists inside object
, the original value is converted to an array, and the new value is appended to the end.
PowerModelsDistribution._add_unused_kwargs!
— Methodadds kwargs that were specified but unused by the required defaults to the component
PowerModelsDistribution._admittance_conversion
— MethodPowerModelsDistribution._apply_filter!
— MethodFilters out values of a vector or matrix for certain properties (transformer winding variant)
PowerModelsDistribution._apply_filter!
— MethodFilters out values of a vector or matrix for certain properties
PowerModelsDistribution._apply_like!
— Methodapplies like
to component
PowerModelsDistribution._apply_linecode!
— Methodapplies a linecode to a line in preparation for converting to mathematical model
PowerModelsDistribution._apply_ordered_properties
— Methodapply properties in the order that they are given
PowerModelsDistribution._apply_xfmrcode!
— Methodapplies a xfmrcode to a transformer in preparation for converting to mathematical model
PowerModelsDistribution._assign_property!
— MethodAssigns a property with name property_name
and value property_value
to the component of type obj_type
named obj_name
in data_dss
.
PowerModelsDistribution._bank_transformers!
— MethodCombines transformers with 'bank' keyword into a single transformer
PowerModelsDistribution._barrel_roll
— Methodshifts a vector by shift
spots to the left
PowerModelsDistribution._build_eng_multinetwork
— MethodBuilds a Multinetwork
PowerModelsDistribution._build_loss_model!
— Methodloss model builder for transformer decomposition
PowerModelsDistribution._build_mc_mn_opb
— MethodConstructor for Optimal Power Balance
PowerModelsDistribution._build_mc_osw
— Methodconstructor for OSW in current-voltage variable space
PowerModelsDistribution._build_mc_osw
— MethodConstructor for Optimal Switching
PowerModelsDistribution._build_mc_osw
— Methodconstructor for branch flow osw
PowerModelsDistribution._build_mc_osw_mi
— MethodConstructor for Optimal Switching
PowerModelsDistribution._build_mc_osw_mi
— Methodconstructor for mixed-integer branch flow osw
PowerModelsDistribution._build_time_series_reference!
— Methodhelper function to properly reference time series variables from opendss
PowerModelsDistribution._bus_type_conversion
— MethodPowerModelsDistribution._calc_branch_current_max
— MethodReturns a total (shunt+series) current magnitude bound for the from and to side of a branch. The total power rating also implies a current bound through the lower bound on the voltage magnitude of the connected buses.
PowerModelsDistribution._calc_branch_current_max_frto
— MethodReturns a total (shunt+series) current magnitude bound for the from and to side of a branch. The total power rating also implies a current bound through the lower bound on the voltage magnitude of the connected buses.
PowerModelsDistribution._calc_branch_power_max
— MethodReturns a total (shunt+series) power magnitude bound for the from and to side of a branch. The total current rating also implies a current bound through the upper bound on the voltage magnitude of the connected buses.
PowerModelsDistribution._calc_branch_power_max_frto
— MethodReturns a total (shunt+series) power magnitude bound for the from and to side of a branch. The total current rating also implies a current bound through the upper bound on the voltage magnitude of the connected buses.
PowerModelsDistribution._calc_branch_series_current_max
— MethodReturns a valid series current magnitude bound for a branch.
PowerModelsDistribution._calc_bus_vm_ll_bounds
— MethodReturns bounds in line-to-line bounds on the voltage magnitude. If these are not part of the problem specification, then a valid upper bound is implied by the line-to-neutral bounds, but a lower bound (greater than zero) is not. Therefore, a default lower bound is then used, specified by the keyword argument vdmin_eps. The returned bounds are for the pairs 1->2, 2->3, 3->1
PowerModelsDistribution._calc_gen_current_max
— MethodReturns a current magnitude bound for the generators.
PowerModelsDistribution._calc_ground_shunt_admittance_matrix
— MethodGiven a set of terminals 'cnds' with associated shunt addmittance 'Y', this method will calculate the reduced addmittance matrix if terminal 'ground' is grounded.
PowerModelsDistribution._calc_load_current_magnitude_bounds
— MethodReturns magnitude bounds for the current going through the load.
PowerModelsDistribution._calc_load_current_max
— MethodReturns a magnitude bound for the current going through the load.
PowerModelsDistribution._calc_load_pq_bounds
— MethodCalculates lower and upper bounds for the loads themselves (not the power withdrawn at the bus).
PowerModelsDistribution._calc_load_vbounds
— MethodReturns the voltage magnitude bounds for the individual load elements in a multiphase load. These are inferred from vmin/vmax for wye loads and from calcbusvmll_bounds for delta loads.
PowerModelsDistribution._calc_mc_transformer_Tvi
— MethodPowerModelsDistribution._calc_mc_voltage_product_bounds
— MethodPowerModelsDistribution._calc_shunt
— MethodGiven a set of addmittances 'y' connected from the conductors 'fcnds' to the conductors 'tcnds', this method will return a list of conductors 'cnd' and a matrix 'Y', which will satisfy I[cnds] = Y*V[cnds].
PowerModelsDistribution._calc_transformer_current_max_frto
— MethodReturns a current magnitude bound for the from and to side of a transformer. The total power rating also implies a current bound through the lower bound on the voltage magnitude of the connected buses.
PowerModelsDistribution._calc_transformer_power_ub_frto
— MethodReturns a power magnitude bound for the from and to side of a transformer. The total current rating also implies a current bound through the upper bound on the voltage magnitude of the connected buses.
PowerModelsDistribution._check_bus
— Methodbus data checks
PowerModelsDistribution._check_bus_and_terminals
— Functionchecks bus_name
exists and has terminals
PowerModelsDistribution._check_configuration_infer_dim
— Methodchecks the connection configuration and infers the dimensions of the connection (number of connected terminals)
PowerModelsDistribution._check_connectivity
— Methodchecks connectivity of object
PowerModelsDistribution._check_eng_component_dtypes
— Methodchecks that an engineering model component has the correct data types
PowerModelsDistribution._check_equal
— Methodchecks if data structures are equivalent, and if not, will enumerate the differences
PowerModelsDistribution._check_generator
— Methodgenerator data checks
PowerModelsDistribution._check_has_keys
— Methodchecks that a component has fields
PowerModelsDistribution._check_has_size
— Methodcheck that fields
has size data_size
PowerModelsDistribution._check_line
— Methodline data checks
PowerModelsDistribution._check_linecode
— Methodlinecode data checks
PowerModelsDistribution._check_load
— Methodload data checks
PowerModelsDistribution._check_load_needs_cone
— MethodReturns a Bool, indicating whether the convex hull of the voltage-dependent relationship needs a cone inclusion constraint.
PowerModelsDistribution._check_same_size
— Methodcheck that all data in fields
have the same size
PowerModelsDistribution._check_shunt
— Methodshunt data checks
PowerModelsDistribution._check_shunt_capacitor
— Methodshunt capacitor data checks
PowerModelsDistribution._check_transformer
— MethodTransformer, n-windings three-phase lossy data checks
PowerModelsDistribution._check_voltage_source
— Methodvoltage source data checks
PowerModelsDistribution._clean_arrays!
— Methodcleans up array properties back into strings for later conversion
PowerModelsDistribution._convert_grounding
— Methodlossy grounding to perfect grounding and shunts
PowerModelsDistribution._create_capacitor
— FunctionCreates a Dict{String,Any} containing all of the expected properties for a Capacitor. If bus2
is not specified, the capacitor will be treated as a shunt. See OpenDSS documentation for valid fields and ways to specify the different properties.
PowerModelsDistribution._create_circuit
— Functionalias createcircuit to createvsource
PowerModelsDistribution._create_generator
— FunctionCreates a Dict{String,Any} containing all of the expected properties for a Generator. See OpenDSS documentation for valid fields and ways to specify the different properties.
PowerModelsDistribution._create_line
— FunctionCreates a Dict{String,Any} containing all of the properties for a Line. See OpenDSS documentation for valid fields and ways to specify the different properties.
PowerModelsDistribution._create_linecode
— FunctionCreates a Dict{String,Any} containing all of the properties of a Linecode. See OpenDSS documentation for valid fields and ways to specify the different properties.
PowerModelsDistribution._create_load
— FunctionCreates a Dict{String,Any} containing all of the expected properties for a Load. See OpenDSS documentation for valid fields and ways to specify the different properties.
PowerModelsDistribution._create_loadshape
— FunctionCreates a Dict{String,Any} containing all expected properties for a LoadShape element. See OpenDSS documentation for valid fields and ways to specify different properties.
PowerModelsDistribution._create_options
— MethodPowerModelsDistribution._create_pvsystem
— FunctionCreates a Dict{String,Any} containing all of the expected properties for a PVSystem. See OpenDSS document https://github.com/tshort/OpenDSS/blob/master/Doc/OpenDSS%20PVSystem%20Model.doc for valid fields and ways to specify the different properties.
PowerModelsDistribution._create_reactor
— FunctionCreates a Dict{String,Any} containing all of the expected properties for a Reactor. If bus2
is not specified Reactor is treated like a shunt. See OpenDSS documentation for valid fields and ways to specify the different properties.
PowerModelsDistribution._create_spectrum
— FunctionCreates a Dict{String,Any} containing all expected properties for a Spectrum object. See OpenDSS documentation for valid fields and ways to specify different properties.
PowerModelsDistribution._create_storage
— FunctionCreates a Dict{String,Any} containing all expected properties for a storage element. See OpenDSS documentation for valid fields and ways to specify the different properties.
PowerModelsDistribution._create_transformer
— FunctionCreates a Dict{String,Any} containing all of the expected properties for a Transformer. See OpenDSS documentation for valid fields and ways to specify the different properties.
PowerModelsDistribution._create_vsource
— FunctionCreates a Dict{String,Any} containing all of the expected properties for a Voltage Source. If bus2
is not specified, VSource will be treated like a generator. Mostly used as source
which represents the circuit. See OpenDSS documentation for valid fields and ways to specify the different properties.
PowerModelsDistribution._create_xfmrcode
— FunctionTransformer codes contain all of the same properties as a transformer except bus, buses, bank, xfmrcode
PowerModelsDistribution._create_xycurve
— FunctionCreates a Dict{String,Any} containing all expected properties for a XYCurve object. See OpenDSS documentation for valid fields and ways to specify different properties.
PowerModelsDistribution._discover_buses
— MethodDiscovers all of the buses (not separately defined in OpenDSS), from "lines"
PowerModelsDistribution._discover_phases_neutral!
— Methoddiscovers all phases and neutrals in the network
PowerModelsDistribution._discover_terminals!
— Methoddiscovers all terminals in the network
PowerModelsDistribution._dss2eng_bus!
— FunctionAdds nodes as buses to data_eng
from data_dss
PowerModelsDistribution._dss2eng_buscoords!
— MethodParses buscoords lon,lat into their respective buses
PowerModelsDistribution._dss2eng_capacitor!
— MethodAdds capacitors to data_eng
from data_dss
PowerModelsDistribution._dss2eng_generator!
— FunctionAdds generators to data_eng
from data_dss
PowerModelsDistribution._dss2eng_line!
— MethodAdds lines to data_eng
from data_dss
PowerModelsDistribution._dss2eng_linecode!
— MethodAdds lines to data_eng
from data_dss
PowerModelsDistribution._dss2eng_load!
— FunctionAdds loads to data_eng
from data_dss
Constant can still be scaled by other settings, fixed cannot Note that in the current feature set, fixed therefore equals constant
1: Constant P and Q, default 2: Constant Z 3: Constant P and quadratic Q 4: Exponential 5: Constant I 6: Constant P and fixed Q
7: Constant P and quadratic Q (i.e., fixed reactance)
8: ZIP
PowerModelsDistribution._dss2eng_loadshape!
— FunctionAdds loadshapes to data_eng
from data_dss
PowerModelsDistribution._dss2eng_pvsystem!
— FunctionAdds pvsystems to data_eng
from data_dss
PowerModelsDistribution._dss2eng_reactor!
— MethodAdds shunt reactors to data_eng
from data_dss
PowerModelsDistribution._dss2eng_storage!
— FunctionAdds storage to data_eng
from data_dss
PowerModelsDistribution._dss2eng_transformer!
— MethodAdds transformers to data_eng
from data_dss
PowerModelsDistribution._dss2eng_vsource!
— FunctionAdds vsources to data_eng
from data_dss
PowerModelsDistribution._dss2eng_xfmrcode!
— MethodAdds transformers to data_eng
from data_dss
PowerModelsDistribution._find_neutrals
— MethodDiscovers all neutrals in the network
PowerModelsDistribution._find_ref_buses
— MethodPowerModelsDistribution._get_complete_conductor_set
— Methodfinds maximal set of ungrounded phases
PowerModelsDistribution._get_conductors_ordered
— MethodReturns an ordered list of defined conductors. If ground=false, will omit any 0
PowerModelsDistribution._get_delta_transformation_matrix
— Methodcreates a delta transformation matrix
PowerModelsDistribution._get_ground!
— Methodgets the grounding information for a bus
PowerModelsDistribution._get_ground_math!
— Methodget a grounded terminal from a bus; if not present, create one
PowerModelsDistribution._get_idxs
— MethodGiven a vector and a list of elements to find, this method will return a list of the positions of the elements in that vector.
PowerModelsDistribution._get_ilocs
— Methodget locations of terminal in connections list
PowerModelsDistribution._get_math_obj
— Methodreturns component from the mathematical data model
PowerModelsDistribution._get_new_ground
— Methodgetground helper function
PowerModelsDistribution._guess_dtype
— Methodguesses the data type of a value using regex, returning Float64, Int, ComplexF64, or String (if number type cannot be determined)
PowerModelsDistribution._impedance_conversion
— MethodPowerModelsDistribution._import_all!
— Methodcreates a dss
dict inside object
that imports all items in prop_order
from dss_obj
PowerModelsDistribution._init_base_components!
— Methodinitializes the base components that are expected by powermodelsdistribution in the mathematical model
PowerModelsDistribution._init_lookup!
— MethodInitializes the lookup table
PowerModelsDistribution._init_math_obj
— Methodinitializes the base math object of any type, and copies any one-to-one mappings
PowerModelsDistribution._init_time_series!
— Methodinitializes a time_series data structure in the InfrastructureModels style
PowerModelsDistribution._init_unmap_eng_obj!
— Methodinitialization actions for unmapping
PowerModelsDistribution._is_after
— Methodchecks to see if property1 is after property2 in the prop_order
PowerModelsDistribution._is_after_linecode
— Methodchecks to see if a property is after linecode
PowerModelsDistribution._is_after_xfmrcode
— Methodchecks to see if a property is after xfmrcode
PowerModelsDistribution._is_loadshape_split
— Methodchecks if loadshape has both pmult and qmult
PowerModelsDistribution._isa_array
— Methodchecks if data
is an opendss-style array string
PowerModelsDistribution._isa_conn
— Methodchecks is a string is a connection by checking the values
PowerModelsDistribution._isa_matrix
— Methodchecks if data
is an opendss-style matrix string
PowerModelsDistribution._isa_rpn
— Methoddetects if expr
is Reverse Polish Notation expression
PowerModelsDistribution._jsonver2juliaver!
— Methodconverts julia Version into serializable structure
PowerModelsDistribution._kron_reduce_branch!
— Methodperforms kron reduction on branch
PowerModelsDistribution._kron_reduce_branch
— Methodperforms kron reduction on branch - helper function
PowerModelsDistribution._kron_reduce_buses!
— Methodtransformations might have introduced buses with four-terminals; crop here
PowerModelsDistribution._load_expmodel_params
— MethodReturns the exponential load model parameters for a load. For an exponential load it simply returns certain data model properties, whilst for constantpower, constantcurrent and constant_impedance it returns the equivalent exponential model parameters.
PowerModelsDistribution._make_full_matrix_variable
— MethodPowerModelsDistribution._make_hermitian_matrix_variable
— MethodPowerModelsDistribution._make_math_per_unit!
— Methodconverts to per unit from SI
PowerModelsDistribution._make_matrix_variable_element
— MethodSometimes we want to bound only a subset of the elements of a matrix variable. For example, an unbounded Hermitian variable usually still has a lower bound of zero on the real diagonal elements. When there is a mix of bounded and unbounded elements, the unboundedness is encoded as 'Inf' and '-Inf' in the bound parameters. This cannot be passed directlty to JuMP, because it would lead to an error in Mosek for example. Instead, this method checks whether all bounds for an element (n,m) are Inf, and if so, does not pass a bound to JuMP.
PowerModelsDistribution._make_multiconductor!
— MethodPowerModelsDistribution._map_conductor_ids!
— MethodPowerModelsDistribution._map_eng2math
— Methodbase function for converting engineering model to mathematical model
PowerModelsDistribution._map_eng2math_bus!
— Methodconverts engineering bus components into mathematical bus components
PowerModelsDistribution._map_eng2math_generator!
— Methodconverts engineering generators into mathematical generators
PowerModelsDistribution._map_eng2math_line!
— Methodconverts engineering lines into mathematical branches
PowerModelsDistribution._map_eng2math_load!
— Methodconverts engineering load components into mathematical load components
PowerModelsDistribution._map_eng2math_multinetwork
— Methodconverts a engineering multinetwork to a math multinetwork
PowerModelsDistribution._map_eng2math_shunt!
— Methodconverts engineering generic shunt components into mathematical shunt components
PowerModelsDistribution._map_eng2math_solar!
— Methodconverts engineering solar components into mathematical generators
PowerModelsDistribution._map_eng2math_storage!
— Methodconverts engineering storage into mathematical storage
PowerModelsDistribution._map_eng2math_switch!
— Methodconverts engineering switches into mathematical switches and (if neeed) impedance branches to represent loss model
PowerModelsDistribution._map_eng2math_transformer!
— Methodconverts engineering n-winding transformers into mathematical ideal 2-winding lossless transformer branches and impedance branches to represent the loss model
PowerModelsDistribution._map_eng2math_voltage_source!
— Methodconverts engineering voltage sources into mathematical generators and (if needed) impedance branches to represent the loss model
PowerModelsDistribution._map_math2eng_bus!
— MethodPowerModelsDistribution._map_math2eng_load!
— MethodPowerModelsDistribution._map_math2eng_voltage_source!
— MethodPowerModelsDistribution._mat2ltrivec!
— MethodPowerModelsDistribution._mat2utrivec!
— MethodPowerModelsDistribution._mat_mult_rm_nan
— MethodPowerModelsDistribution._merge_dss!
— MethodMerges two (partially) parsed OpenDSS files to the same dictionary dss_prime
. Used in cases where files are referenced via the "compile" or "redirect" OpenDSS commands inside the originating file.
PowerModelsDistribution._nan2zero
— MethodPowerModelsDistribution._objective_mc_min_fuel_cost_polynomial_linquad
— MethodMulticonductor adaptation of min fuel cost polynomial linquad objective
PowerModelsDistribution._objective_mc_min_fuel_cost_polynomial_linquad
— Methodgen connections adaptation of min fuel cost polynomial linquad objective
PowerModelsDistribution._objective_mc_min_fuel_cost_polynomial_linquad_switch
— MethodMulticonductor adaptation of min fuel cost polynomial linquad objective
PowerModelsDistribution._objective_mc_min_fuel_cost_polynomial_linquad_switch
— Methodgen connections adaptation of min fuel cost polynomial linquad objective
PowerModelsDistribution._objective_mc_min_fuel_cost_polynomial_nl
— MethodPowerModelsDistribution._objective_mc_min_fuel_cost_polynomial_nl_switch
— MethodPowerModelsDistribution._pad_connections!
— Methodadds conductors to connections during padding process, transformer winding variant
PowerModelsDistribution._pad_connections!
— Methodadds conductors to connections during padding process
PowerModelsDistribution._pad_properties!
— Methodpads properties to have the total number of conductors for the whole system (transformer winding variant)
PowerModelsDistribution._pad_properties!
— Methodpads properties to have the total number of conductors for the whole system
PowerModelsDistribution._pad_properties_delta!
— Methodpads properties to have the total number of conductors for the whole system - delta connection variant
PowerModelsDistribution._pad_properties_delta!
— Methodpads properties to have the total number of conductors for the whole system - delta connection variant
PowerModelsDistribution._parse_array
— MethodParses a OpenDSS style array string data
into a one dimensional array of type dtype
. Array strings are capped by either brackets, single quotes, or double quotes, and elements are separated by spaces.
PowerModelsDistribution._parse_binary_file
— Methodparses sng and dbl precision loadshape binary files
PowerModelsDistribution._parse_bus_id
— MethodParses busnames as defined in OpenDSS, e.g. "primary.1.2.3.0"
PowerModelsDistribution._parse_buscoords_file
— MethodParses a Bus Coordinate file
, in either "dat" or "csv" formats, where in "dat", columns are separated by spaces, and in "csv" by commas. File expected to contain "bus,x,y" on each line.
PowerModelsDistribution._parse_component
— FunctionParses a component
with properties
into a object
. If object
is not defined, an empty dictionary will be used. Assumes that unnamed properties are given in order, but named properties can be given anywhere.
PowerModelsDistribution._parse_conn
— Methodparses connection "conn" specification reducing to wye or delta
PowerModelsDistribution._parse_csv_file
— Methodparses single column load profile files
PowerModelsDistribution._parse_data_file
— Methodparses csv or binary loadshape files
PowerModelsDistribution._parse_dss_load_model!
— Methodconverts dss load model to supported PowerModelsDistribution LoadModel enum
PowerModelsDistribution._parse_dss_with_dtypes!
— FunctionParses the data in keys defined by to_parse
in data_dss
using types given by the default properties from the get_prop_default
function.
PowerModelsDistribution._parse_dss_xycurve
— MethodPowerModelsDistribution._parse_element_with_dtype
— Methodparses the raw dss values into their expected data types
PowerModelsDistribution._parse_enums!
— Methodparses enums from json
PowerModelsDistribution._parse_line
— MethodParses an already separated line given by elements
(an array) of an OpenDSS file into current_obj
. If not defined, current_obj
is an empty dictionary.
PowerModelsDistribution._parse_loadshape!
— Methodparses loadshape component
PowerModelsDistribution._parse_matrix
— MethodParses a OpenDSS style triangular matrix string data
into a two dimensional array of type dtype
. Matrix strings are capped by either parenthesis or brackets, rows are separated by "|", and columns are separated by spaces.
PowerModelsDistribution._parse_matrix_value
— Methodparses in a serialized matrix
PowerModelsDistribution._parse_mats!
— Methodparser function for serialized matrices
PowerModelsDistribution._parse_mats_recursive!
— Methodrecursive helper function for parsing serialized matrices
PowerModelsDistribution._parse_mult_parameter
— Methodparses pmult and qmult entries on loadshapes
PowerModelsDistribution._parse_obj_dtypes!
— Methodparses data type of properties of objects
PowerModelsDistribution._parse_properties
— MethodParses a string of properties
of a component type, character by character into an array with each element containing (if present) the property name, "=", and the property value.
PowerModelsDistribution._parse_rpn
— Functionparses Reverse Polish Notation expr
PowerModelsDistribution._parse_setbusxy!
— Methodparses the setbusxy command
PowerModelsDistribution._parse_spectrum!
— Methodparse spectrum component
PowerModelsDistribution._parse_xycurve!
— Methodparse xycurve component
PowerModelsDistribution._rebase_pu_branch!
— Methodper-unit conversion for branches
PowerModelsDistribution._rebase_pu_bus!
— Methodper-unit conversion for buses
PowerModelsDistribution._rebase_pu_generator!
— Methodper-unit conversion for generators
PowerModelsDistribution._rebase_pu_load!
— Methodper-unit conversion for loads
PowerModelsDistribution._rebase_pu_shunt!
— Methodper-unit conversion for shunts
PowerModelsDistribution._rebase_pu_storage!
— Methodper-unit conversion for storage
PowerModelsDistribution._rebase_pu_switch!
— Methodper-unit conversion for switches
PowerModelsDistribution._rebase_pu_transformer_2w_ideal!
— Methodper-unit conversion for ideal 2-winding transformers
PowerModelsDistribution._register_awaiting_ground!
— MethodPowerModelsDistribution._replace_nan
— MethodReplaces NaN values with zeros
PowerModelsDistribution._roll
— Methodrolls a 1d array left or right by idx
PowerModelsDistribution._run_mc_mn_opb
— Methoddepreciation warning for runmcmnopb
PowerModelsDistribution._run_mc_osw
— Methoddepreciation warning for runmc_osw
PowerModelsDistribution._run_mc_osw_mi
— Methoddepreciation warning for runmcoswmi
PowerModelsDistribution._sc2br_impedance
— MethodConverts a set of short-circuit tests to an equivalent reactance network. Reference: R. C. Dugan, “A perspective on transformer modeling for distribution system analysis,” in 2003 IEEE Power Engineering Society General Meeting (IEEE Cat. No.03CH37491), 2003, vol. 1, pp. 114-119 Vol. 1.
PowerModelsDistribution._scale
— Methodfunction for applying a scale to a paramter
PowerModelsDistribution._scale_props!
— Methodhelper function to apply a scale factor to given properties
PowerModelsDistribution._slice_branches!
— Methodslices branches based on connected terminals
PowerModelsDistribution._solve_mc_osw
— MethodSolve optimal switching problem
PowerModelsDistribution._solve_mc_osw_mi
— MethodSolve mixed-integer optimal switching problem
PowerModelsDistribution._solve_mn_mc_opb
— Methodsolve test mn mc problem
PowerModelsDistribution._strip_comments
— MethodStrips comments, defined by "!" from the ends of lines
PowerModelsDistribution._strip_lines
— Methodstrips lines that are either commented (block or single) or empty
PowerModelsDistribution._to_kwargs
— Methodconverts Dict{String,Any} to Dict{Symbol,Any} for passing as kwargs
PowerModelsDistribution._vec2ltri!
— MethodPowerModelsDistribution._vec2utri!
— Methodhttps://stackoverflow.com/questions/39039553/lower-triangular-matrix-in-julia
PowerModelsDistribution._wrap_to_180
— Methodwraps angles in degrees to 180
PowerModelsDistribution._wrap_to_pi
— Methodwraps angles in radians to pi
PowerModelsDistribution.add_object!
— MethodGeneric add function to add components to an engineering data model
PowerModelsDistribution.add_vbase_default!
— MethodFunction to add default vbase for a bus
PowerModelsDistribution.apply_kron_reduction!
— Methodkron reduction
PowerModelsDistribution.apply_phase_projection!
— Methodpad matrices to max number of conductors
PowerModelsDistribution.apply_phase_projection_delta!
— Methodphase projection for components where unprojected states are not yet supported
PowerModelsDistribution.apply_voltage_bounds!
— Methodadd voltage bounds
PowerModelsDistribution.build_mc_mld
— MethodPowerModelsDistribution.build_mc_mld
— MethodLoad shedding problem including storage (snap-shot)
PowerModelsDistribution.build_mc_mld
— MethodLoad shedding problem for Branch Flow model
PowerModelsDistribution.build_mc_mld_bf
— MethodLoad shedding problem for Branch Flow model
PowerModelsDistribution.build_mc_mld_uc
— MethodStandard unit commitment (!relaxed) load shedding problem
PowerModelsDistribution.build_mc_opf
— Methodconstructor for OPF in current-voltage variable space
PowerModelsDistribution.build_mc_opf
— MethodConstructor for Optimal Power Flow
PowerModelsDistribution.build_mc_opf
— Methodconstructor for branch flow opf
PowerModelsDistribution.build_mc_opf_oltc
— Methodconstructor for on-load tap-changer OPF
PowerModelsDistribution.build_mc_opf_pbs
— MethodOPF problem with slack power at every bus
PowerModelsDistribution.build_mc_pf
— MethodConstructor for Power Flow in current-voltage variable space
PowerModelsDistribution.build_mc_pf
— MethodConstructor for Power Flow Problem
PowerModelsDistribution.build_mc_pf
— MethodConstructor for Branch Flow Power Flow
PowerModelsDistribution.build_mc_pf_pbs
— MethodPF problem with slack power at every bus
PowerModelsDistribution.build_mn_mc_mld_simple
— MethodMultinetwork load shedding problem including storage
PowerModelsDistribution.build_mn_mc_mld_simple
— MethodMultinetwork load shedding problem for Branch Flow model
PowerModelsDistribution.build_mn_mc_opf
— MethodMultinetwork current-voltage optimal power flow problem
PowerModelsDistribution.build_mn_mc_opf
— MethodMultinetwork optimal power flow problem
PowerModelsDistribution.build_mn_mc_opf
— MethodMultinetwork branch flow optimal power flow problem
PowerModelsDistribution.calc_voltage_bases
— Methodcalculates voltage bases for each voltage zone
PowerModelsDistribution.calculate_tm_scale
— MethodCalculates the tap scale factor for the non-dimensionalized equations.
PowerModelsDistribution.check_eng_data_model
— Methodchecks the engineering data model for correct data types, required fields and applies default checks
PowerModelsDistribution.constraint_M_psd
— MethodFor rectangular coordinates of a complex matrix M=Mre+im*Mim, this function applies constraints equivalent to requiring that M itself is PSD.
PowerModelsDistribution.constraint_SWL_psd
— MethodTake a multi-conductor voltage variable V and a current variable I. The associated power is then defined as S = VI^H Define the lifted variables as W and L as W = VV^H, L = I*I^H Then, it is equally valid that [W S; S^H L] ∈ PSDCone, rank([W S; S^H L])=1 This function adds this PSD constraint for the rectangular coordinates of S, W and L.
PowerModelsDistribution.constraint_mc_branch_current_series_product_hermitian
— MethodPowerModelsDistribution.constraint_mc_bus_voltage_balance
— MethodImpose all balance related constraints for which key present in data model of bus. For a discussion of sequence components and voltage unbalance factor (VUF), see @INPROCEEDINGS{girigoudarmolzahnroald-2019, author={K. Girigoudar and D. K. Molzahn and L. A. Roald}, booktitle={submitted}, title={{Analytical and Empirical Comparisons of Voltage Unbalance Definitions}}, year={2019}, month={}, url={https://molzahn.github.io/pubs/girigoudarmolzahnroald-2019.pdf} }
PowerModelsDistribution.constraint_mc_bus_voltage_drop
— MethodDefines voltage drop over a branch, linking from and to side complex voltage
PowerModelsDistribution.constraint_mc_bus_voltage_drop
— MethodPowerModelsDistribution.constraint_mc_bus_voltage_magnitude_ll
— MethodPowerModelsDistribution.constraint_mc_bus_voltage_magnitude_negative_sequence
— Methoda = exp(im2π/3) U+ = (1Ua + aUb a^2Uc)/3 U- = (1Ua + a^2Ub aUc)/3 vuf = |U-|/|U+| |U-| <= vufmax|U+| |U-|^2 <= vufmax^2*|U+|^2
PowerModelsDistribution.constraint_mc_bus_voltage_magnitude_on_off
— Methodon/off bus voltage magnitude constraint
PowerModelsDistribution.constraint_mc_bus_voltage_magnitude_on_off
— Methodon/off bus voltage magnitude constraint
PowerModelsDistribution.constraint_mc_bus_voltage_magnitude_on_off
— Methodon/off voltage magnitude constraint
PowerModelsDistribution.constraint_mc_bus_voltage_magnitude_positive_sequence
— Methoda = exp(im2π/3) U+ = (1Ua + aUb a^2Uc)/3 U- = (1Ua + a^2Ub aUc)/3 vuf = |U-|/|U+| |U-| <= vufmax|U+| |U-|^2 <= vufmax^2*|U+|^2
PowerModelsDistribution.constraint_mc_bus_voltage_magnitude_sqr_on_off
— Methodon/off bus voltage magnitude squared constraint for relaxed formulations
PowerModelsDistribution.constraint_mc_bus_voltage_magnitude_sqr_on_off
— Methodon/off voltage magnitude squared constraint for relaxed formulations
PowerModelsDistribution.constraint_mc_bus_voltage_magnitude_vuf
— Methoda = exp(im2π/3) U+ = (1Ua + aUb a^2Uc)/3 U- = (1Ua + a^2Ub aUc)/3 vuf = |U-|/|U+| |U-| <= vufmax|U+| |U-|^2 <= vufmax^2*|U+|^2
PowerModelsDistribution.constraint_mc_bus_voltage_magnitude_zero_sequence
— Methoda = exp(im2π/3) U+ = (1Ua + aUb a^2Uc)/3 U- = (1Ua + a^2Ub aUc)/3 vuf = |U-|/|U+| |U-| <= vufmax|U+| |U-|^2 <= vufmax^2*|U+|^2
PowerModelsDistribution.constraint_mc_bus_voltage_on_off
— Methodbus voltage on/off constraint for load shed problem
PowerModelsDistribution.constraint_mc_bus_voltage_on_off
— Methodbus voltage on/off constraint for load shed problem
PowerModelsDistribution.constraint_mc_bus_voltage_on_off
— Methodon/off bus voltage constraint for DCP formulation, nothing to do
PowerModelsDistribution.constraint_mc_bus_voltage_on_off
— Methodon/off constraint for bus voltages
PowerModelsDistribution.constraint_mc_bus_voltage_on_off
— Methodon/off bus voltage constraint for relaxed forms
PowerModelsDistribution.constraint_mc_current_balance
— MethodKirchhoff's current law applied to buses sum(cr + im*ci) = 0
PowerModelsDistribution.constraint_mc_current_balance
— MethodPowerModelsDistribution.constraint_mc_current_from
— MethodDefines how current distributes over series and shunt impedances of a pi-model branch
PowerModelsDistribution.constraint_mc_current_from
— MethodPowerModelsDistribution.constraint_mc_current_limit
— MethodPowerModelsDistribution.constraint_mc_current_limit
— MethodBounds the current magnitude at both from and to side of a branch cr[f_idx]^2 + ci[f_idx]^2 <= c_rating_a^2
cr[t_idx]^2 + ci[t_idx]^2 <= c_rating_a^2
PowerModelsDistribution.constraint_mc_current_to
— MethodDefines how current distributes over series and shunt impedances of a pi-model branch
PowerModelsDistribution.constraint_mc_current_to
— MethodPowerModelsDistribution.constraint_mc_gen_active_bounds
— Methodpmin <= Re(v*cg') <= pmax
PowerModelsDistribution.constraint_mc_gen_active_bounds
— Methoddefines limits on active power output of a generator where bounds can't be used
PowerModelsDistribution.constraint_mc_gen_power_on_off
— Methodon/off constraint for generators
PowerModelsDistribution.constraint_mc_gen_power_on_off
— Methodon/off constraint for generators
PowerModelsDistribution.constraint_mc_gen_power_on_off
— MethodPowerModelsDistribution.constraint_mc_gen_power_setpoint_real
— Methodpg[i] == pg
PowerModelsDistribution.constraint_mc_gen_power_setpoint_real
— Methodgenerator active power setpoint constraint
PowerModelsDistribution.constraint_mc_gen_reactive_bounds
— Methodqmin <= Im(v*cg') <= qmax
PowerModelsDistribution.constraint_mc_gen_reactive_bounds
— Methoddefines limits on reactive power output of a generator where bounds can't be used
PowerModelsDistribution.constraint_mc_generator_power
— MethodOnly support wye-connected generators.
PowerModelsDistribution.constraint_mc_generator_power
— MethodDELTA When connected in delta, the load power gives the reference in the delta reference frame. This means sd1 = vab.conj(iab) = (va-vb).conj(iab) We can relate this to the per-phase power by sna = va.conj(ia) = va.conj(iab-ica) = va.conj(conj(sab/vab) - conj(sca/vca)) = va.(sab/(va-vb) - sca/(vc-va)) So for delta, sn is constrained indirectly.
PowerModelsDistribution.constraint_mc_generator_power
— MethodLink the current and power withdrawn by a generator at the bus through a PSD constraint. The rank-1 constraint is dropped in this formulation.
PowerModelsDistribution.constraint_mc_generator_power_delta
— Methoddelta connected generator setpoint constraint for IVR formulation
PowerModelsDistribution.constraint_mc_generator_power_delta
— MethodPowerModelsDistribution.constraint_mc_generator_power_delta
— MethodPowerModelsDistribution.constraint_mc_generator_power_wye
— Methodwye connected generator setpoint constraint for IVR formulation
PowerModelsDistribution.constraint_mc_generator_power_wye
— MethodPowerModelsDistribution.constraint_mc_load_current_delta
— MethodWe want to express sab = cp.|vab|+im.cq.|vab| iab = conj(sab/vab) = |vab|.(cq-im.cq)/conj(vab) = (1/|vab|).(cp-im.cq)*vab idem for ibc and ica And then sa = va.conj(ia) = va.conj(iab-ica) idem for sb and sc
PowerModelsDistribution.constraint_mc_load_power
— MethodOnly support wye-connected, constant-power loads.
PowerModelsDistribution.constraint_mc_load_power
— MethodCONSTANT POWER Fixes the load power sd. sd = [sd1, sd2, sd3] What is actually fixed, depends on whether the load is connected in delta or wye. When connected in wye, the load power equals the per-phase power sn drawn at the bus to which the load is connected. sd1 = va.conj(ia) = sn_a
CONSTANT CURRENT Sets the active and reactive load power sd to be proportional to the the voltage magnitude. pd = cp.|vm| qd = cq.|vm| sd = cp.|vm| + j.cq.|vm|
CONSTANT IMPEDANCE Sets the active and reactive power drawn by the load to be proportional to the square of the voltage magnitude. pd = cp.|vm|^2 qd = cq.|vm|^2 sd = cp.|vm|^2 + j.cq.|vm|^2
DELTA When connected in delta, the load power gives the reference in the delta reference frame. This means sd1 = vab.conj(iab) = (va-vb).conj(iab) We can relate this to the per-phase power by sna = va.conj(ia) = va.conj(iab-ica) = va.conj(conj(sab/vab) - conj(sca/vca)) = va.(sab/(va-vb) - sca/(vc-va)) So for delta, sn is constrained indirectly.
PowerModelsDistribution.constraint_mc_load_power
— MethodCreates the constraints modelling the (relaxed) voltage-dependent loads for the matrix KCL formulation.
PowerModelsDistribution.constraint_mc_load_power
— MethodCreates the constraints modelling the (relaxed) voltage-dependent loads.
PowerModelsDistribution.constraint_mc_load_power_delta
— Methoddelta connected load setpoint constraint for IVR formulation
PowerModelsDistribution.constraint_mc_load_power_delta
— MethodPowerModelsDistribution.constraint_mc_load_power_delta
— MethodPowerModelsDistribution.constraint_mc_load_power_wye
— Methodwye connected load setpoint constraint for IVR formulation
PowerModelsDistribution.constraint_mc_load_power_wye
— MethodPowerModelsDistribution.constraint_mc_load_power_wye
— MethodPowerModelsDistribution.constraint_mc_model_current
— MethodDefines relationship between branch (series) power flow, branch (series) current and node voltage magnitude
PowerModelsDistribution.constraint_mc_model_current
— MethodDefines relationship between branch (series) power flow, branch (series) current and node voltage magnitude
PowerModelsDistribution.constraint_mc_model_current
— MethodDefines relationship between branch (series) power flow, branch (series) current and node voltage magnitude
PowerModelsDistribution.constraint_mc_model_current
— MethodPowerModelsDistribution.constraint_mc_model_current
— MethodDefines relationship between branch (series) power flow, branch (series) current and node voltage magnitude
PowerModelsDistribution.constraint_mc_model_voltage
— Methodnothing to do, these models do not have complex voltage constraints
PowerModelsDistribution.constraint_mc_model_voltage
— Methoddo nothing by default
PowerModelsDistribution.constraint_mc_model_voltage
— MethodPowerModelsDistribution.constraint_mc_model_voltage_magnitude_difference
— MethodDefines voltage drop over a branch, linking from and to side voltage
PowerModelsDistribution.constraint_mc_model_voltage_magnitude_difference
— MethodPowerModelsDistribution.constraint_mc_model_voltage_magnitude_difference
— MethodDefines voltage drop over a branch, linking from and to side voltage
PowerModelsDistribution.constraint_mc_network_power_balance
— Methodensures that power generation and demand are balanced
PowerModelsDistribution.constraint_mc_network_power_balance
— MethodPowerModelsDistribution.constraint_mc_ohms_yt_from
— Methodnothing to do, no voltage angle variables
PowerModelsDistribution.constraint_mc_ohms_yt_from
— MethodCreates Ohms constraints (yt post fix indicates that Y and T values are in rectangular form)
p_fr == g[c,c] * vm_fr[c]^2 +
sum( g[c,d]*vm_fr[c]*vm_fr[d]*cos(va_fr[c]-va_fr[d]) +
b[c,d]*vm_fr[c]*vm_fr[d]*sin(va_fr[c]-va_fr[d]) for d in conductor_ids(pm) if d != c) +
sum(-g[c,d]*vm_fr[c]*vm_to[d]*cos(va_fr[c]-va_to[d]) +
-b[c,d]*vm_fr[c]*vm_to[d]*sin(va_fr[c]-va_to[d]) for d in conductor_ids(pm))
+ g_fr[c,c] * vm_fr[c]^2 +
sum( g_fr[c,d]*vm_fr[c]*vm_fr[d]*cos(va_fr[c]-va_fr[d]) +
b_fr[c,d]*vm_fr[c]*vm_fr[d]*sin(va_fr[c]-va_fr[d]) for d in conductor_ids(pm) if d != c)
)
q_fr == -b[c,c] *vm_fr[c]^2 -
sum( b[c,d]*vm_fr[c]*vm_fr[d]*cos(va_fr[c]-va_fr[d]) -
g[c,d]*vm_fr[c]*vm_fr[d]*sin(va_fr[c]-va_fr[d]) for d in conductor_ids(pm) if d != c) -
sum(-b[c,d]*vm_fr[c]*vm_to[d]*cos(va_fr[c]-va_to[d]) +
g[c,d]*vm_fr[c]*vm_to[d]*sin(va_fr[c]-va_to[d]) for d in conductor_ids(pm))
-b_fr[c,c] *vm_fr[c]^2 -
sum( b_fr[c,d]*vm_fr[c]*vm_fr[d]*cos(va_fr[c]-va_fr[d]) -
g_fr[c,d]*vm_fr[c]*vm_fr[d]*sin(va_fr[c]-va_fr[d]) for d in conductor_ids(pm) if d != c)
)
PowerModelsDistribution.constraint_mc_ohms_yt_from
— MethodCreates Ohms constraints
sfr = vfr.conj(Y(vfr-vto)) sfr = (vrfr+imvi_fr).(G-imB)([vrfr-vrto]-im[vifr-vito]) sfr = (vrfr+imvifr).([Gvrfr-Gvr_to-Bvifr+B*vito]-im[Gvifr-G*vito+Bvr_fr-Bvr_to])
PowerModelsDistribution.constraint_mc_ohms_yt_from
— MethodCreates Ohms constraints (yt post fix indicates that Y and T values are in rectangular form)
p[f_idx] == -b*(t[f_bus] - t[t_bus])
PowerModelsDistribution.constraint_mc_ohms_yt_from
— Methodohms constraint for branches on the from-side
PowerModelsDistribution.constraint_mc_ohms_yt_from
— Methoddelegate back to PowerModels
PowerModelsDistribution.constraint_mc_ohms_yt_to
— Methodnothing to do, this model is symmetric
PowerModelsDistribution.constraint_mc_ohms_yt_to
— MethodCreates Ohms constraints (yt post fix indicates that Y and T values are in rectangular form)
p[t_idx] == (g+g_to)*v[t_bus]^2 + (-g*tr-b*ti)/tm*(v[t_bus]*v[f_bus]*cos(t[t_bus]-t[f_bus])) + (-b*tr+g*ti)/tm*(v[t_bus]*v[f_bus]*sin(t[t_bus]-t[f_bus]))
q[t_idx] == -(b+b_to)*v[t_bus]^2 - (-b*tr+g*ti)/tm*(v[t_bus]*v[f_bus]*cos(t[f_bus]-t[t_bus])) + (-g*tr-b*ti)/tm*(v[t_bus]*v[f_bus]*sin(t[t_bus]-t[f_bus]))
PowerModelsDistribution.constraint_mc_ohms_yt_to
— MethodCreates Ohms constraints (yt post fix indicates that Y and T values are in rectangular form)
p[t_idx] == (g+g_to)*v[t_bus]^2 + (-g*tr-b*ti)/tm*(v[t_bus]*v[f_bus]*cos(t[t_bus]-t[f_bus])) + (-b*tr+g*ti)/tm*(v[t_bus]*v[f_bus]*sin(t[t_bus]-t[f_bus]))
q[t_idx] == -(b+b_to)*v[t_bus]^2 - (-b*tr+g*ti)/tm*(v[t_bus]*v[f_bus]*cos(t[f_bus]-t[t_bus])) + (-g*tr-b*ti)/tm*(v[t_bus]*v[f_bus]*sin(t[t_bus]-t[f_bus]))
PowerModelsDistribution.constraint_mc_ohms_yt_to
— Methodohms constraint for branches on the to-side
PowerModelsDistribution.constraint_mc_ohms_yt_to
— Methoddelegate back to PowerModels
PowerModelsDistribution.constraint_mc_ohms_yt_to
— MethodDo nothing, this model is symmetric
PowerModelsDistribution.constraint_mc_oltc_tap_fix
— MethodFor a variable tap transformer, fix the tap variables which are fixed. For example, an OLTC where the third phase is fixed, will have tap variables for all phases, but the third tap variable should be fixed.
PowerModelsDistribution.constraint_mc_power_balance
— MethodPowerModelsDistribution.constraint_mc_power_balance
— MethodPowerModelsDistribution.constraint_mc_power_balance
— MethodPowerModelsDistribution.constraint_mc_power_balance
— Methodpower balanace constraint with line shunts and transformers, active power only
PowerModelsDistribution.constraint_mc_power_balance
— MethodKCL including transformer arcs and load variables.
PowerModelsDistribution.constraint_mc_power_balance
— MethodShunt handling in matrix form: I = Y.U S = U.I' = U.(Y.U)' = U.U'.Y' = W.Y' = (Wr+j.Wi)(G+jB)' = (Wr+j.Wi)(G'-j.B') = (Wr.G'+Wi.B')+j(-Wr.B'+Wi.G') P = Wr.G'+Wi.B' Q = -Wr.B'+Wi.G'
PowerModelsDistribution.constraint_mc_power_balance
— MethodPowerModelsDistribution.constraint_mc_power_balance_shed
— MethodPowerModelsDistribution.constraint_mc_power_balance_shed
— MethodPowerModelsDistribution.constraint_mc_power_balance_shed
— Methodpower balance constraint with line shunts and transformers for load shed problem, DCP formulation
PowerModelsDistribution.constraint_mc_power_balance_shed
— MethodKCL for load shed problem with transformers
PowerModelsDistribution.constraint_mc_power_balance_shed
— MethodKCL for load shed problem with transformers (AbstractWForms)
PowerModelsDistribution.constraint_mc_power_balance_shed_simple
— Methodpower balance constraint with line shunts and transformers for load shed problem, DCP formulation
PowerModelsDistribution.constraint_mc_power_balance_simple
— MethodPowerModelsDistribution.constraint_mc_power_balance_simple
— MethodPowerModelsDistribution.constraint_mc_power_balance_simple
— MethodKCL including transformer arcs
PowerModelsDistribution.constraint_mc_power_balance_slack
— MethodPowerModelsDistribution.constraint_mc_power_balance_slack
— MethodPowerModelsDistribution.constraint_mc_power_balance_slack
— MethodPowerModelsDistribution.constraint_mc_power_balance_slack
— MethodPowerModelsDistribution.constraint_mc_power_losses
— MethodDefines branch flow model power flow equations
PowerModelsDistribution.constraint_mc_power_losses
— MethodPowerModelsDistribution.constraint_mc_power_losses
— MethodDefines branch flow model power flow equations
PowerModelsDistribution.constraint_mc_regen_setpoint_active
— Methodqq[i] == qq
PowerModelsDistribution.constraint_mc_storage_current_limit
— MethodPowerModelsDistribution.constraint_mc_storage_current_limit
— MethodPowerModelsDistribution.constraint_mc_storage_current_limit
— MethodPowerModelsDistribution.constraint_mc_storage_losses
— MethodPowerModelsDistribution.constraint_mc_storage_losses
— MethodPowerModelsDistribution.constraint_mc_storage_losses
— Methodstorage loss constraints, delegate to PowerModels
PowerModelsDistribution.constraint_mc_storage_losses
— MethodNeglects the active and reactive loss terms associated with the squared current magnitude.
PowerModelsDistribution.constraint_mc_storage_on_off
— MethodPowerModelsDistribution.constraint_mc_storage_on_off
— MethodPowerModelsDistribution.constraint_mc_storage_on_off
— MethodPowerModelsDistribution.constraint_mc_storage_thermal_limit
— MethodPowerModelsDistribution.constraint_mc_storage_thermal_limit
— MethodPowerModelsDistribution.constraint_mc_storage_thermal_limit
— MethodPowerModelsDistribution.constraint_mc_switch_current_limit
— MethodPowerModelsDistribution.constraint_mc_switch_power_on_off
— MethodPowerModelsDistribution.constraint_mc_switch_power_on_off
— MethodPowerModelsDistribution.constraint_mc_switch_state
— MethodPowerModelsDistribution.constraint_mc_switch_state_closed
— MethodPowerModelsDistribution.constraint_mc_switch_state_closed
— MethodPowerModelsDistribution.constraint_mc_switch_state_closed
— MethodPowerModelsDistribution.constraint_mc_switch_state_closed
— MethodPowerModelsDistribution.constraint_mc_switch_state_closed
— Methodnothing to do
PowerModelsDistribution.constraint_mc_switch_state_closed
— MethodPowerModelsDistribution.constraint_mc_switch_state_on_off
— MethodPowerModelsDistribution.constraint_mc_switch_state_on_off
— MethodPowerModelsDistribution.constraint_mc_switch_state_on_off
— MethodPowerModelsDistribution.constraint_mc_switch_state_on_off
— MethodPowerModelsDistribution.constraint_mc_switch_state_on_off
— MethodPowerModelsDistribution.constraint_mc_switch_state_open
— MethodPowerModelsDistribution.constraint_mc_switch_state_open
— MethodPowerModelsDistribution.constraint_mc_switch_thermal_limit
— MethodPowerModelsDistribution.constraint_mc_thermal_limit_from
— Method-rate_a <= p[f_idx] <= rate_a
PowerModelsDistribution.constraint_mc_thermal_limit_from
— Methodp[f_idx]^2 + q[f_idx]^2 <= rate_a^2
PowerModelsDistribution.constraint_mc_thermal_limit_from
— MethodGeneric thermal limit constraint from-side
PowerModelsDistribution.constraint_mc_thermal_limit_from
— Methodbranch thermal constraints from
PowerModelsDistribution.constraint_mc_thermal_limit_from_ne
— MethodPowerModelsDistribution.constraint_mc_thermal_limit_from_on_off
— MethodPowerModelsDistribution.constraint_mc_thermal_limit_to
— MethodPowerModelsDistribution.constraint_mc_thermal_limit_to
— Methodp[t_idx]^2 + q[t_idx]^2 <= rate_a^2
PowerModelsDistribution.constraint_mc_thermal_limit_to
— MethodGeneric thermal limit constraint to-side
PowerModelsDistribution.constraint_mc_thermal_limit_to
— Methodbranch thermal constraints to
PowerModelsDistribution.constraint_mc_thermal_limit_to_ne
— MethodPowerModelsDistribution.constraint_mc_thermal_limit_to_on_off
— MethodPowerModelsDistribution.constraint_mc_theta_ref
— Methodbalanced three-phase phasor
PowerModelsDistribution.constraint_mc_theta_ref
— Methodnothing to do, no voltage angle variables
PowerModelsDistribution.constraint_mc_theta_ref
— MethodCreates phase angle constraints at reference buses
PowerModelsDistribution.constraint_mc_theta_ref
— Methodreference angle constraints
PowerModelsDistribution.constraint_mc_theta_ref
— MethodPowerModelsDistribution.constraint_mc_theta_ref
— MethodCreates phase angle constraints at reference buses
PowerModelsDistribution.constraint_mc_theta_ref
— Methoddo nothing, no way to represent this in these variables
PowerModelsDistribution.constraint_mc_transformer_power
— Methodnothing to do, this model is symmetric
PowerModelsDistribution.constraint_mc_transformer_power
— MethodTransformer constraints, considering winding type, conductor order, polarity and tap settings.
PowerModelsDistribution.constraint_mc_transformer_power_dy
— MethodPowerModelsDistribution.constraint_mc_transformer_power_dy
— MethodThis function adds all constraints required to model a two-winding, delta-wye connected transformer.
PowerModelsDistribution.constraint_mc_transformer_power_dy
— Methoddelta-wye transformer power constraint for IVR formulation
PowerModelsDistribution.constraint_mc_transformer_power_yy
— MethodLinks to and from power and voltages in a wye-wye transformer, assumes tmfixed is true wfri=(politm_scaletmi)^2wto_i
PowerModelsDistribution.constraint_mc_transformer_power_yy
— MethodPowerModelsDistribution.constraint_mc_transformer_power_yy
— MethodThis function adds all constraints required to model a two-winding, wye-wye connected transformer.
PowerModelsDistribution.constraint_mc_transformer_power_yy
— Methodwye-wye transformer power constraint for IVR formulation
PowerModelsDistribution.constraint_mc_voltage_angle_difference
— MethodPowerModelsDistribution.constraint_mc_voltage_angle_difference
— MethodThis is duplicated at PowerModelsDistribution level to correctly handle the indexing of the shunts.
PowerModelsDistribution.constraint_mc_voltage_angle_difference
— MethodBounds the voltage angle difference between bus pairs
PowerModelsDistribution.constraint_mc_voltage_angle_difference
— Methodnothing to do, these models do not have angle difference constraints
PowerModelsDistribution.constraint_mc_voltage_angle_difference
— MethodThis is duplicated at PowerModelsDistribution level to correctly handle the indexing of the shunts.
PowerModelsDistribution.constraint_mc_voltage_angle_difference
— MethodPowerModelsDistribution.constraint_mc_voltage_angle_difference
— MethodPowerModelsDistribution.constraint_mc_voltage_magnitude_bounds
— Methodvmin <= vm[i] <= vmax
PowerModelsDistribution.constraint_mc_voltage_magnitude_bounds
— MethodThis constraint captures problem agnostic constraints that define limits for voltage magnitudes (where variable bounds cannot be used) Notable examples include IVRPowerModel and ACRPowerModel
PowerModelsDistribution.constraint_mc_voltage_magnitude_only
— Methodvm[i] == vmref
PowerModelsDistribution.constraint_mc_voltage_magnitude_only
— Methodvm[i] == vmref
PowerModelsDistribution.constraint_mc_voltage_magnitude_only
— Methodnothing to do
PowerModelsDistribution.constraint_mc_voltage_magnitude_only
— Methodvoltage magnitude setpoint constraint
PowerModelsDistribution.constraint_mc_voltage_magnitude_only
— Methodvm[i] == vmref
PowerModelsDistribution.constraint_mc_voltage_psd
— MethodAdd explicit PSD-ness of W for nodes where it is not implied
PowerModelsDistribution.constraint_mc_voltage_psd
— MethodAdd explicit PSD-ness of W for nodes where it is not implied
PowerModelsDistribution.constraint_mc_voltage_psd
— MethodAdd explicit PSD-ness of W for nodes where it is not implied
PowerModelsDistribution.constraint_pqw
— MethodCreates the constraints modelling the (relaxed) voltage-dependency of the power consumed in each phase, s=p+jq. This is completely symmetrical for p and q, with appropriate substitutions of the variables and parameters: p->q, a->b, alpha->beta, pmin->qmin, pmax->qmax
PowerModelsDistribution.constraint_switch_thermal_limit
— MethodPowerModelsDistribution.correct_mc_thermal_limits!
— Methodchecks that each branch has non-negative thermal ratings and removes zero thermal ratings
PowerModelsDistribution.correct_mc_voltage_angle_differences!
— Functionchecks that voltage angle differences are within 90 deg., if not tightens
PowerModelsDistribution.correct_network_data!
— MethodPowerModelsDistribution.count_active_connections
— MethodCounts active ungrounded connections on edge components
PowerModelsDistribution.count_active_terminals
— MethodCounts active ungrounded terminals on buses
PowerModelsDistribution.count_nodes
— MethodCounts number of nodes in network
PowerModelsDistribution.create_al2w_transformer
— Methodcreates a aysmmetric lossless 2-winding transformer object with some defaults
PowerModelsDistribution.create_bus
— Methodcreates a bus object with some defaults
PowerModelsDistribution.create_generator
— Methodcreates a generator object with some defaults
PowerModelsDistribution.create_line
— MethodCreate a line with some default values
PowerModelsDistribution.create_linecode
— Methodcreates a linecode with some defaults
PowerModelsDistribution.create_load
— Methodcreates a load object with some defaults
PowerModelsDistribution.create_shunt
— Methodcreates a generic shunt with some defaults
PowerModelsDistribution.create_solar
— Methodcreates a solar generator with some defaults
PowerModelsDistribution.create_storage
— Methodcreates energy storage object with some defaults
PowerModelsDistribution.create_switch
— Methodcreates a switch object with some defaults
PowerModelsDistribution.create_transformer
— Methodcreates a n-winding transformer object with some defaults
PowerModelsDistribution.create_voltage_source
— Methodcreates a voltage source with some defaults
PowerModelsDistribution.create_xfmrcode
— Methodcreates transformer code with some defaults
PowerModelsDistribution.delete_component!
— Methoddeletes a component from the engineering data model
PowerModelsDistribution.discover_voltage_zones
— Methodfinds voltage zones
PowerModelsDistribution.find_conductor_ids!
— MethodPowerModelsDistribution.instantiate_mc_model
— Methodmulticonductor version of instantiate model from PowerModels
PowerModelsDistribution.make_lossless!
— Methodremove parameters from objects with loss models to make them lossless
PowerModelsDistribution.make_multiconductor!
— MethodTransforms single-conductor network data into multi-conductor data
PowerModelsDistribution.make_per_unit!
— Methodconverts data model between per-unit and SI units
PowerModelsDistribution.new_t
— Methodgenerate a new, unique terminal
PowerModelsDistribution.objective_mc_max_load_setpoint
— Methodmaximum loadability objective (continuous load shed) with storage
PowerModelsDistribution.objective_mc_min_fuel_cost
— MethodPowerModelsDistribution.objective_mc_min_fuel_cost_polynomial
— MethodPowerModelsDistribution.objective_mc_min_fuel_cost_polynomial_switch
— MethodPowerModelsDistribution.objective_mc_min_fuel_cost_pwl
— MethodPowerModelsDistribution.objective_mc_min_fuel_cost_pwl_switch
— MethodPowerModelsDistribution.objective_mc_min_fuel_cost_switch
— MethodPowerModelsDistribution.objective_mc_min_load_setpoint_delta
— Methodminimum load delta objective (continuous load shed) with storage
PowerModelsDistribution.objective_mc_min_load_setpoint_delta_simple
— Methodsimplified minimum load delta objective (continuous load shed)
PowerModelsDistribution.objective_mc_min_load_setpoint_delta_simple_switch
— Methodsimplified minimum load delta objective (continuous load shed)
PowerModelsDistribution.objective_mc_min_slack_bus_power
— Methoda quadratic penalty for bus power slack variables
PowerModelsDistribution.objective_mc_variable_pg_cost
— Functionadds pg_cost variables and constraints
PowerModelsDistribution.objective_variable_pg_cost
— Methodadds pg_cost variables and constraints
PowerModelsDistribution.parse_dss
— MethodPowerModelsDistribution.parse_dss
— MethodParses a OpenDSS file given by filename
into a Dict{Array{Dict}}. Only supports components and options, but not commands, e.g. "plot" or "solve". Will also parse files defined inside of the originating DSS file via the "compile", "redirect" or "buscoords" commands.
PowerModelsDistribution.parse_file
— Functionparse_file(io)
Parses the IOStream of a file into a PowerModelsDistribution data structure.
PowerModelsDistribution.parse_file
— MethodPowerModelsDistribution.parse_json
— MethodParses a JSON file into a PowerModelsDistribution data structure
PowerModelsDistribution.parse_json
— MethodParses a JSON file into a PowerModelsDistribution data structure
PowerModelsDistribution.parse_opendss
— MethodParses a Dict resulting from the parsing of a DSS file into a PowerModels usable format
PowerModelsDistribution.parse_opendss
— MethodParses a DSS file into a PowerModels usable format
PowerModelsDistribution.print_file
— Methodprints a PowerModelsDistribution data structure into a JSON file
PowerModelsDistribution.print_file
— Methodprints a PowerModelsDistribution data structure into a JSON file
PowerModelsDistribution.ref_add_arcs_switch!
— MethodAdds arcs for PowerModelsDistribution transformers; for dclines and branches this is done in PowerModels
PowerModelsDistribution.ref_add_arcs_transformer!
— MethodAdds arcs for PowerModelsDistribution transformers; for dclines and branches this is done in PowerModels
PowerModelsDistribution.ref_add_connections!
— MethodPowerModelsDistribution.ref_calc_storage_injection_bounds
— Methodcomputes storage bounds
PowerModelsDistribution.relaxation_psd_to_psd_real
— MethodFor debugging / exploration: real-valued SDP to SDP relaxation based on PSDness of principal minors, default is 3x3 SDP relaxation
PowerModelsDistribution.relaxation_psd_to_soc
— MethodSee section 4.3 for complex to real PSD constraint transformation: @article{Fazel2001, author = {Fazel, M. and Hindi, H. and Boyd, S.P.}, title = {{A rank minimization heuristic with application to minimum order system approximation}}, doi = {10.1109/ACC.2001.945730}, journal = {Proc. American Control Conf.}, number = {2}, pages = {4734–4739}, url = {http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=945730}, volume = {6}, year = {2001} }
PowerModelsDistribution.relaxation_psd_to_soc_complex
— MethodSDP to SOC relaxation of type 2, applied to complex-value matrix, as described in:
@article{Kim2003,
author = {Kim, S and Kojima, M and Yamashita, M},
title = {{Second order cone programming relaxation of a positive semidefinite constraint}},
doi = {10.1080/1055678031000148696},
journal = {Optimization Methods and Software},
number = {5},
pages = {535--541},
volume = {18},
year = {2003}
}
PowerModelsDistribution.relaxation_psd_to_soc_complex_conic
— MethodSDP to SOC relaxation of type 2, applied to complex-value matrix, as described in:
@article{Kim2003,
author = {Kim, S and Kojima, M and Yamashita, M},
title = {{Second order cone programming relaxation of a positive semidefinite constraint}},
doi = {10.1080/1055678031000148696},
journal = {Optimization Methods and Software},
number = {5},
pages = {535--541},
volume = {18},
year = {2003}
}
PowerModelsDistribution.relaxation_psd_to_soc_conic
— MethodSee section 4.3 for complex to real PSD constraint transformation: @article{Fazel2001, author = {Fazel, M. and Hindi, H. and Boyd, S.P.}, title = {{A rank minimization heuristic with application to minimum order system approximation}}, doi = {10.1109/ACC.2001.945730}, journal = {Proc. American Control Conf.}, number = {2}, pages = {4734–4739}, url = {http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=945730}, volume = {6}, year = {2001} }
PowerModelsDistribution.relaxation_psd_to_soc_real
— MethodSDP to SOC relaxation of type 2, applied to real-value matrix, as described in:
@article{Kim2003,
author = {Kim, S and Kojima, M and Yamashita, M},
title = {{Second order cone programming relaxation of a positive semidefinite constraint}},
doi = {10.1080/1055678031000148696},
journal = {Optimization Methods and Software},
number = {5},
pages = {535--541},
volume = {18},
year = {2003}
}
PowerModelsDistribution.relaxation_psd_to_soc_real_conic
— MethodSDP to SOC relaxation of type 2, applied to real-value matrix, as described in:
@article{Kim2003,
author = {Kim, S and Kojima, M and Yamashita, M},
title = {{Second order cone programming relaxation of a positive semidefinite constraint}},
doi = {10.1080/1055678031000148696},
journal = {Optimization Methods and Software},
number = {5},
pages = {535--541},
volume = {18},
year = {2003}
}
PowerModelsDistribution.remove_all_bounds!
— Methodremoves all fields ending in 'ub' or 'lb'
PowerModelsDistribution.run_ac_mc_opf
— Methoddepreciation warning for runacmc_opf
PowerModelsDistribution.run_ac_mc_opf_oltc
— Methoddepreciation warning for runacmcopfoltc
PowerModelsDistribution.run_ac_mc_pf
— MethodPower Flow problem with ACPPowerModel
PowerModelsDistribution.run_mc_mld
— Methoddepreciation warning for runmcmld
PowerModelsDistribution.run_mc_mld_bf
— Methoddepreciation warning for runmcmld_bf
PowerModelsDistribution.run_mc_mld_uc
— Methoddepreciation warning for runmcmld_uc
PowerModelsDistribution.run_mc_model
— Methoddepreciation message for runmcmodel
PowerModelsDistribution.run_mc_opf
— Methoddepreciation warning for runmcopf
PowerModelsDistribution.run_mc_opf_oltc
— Methoddepreciation warning for runmcopf_oltc
PowerModelsDistribution.run_mc_opf_pbs
— Methoddepreciation message for runmcopf_pbs
PowerModelsDistribution.run_mc_pf
— MethodPower Flow Problem
PowerModelsDistribution.run_mc_pf_pbs
— Methoddepreciation message for runmcopf_pbs
PowerModelsDistribution.run_mn_mc_mld_simple
— Methoddepreciation warning for runmnmcmldsimple
PowerModelsDistribution.run_mn_mc_opf
— Methoddepreciation warning for runmnmc_opf
PowerModelsDistribution.set_lower_bound
— MethodLocal wrapper method for JuMP.setlowerbound, which skips NaN and infinite (-Inf only)
PowerModelsDistribution.set_upper_bound
— MethodLocal wrapper method for JuMP.setupperbound, which skips NaN and infinite (+Inf only)
PowerModelsDistribution.sol_data_model!
— MethodPowerModelsDistribution.sol_data_model!
— Methodconverts the solution data into the data model's standard space, polar voltages and rectangular power
PowerModelsDistribution.sol_data_model!
— MethodPowerModelsDistribution.sol_polar_voltage!
— MethodPowerModelsDistribution.solution_make_si
— MethodPowerModelsDistribution.solve_mc_mld
— MethodSolve load shedding problem with storage
PowerModelsDistribution.solve_mc_mld_uc
— MethodSolve unit commitment load shedding problem (!relaxed)
PowerModelsDistribution.solve_mc_model
— Methodalias to run_model in PowerModels with multiconductor=true, and transformer ref extensions added by default
PowerModelsDistribution.solve_mc_model
— Methodalias to run_model in PowerModels with multiconductor=true, and transformer ref extensions added by default
PowerModelsDistribution.solve_mc_opf
— MethodSolve Optimal Power Flow
PowerModelsDistribution.solve_mc_opf_oltc
— MethodSolve on-load tap-changer OPF
PowerModelsDistribution.solve_mc_opf_pbs
— MethodSolve OPF problem with slack power at every bus
PowerModelsDistribution.solve_mc_pf
— MethodPower Flow Problem
PowerModelsDistribution.solve_mc_pf_pbs
— MethodSolve PF problem with slack power at every bus
PowerModelsDistribution.solve_mn_mc_mld_simple
— MethodSolve multinetwork load shedding problem with storage
PowerModelsDistribution.solve_mn_mc_opf
— MethodSolve multinetwork optimal power flow problem
PowerModelsDistribution.transform_data_model
— Methodtransforms model between engineering (high-level) and mathematical (low-level) models
PowerModelsDistribution.transform_solution
— MethodPowerModelsDistribution.variable_mc_branch_current
— MethodPowerModelsDistribution.variable_mc_branch_current
— MethodPowerModelsDistribution.variable_mc_branch_current
— MethodPowerModelsDistribution.variable_mc_branch_current_imaginary
— Methodvariable: ci[l,i,j]
for (l,i,j)
in arcs
PowerModelsDistribution.variable_mc_branch_current_real
— Methodvariable: cr[l,i,j]
for (l,i,j)
in arcs
PowerModelsDistribution.variable_mc_branch_current_series_imaginary
— Methodvariable: csi[l]
for l
in branch
PowerModelsDistribution.variable_mc_branch_current_series_real
— Methodvariable: csr[l]
for l
in branch
PowerModelsDistribution.variable_mc_branch_flow_ne_reactive
— Methodapo models ignore reactive power flows
PowerModelsDistribution.variable_mc_branch_power
— MethodPowerModelsDistribution.variable_mc_branch_power
— Methodbranch flow variables, delegated back to PowerModels
PowerModelsDistribution.variable_mc_branch_power
— MethodPowerModelsDistribution.variable_mc_branch_power_imaginary
— Methodapo models ignore reactive power flows
PowerModelsDistribution.variable_mc_branch_power_imaginary
— Methodvariable: q[l,i,j]
for (l,i,j)
in arcs
PowerModelsDistribution.variable_mc_branch_power_real
— Methodvariable: p[l,i,j]
for (l,i,j)
in arcs
PowerModelsDistribution.variable_mc_branch_power_real
— MethodPowerModelsDistribution.variable_mc_bus_voltage
— MethodPowerModelsDistribution.variable_mc_bus_voltage
— MethodPowerModelsDistribution.variable_mc_bus_voltage
— MethodPowerModelsDistribution.variable_mc_bus_voltage
— MethodPowerModelsDistribution.variable_mc_bus_voltage
— MethodPowerModelsDistribution.variable_mc_bus_voltage
— Methodnothing to do, these models do not have complex voltage variables
PowerModelsDistribution.variable_mc_bus_voltage
— MethodPowerModelsDistribution.variable_mc_bus_voltage_angle
— MethodPowerModelsDistribution.variable_mc_bus_voltage_imaginary
— MethodPowerModelsDistribution.variable_mc_bus_voltage_imaginary_on_off
— MethodPowerModelsDistribution.variable_mc_bus_voltage_indicator
— MethodCreate variables for bus status
PowerModelsDistribution.variable_mc_bus_voltage_magnitude_on_off
— Methodon/off voltage magnitude variable
PowerModelsDistribution.variable_mc_bus_voltage_magnitude_only
— MethodPowerModelsDistribution.variable_mc_bus_voltage_magnitude_sqr
— Methodvariable: w[i] >= 0
for i
in `buses
PowerModelsDistribution.variable_mc_bus_voltage_magnitude_sqr_on_off
— Methodvoltage variable magnitude squared (relaxed form)
PowerModelsDistribution.variable_mc_bus_voltage_on_off
— MethodCreate voltage variables for branch flow model
PowerModelsDistribution.variable_mc_bus_voltage_on_off
— MethodPowerModelsDistribution.variable_mc_bus_voltage_on_off
— MethodPowerModelsDistribution.variable_mc_bus_voltage_on_off
— MethodPowerModelsDistribution.variable_mc_bus_voltage_prod_hermitian
— MethodPowerModelsDistribution.variable_mc_bus_voltage_real
— MethodPowerModelsDistribution.variable_mc_bus_voltage_real_on_off
— MethodPowerModelsDistribution.variable_mc_gen_indicator
— MethodCreate variables for generator status
PowerModelsDistribution.variable_mc_generator_current
— MethodPowerModelsDistribution.variable_mc_generator_current
— MethodFor the matrix KCL formulation, the generator needs an explicit current variable.
PowerModelsDistribution.variable_mc_generator_current_imaginary
— Methodvariable: cig[j]
for j
in gen
PowerModelsDistribution.variable_mc_generator_current_real
— Methodvariable: crg[j]
for j
in gen
PowerModelsDistribution.variable_mc_generator_power
— Methodcreate variables for generators, delegate to PowerModels
PowerModelsDistribution.variable_mc_generator_power
— MethodFor the matrix KCL formulation, the generator needs an explicit current and power variable.
PowerModelsDistribution.variable_mc_generator_power_imaginary
— Methodapo models ignore reactive power flows
PowerModelsDistribution.variable_mc_generator_power_imaginary
— MethodPowerModelsDistribution.variable_mc_generator_power_imaginary_on_off
— Methodapo models ignore reactive power flows
PowerModelsDistribution.variable_mc_generator_power_mx
— MethodFor the matrix KCL formulation, the generator needs an explicit power variable.
PowerModelsDistribution.variable_mc_generator_power_real
— MethodPowerModelsDistribution.variable_mc_load_current
— MethodPowerModelsDistribution.variable_mc_load_current
— MethodAll loads need a current variable; for wye loads, this variable will be in the wye reference frame whilst for delta currents it will be in the delta reference frame.
PowerModelsDistribution.variable_mc_load_indicator
— MethodCreate variables for demand status
PowerModelsDistribution.variable_mc_load_power
— MethodCreate a dictionary with values of type Any for the load. Depending on the load model, this can be a parameter or a NLexpression. These will be inserted into KCL.
PowerModelsDistribution.variable_mc_load_power
— MethodThe variable creation for the loads is rather complicated because Expressions are used wherever possible instead of explicit variables. All loads need a current variable; for wye loads, this variable will be in the wye reference frame whilst for delta currents it will be in the delta reference frame. All loads need variables for the off-diagonals of the nodal power variables. In some cases, the diagonals elements can be created as Expressions. Delta loads only need a current variable and auxilary power variable (X), and all other load model variables are then linear transformations of these (linear Expressions).
PowerModelsDistribution.variable_mc_load_power
— MethodThese variables reflect the power consumed by the load, NOT the power injected into the bus nodes; these variables only coincide for wye-connected loads with a grounded neutral.
PowerModelsDistribution.variable_mc_load_power
— MethodThe variable creation for the loads is rather complicated because Expressions are used wherever possible instead of explicit variables. Delta loads always need a current variable and auxilary power variable (X), and all other load model variables are then linear transformations of these (linear Expressions). Wye loads however, don't need any variables when the load is modelled as constant power or constant impedance. In all other cases (e.g. when a cone is used to constrain the power), variables need to be created.
PowerModelsDistribution.variable_mc_load_power_bus
— MethodThe bus qualifier denotes that this is the power withdrawn at the bus; Only for grounded wye-connected loads, this is the same as the power consumed by the multi-phase load. The off-diagonals only need to be created for the matrix KCL formulation.
PowerModelsDistribution.variable_mc_load_power_delta_aux
— MethodCreates power matrix variable X for delta windings; this defines both the wye-side power Sy and the delta-side power Sd through the lin. transformations Sy = X.Td, Sd = Td.X with Td=[1 -1 0; 0 1 -1; -1 0 1]
See the paper by Zhao et al. for the first convex relaxation of delta transformations. @INPROCEEDINGS{zhaooptimal2017, author={C. Zhao, E. Dall'Anese and S. Low}, booktitle={IREP 2017 Bulk Power Systems Dynamics and Control Symposium}, title={{Optimal Power Flow in Multiphase Radial Networks with Delta Connections}}, year={2017}, month={}, url={https://www.nrel.gov/docs/fy18osti/67852.pdf} }
See upcoming paper for discussion of bounds. [reference added when accepted]
PowerModelsDistribution.variable_mc_oltc_transformer_tap
— MethodCreate tap variables.
PowerModelsDistribution.variable_mc_shunt_indicator
— MethodCreate variables for shunt status
PowerModelsDistribution.variable_mc_slack_bus_power
— Methodgenerates variables for both active
and reactive
slack at each bus
PowerModelsDistribution.variable_mc_slack_bus_power_imaginary
— MethodPowerModelsDistribution.variable_mc_slack_bus_power_real
— MethodPowerModelsDistribution.variable_mc_storage_current
— Methoddo nothing by default but some formulations require this
PowerModelsDistribution.variable_mc_storage_current
— Methoddo nothing by default but some formulations require this
PowerModelsDistribution.variable_mc_storage_indicator
— MethodCreate variables for storage status
PowerModelsDistribution.variable_mc_storage_power
— Methodvariables for modeling storage units, includes grid injection and internal variables
PowerModelsDistribution.variable_mc_storage_power_control_imaginary
— Methoda reactive power slack variable that enables the storage device to inject or consume reactive power at its connecting bus, subject to the injection limits of the device.
PowerModelsDistribution.variable_mc_storage_power_control_imaginary_on_off
— Methoda reactive power slack variable that enables the storage device to inject or consume reactive power at its connecting bus, subject to the injection limits of the device.
PowerModelsDistribution.variable_mc_storage_power_imaginary
— Methodapo models ignore reactive power flows
PowerModelsDistribution.variable_mc_storage_power_imaginary
— MethodPowerModelsDistribution.variable_mc_storage_power_imaginary_on_off
— Methodapo models ignore reactive power flows
PowerModelsDistribution.variable_mc_storage_power_imaginary_on_off
— MethodCreate variables for reactive
storage injection
PowerModelsDistribution.variable_mc_storage_power_mi
— MethodPowerModelsDistribution.variable_mc_storage_power_mi_on_off
— MethodPowerModelsDistribution.variable_mc_storage_power_on_off
— MethodCreate variables for active
and reactive
storage injection
PowerModelsDistribution.variable_mc_storage_power_real
— MethodPowerModelsDistribution.variable_mc_storage_power_real_on_off
— MethodCreate variables for active
storage injection
PowerModelsDistribution.variable_mc_switch_current
— MethodPowerModelsDistribution.variable_mc_switch_current_imaginary
— MethodPowerModelsDistribution.variable_mc_switch_current_real
— MethodPowerModelsDistribution.variable_mc_switch_power
— MethodPowerModelsDistribution.variable_mc_switch_power_imaginary
— MethodPowerModelsDistribution.variable_mc_switch_power_real
— MethodPowerModelsDistribution.variable_mc_switch_state
— MethodPowerModelsDistribution.variable_mc_transformer_current
— MethodPowerModelsDistribution.variable_mc_transformer_current_imaginary
— Methodvariable: ci[l,i,j]
for (l,i,j)
in arcs
PowerModelsDistribution.variable_mc_transformer_current_real
— Methodvariable: cr[l,i,j]
for (l,i,j)
in arcs
PowerModelsDistribution.variable_mc_transformer_power
— MethodCreates variables for both active
and reactive
power flow at each transformer.
PowerModelsDistribution.variable_mc_transformer_power_imaginary
— Methodapo models ignore reactive power flows
PowerModelsDistribution.variable_mc_transformer_power_imaginary
— MethodCreate variables for the reactive power flowing into all transformer windings.
PowerModelsDistribution.variable_mc_transformer_power_real
— MethodCreate variables for the active power flowing into all transformer windings.
PowerModelsDistribution.variable_mc_transformer_power_real
— MethodCreate variables for the active power flowing into all transformer windings
PowerModelsDistribution.variable_mx_complex
— MethodShorthand to create two real matrix variables, where the first is the real part and the second the imaginary part. If the name argument is a String, it will be suffixed with 're' and 'im'. It is possible to specify the names of the real and imaginary part directly as a Tuple as well (to achieve P and Q instead of Sre and Sim for example).
PowerModelsDistribution.variable_mx_complex_with_diag
— MethodSame as variablemxcomplex, but square and the diagonal of the matrix variables consists of the constants passed as the diagre and diagim argument. The diag argument is a dictionary of (index, 1d-array) pairs. Useful for power matrices with specified diagonals (constant power wye loads).
PowerModelsDistribution.variable_mx_hermitian
— MethodReturns a pair of symmetric and skew-symmetric matrix variables.
PowerModelsDistribution.variable_mx_real
— MethodThis function creates a set of real matrix variables of size NxM, indexed over the elements of the indices argument. The upper and lower bounds have to be specified, and are dictionaries with the indices as keys and the matrix bounds as values. The name and prefix arguments will be combined into the base_name argument for JuMP; the prefix will typically be the network number nw. Instead of sequentially creating the matrix variables, the elements of the matrices are created sequentially for all matrices at once. I.e., we loop over the elements, and not over the indices. This is needed so that the variable names printed by JuMP are in line with the current design.
Returns a dictionary of (index, matrix variable) pairs
PowerModelsDistribution.variable_mx_real_skewsymmetric
— MethodSame as variablemxreal, but adds skew-symmetry structure.
PowerModelsDistribution.variable_mx_real_symmetric
— MethodSame as variablemxreal, but adds symmetry structure
PowerModelsDistribution.variable_mx_real_with_diag
— MethodSame as variablemxreal, but has to be square and the diagonal of the matrix variables consists of the elements passed as the diag argument. The diag argument is a dictionary of (index, 1d-array) pairs. Useful for power matrices with specified diagonals (constant power wye loads). If not specified, the diagonal elements are set to zero.