diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 3cd3c5d..13e6de7 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2023-11-28T15:33:35","documenter_version":"1.1.2"}} \ No newline at end of file +{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2023-11-28T15:57:27","documenter_version":"1.1.2"}} \ No newline at end of file diff --git a/dev/developer/contributing.html b/dev/developer/contributing.html index d8a2f90..e84cacc 100644 --- a/dev/developer/contributing.html +++ b/dev/developer/contributing.html @@ -1,2 +1,2 @@ -Contributing · PowerModelsITD.jl

Contributing

Pull Requests

All pull requests should be reviewed by a core developer, and may include a review by a subject matter expert if the area of the PR is outside that of one of the core developers. In that case, the core developers will primarily review style and design, rather than substance.

Every PR to PowerModelsITD should strive to meet the following guidelines.

PR Title

  • Should be concise and clear, describing in a phrase the content of the PR
  • Should include a prefix that describes the primary type of the PR
    • ADD: feature addition
    • FIX: bugfix
    • REF: refactor
    • UPD: updates to code for e.g. version bumps of dependencies
    • STY: style changes, no changes to function names, added features, etc.
    • DOC: documentation-only additions/changes
    • RM: dead code removal

PR Body

  • If the change is breaking, it should be clearly stated up front
  • The purpose of this PR should be clearly stated right away
  • Major changes / additions to the code should be summarized. In the case where a refactor was performed, the name changes of public functions should be documented in the body of the PR
  • Any associated Issues should be referenced in the body of the PR, and it is accepted/encouraged to use Closes #XX to automatically close Issues after the PR is merged

PR Code

  • An entry should be added to CHANGELOG.md for every PR
  • Documentation should be updated (See Documentation section above for guidelines)
  • Unit tests should be added. In the case where existing unit tests were altered, an explanation for the change must be included
  • Code should be rebased to the latest version of whatever branch the PR is aimed at (no merge conflicts!)

Versions

PowerModelsITD follows the Semantic Versioning (SemVer) convention of Major.minor.patch, where Major indicates breaking changes, minor indicates non-breaking feature additions, and patch indicates non-breaking bugfixes.

Currently, because Major==0, minor indicates breaking changes and patch indicates any non-breaking change, including both feature additions and bugfixes. Once PowerModelsITD reaches v1.0.0, we will adhere strictly to the SemVer convention.

Branch Management

The main branch is a protected branch, meaning that its history will always be contiguous and can never be overwritten.

Release candidate branches of the format vM.m.0-rc are also protected branches. These branches will contain only breaking changes and will not be merged into main until a new version is ready to be tagged. Pull requests including breaking changes should be directed into the next release candidate branch available, e.g. if the current version of the package is v0.9.0, the next release candidate branch will be v0.10.0-rc.

Pull requests that include only non-breaking changes can be merged directly into main once approved, and in the case of merge conflicts arising for release candidate branches, the -rc branch will need to be updated to include the latest main.

Pull requests will generally be merged using squash and merge into the branch they are aimed at, with the exception of release candidate branches, which generally be merged using rebase and merge into main.

+Contributing · PowerModelsITD.jl

Contributing

Pull Requests

All pull requests should be reviewed by a core developer, and may include a review by a subject matter expert if the area of the PR is outside that of one of the core developers. In that case, the core developers will primarily review style and design, rather than substance.

Every PR to PowerModelsITD should strive to meet the following guidelines.

PR Title

  • Should be concise and clear, describing in a phrase the content of the PR
  • Should include a prefix that describes the primary type of the PR
    • ADD: feature addition
    • FIX: bugfix
    • REF: refactor
    • UPD: updates to code for e.g. version bumps of dependencies
    • STY: style changes, no changes to function names, added features, etc.
    • DOC: documentation-only additions/changes
    • RM: dead code removal

PR Body

  • If the change is breaking, it should be clearly stated up front
  • The purpose of this PR should be clearly stated right away
  • Major changes / additions to the code should be summarized. In the case where a refactor was performed, the name changes of public functions should be documented in the body of the PR
  • Any associated Issues should be referenced in the body of the PR, and it is accepted/encouraged to use Closes #XX to automatically close Issues after the PR is merged

PR Code

  • An entry should be added to CHANGELOG.md for every PR
  • Documentation should be updated (See Documentation section above for guidelines)
  • Unit tests should be added. In the case where existing unit tests were altered, an explanation for the change must be included
  • Code should be rebased to the latest version of whatever branch the PR is aimed at (no merge conflicts!)

Versions

PowerModelsITD follows the Semantic Versioning (SemVer) convention of Major.minor.patch, where Major indicates breaking changes, minor indicates non-breaking feature additions, and patch indicates non-breaking bugfixes.

Currently, because Major==0, minor indicates breaking changes and patch indicates any non-breaking change, including both feature additions and bugfixes. Once PowerModelsITD reaches v1.0.0, we will adhere strictly to the SemVer convention.

Branch Management

The main branch is a protected branch, meaning that its history will always be contiguous and can never be overwritten.

Release candidate branches of the format vM.m.0-rc are also protected branches. These branches will contain only breaking changes and will not be merged into main until a new version is ready to be tagged. Pull requests including breaking changes should be directed into the next release candidate branch available, e.g. if the current version of the package is v0.9.0, the next release candidate branch will be v0.10.0-rc.

Pull requests that include only non-breaking changes can be merged directly into main once approved, and in the case of merge conflicts arising for release candidate branches, the -rc branch will need to be updated to include the latest main.

Pull requests will generally be merged using squash and merge into the branch they are aimed at, with the exception of release candidate branches, which generally be merged using rebase and merge into main.

diff --git a/dev/developer/roadmap.html b/dev/developer/roadmap.html index fa0c43b..849df37 100644 --- a/dev/developer/roadmap.html +++ b/dev/developer/roadmap.html @@ -1,2 +1,2 @@ -Roadmap · PowerModelsITD.jl
+Roadmap · PowerModelsITD.jl
diff --git a/dev/developer/style.html b/dev/developer/style.html index 709bca0..dc86521 100644 --- a/dev/developer/style.html +++ b/dev/developer/style.html @@ -1,4 +1,4 @@ Style Guide · PowerModelsITD.jl

Style Conventions

In general, the following conventions should be adhered to when making changes or additions to the code base. These conventions should include any conventions applied across the InfrastructureModels ecosystem specific to power engineering (i.e conventions from InfrastructureModels, PowerModels, PowerModelsDistribution, etc.) with some additions specific to PowerModelsITD.

Functions

Function additions should meeting the following criteria:

  • All functions should be clearly named, without abbreviations, and with underscores between words, e.g. parse_files or constraint_boundary_voltage_angle; in Python this is known as lower_case_with_underscores. The exception to the abbreviate rule is cases where abbreviations would be expected in the modeling of power systems.
  • All functions that are not prepended by an underscore _ will be exported by default (i.e. when a user uses using PowerModelsITD). Public functions should have a detailed docstring instructing on usage
  • All functions that modify data in place should end with an exclamation point ! and the function input that is being modified should be the first argument (or first arguments in the case where multiple inputs are being modified in place). The exceptions to this rule are constraint and variable creation functions (i.e. those functions related to JuMP model creation), which do not include the exclaimation point
  • All function arguments, including keyword arguments, should have their types specified.
  • Private functions, i.e. those intended to be for internal use only, should follow the same descriptive naming conventions as functions exported by default, and should always include docstrings to describe their purpose.
  • Functions should be separated by two blank lines
"this function demonstrates how an internal, in-place data altering function should be defined"
 function _concise_descriptive_name!(data::Dict{String,<:Any}, a::Real, b::Vector{<:Real}, c::Matrix{<:Complex}; d::Bool=false, e::Vector{Function}=Function[])
-end

Types & Enums

When specifying types, i.e. when specifying the type of a function argument, or creating enums, these guidelines are recommended:

  • Prefer to use Vector{T} instead of Array{T,1}
  • Prefer to use Matrix{T} instead of Array{T,2}
  • Enums must be added to the JSON parser when introduced

Constants

Whenever possible, const should be used to eliminate unnecesary re-evaluations of code, and every const should have a docstring, whether internal or public.

JuMP Variables and Constraints

For functions that create JuMP variables and constraints in particular, we follow the following naming convention as originally adopted by PowerModels:

<jump macro id>(_<phase variant>)_<comp short name>_<quantity name>(_real|_imaginary|_magnitude|_angle|_factor)(_fr|_to)(_sqr)(_on_off)

in the interest of intuitive names for users, the following special cases are also acceptable,

  • _power_real -(can be replaced with)-> _active
  • _power_imaginary -(can be replaced with)-> _reactive

Formulation Styles

  • All new formulations should have clear error messages when they do not support existing components. For example, if a formulation addition which is intended to work with OPF does not support delta-wye transformers, the constraint_mc_transformer_power_dy
  • Formulation abstract type and mutable struct must be specified in CapitalizedWords, which is a subtype of camelCase with the first word also capitalized.

Problem Specification Styles

  • If a new problem specification is only needed due to the requirements of a new formulation, and is not a new type of problem, e.g. another OPF formulation, a build_ function with the same name as the existing formulation should be created that accepts a specific PowerModel (multiple dispatch)
  • If a new problem specification is a new type of problem that will e.g. accept multiple formulations, new build_ and solve_ functions should be created that do not collide with existing problem specification functions

Metaprogramming

In general, it is better to avoid metaprogramming patterns, like creating functions algorithmically, in order to aid in the debugging of code. Metaprogramming can create significant challenges in interpreting stacktraces upon errors.

Markdown

Markdown files should be properly formatted, particularly when including tables. Developers are encouraged to use markdownlint and a markdown formatter (such as in VSCode).

File Structure

It is important that new functions, variables, constraints, etc. all go into appropriate places in the code base so that future maintenance and debugging is easier. Pay attention to the current file structure and attempt to conform as best as possible to it. In general

  • src/core contains the core logic of the package, including variable creation and constraint templates, i.e. things that are agnostic to the formulation
  • src/form contains formulation specific variable and constraint functions, organized under separate files for different formulations
  • src/prob contains problem specification-related functions, organized under separate files for different problem specifications
  • src/io contains all of the tools to parse and save files
  • docs/src contains all source markdown files for the documentation
  • examples contains Jupyter notebooks with walkthroughs of PowerModelsITD for new users
  • test/data contains all data related to example and unit test cases
  • test/ contains files with unit test cases

Dependencies (Project.toml)

All new dependencies should be carefully considered before being added. It is important to keep the number of external dependencies low to avoid reliance on features that may not be maintained in the future. If possible, Julia Standard Library should be used, particularly in the case where reproducing the desired feature is trivial. There will be cases where it is not simple to duplicate a feature and subsequently maintain it within the package, so adding a dependency would be appropriate in such cases.

All new dependencies are are ultimately approved should also include an entry under [compat] indicating the acceptable versions (Julia automerge requirement). This includes test-only dependencies that appear under [extras]

The Manifest.toml should not be included in the repo.

+end

Types & Enums

When specifying types, i.e. when specifying the type of a function argument, or creating enums, these guidelines are recommended:

Constants

Whenever possible, const should be used to eliminate unnecesary re-evaluations of code, and every const should have a docstring, whether internal or public.

JuMP Variables and Constraints

For functions that create JuMP variables and constraints in particular, we follow the following naming convention as originally adopted by PowerModels:

<jump macro id>(_<phase variant>)_<comp short name>_<quantity name>(_real|_imaginary|_magnitude|_angle|_factor)(_fr|_to)(_sqr)(_on_off)

in the interest of intuitive names for users, the following special cases are also acceptable,

Formulation Styles

Problem Specification Styles

Metaprogramming

In general, it is better to avoid metaprogramming patterns, like creating functions algorithmically, in order to aid in the debugging of code. Metaprogramming can create significant challenges in interpreting stacktraces upon errors.

Markdown

Markdown files should be properly formatted, particularly when including tables. Developers are encouraged to use markdownlint and a markdown formatter (such as in VSCode).

File Structure

It is important that new functions, variables, constraints, etc. all go into appropriate places in the code base so that future maintenance and debugging is easier. Pay attention to the current file structure and attempt to conform as best as possible to it. In general

Dependencies (Project.toml)

All new dependencies should be carefully considered before being added. It is important to keep the number of external dependencies low to avoid reliance on features that may not be maintained in the future. If possible, Julia Standard Library should be used, particularly in the case where reproducing the desired feature is trivial. There will be cases where it is not simple to duplicate a feature and subsequently maintain it within the package, so adding a dependency would be appropriate in such cases.

All new dependencies are are ultimately approved should also include an entry under [compat] indicating the acceptable versions (Julia automerge requirement). This includes test-only dependencies that appear under [extras]

The Manifest.toml should not be included in the repo.

diff --git a/dev/index.html b/dev/index.html index ab96364..23faf21 100644 --- a/dev/index.html +++ b/dev/index.html @@ -7,4 +7,4 @@ volume={}, number={}, pages={1-14}, - doi={10.1109/TPWRS.2023.3234725}}

Acknowledgments

This code has been developed with the support of the Grant: "Optimized Resilience for Distribution and Transmission Systems" funded by the U.S. Department of Energy (DOE) Office of Electricity (OE) Advanced Grid Modeling (AGM) Research Program under program manager Ali Ghassemian. The research work conducted at Los Alamos National Laboratory is done under the auspices of the National Nuclear Security Administration of the U.S. Department of Energy under Contract No. 89233218CNA000001. The primary developers are Juan Ospina (@juanjospina) and David Fobes (@pseudocubic).

License

This code is provided under a BSD license as part of the Multi-Infrastructure Control and Optimization Toolkit (MICOT) project, LA-CC-13-108.

+ doi={10.1109/TPWRS.2023.3234725}}

Acknowledgments

This code has been developed with the support of the Grant: "Optimized Resilience for Distribution and Transmission Systems" funded by the U.S. Department of Energy (DOE) Office of Electricity (OE) Advanced Grid Modeling (AGM) Research Program under program manager Ali Ghassemian. The research work conducted at Los Alamos National Laboratory is done under the auspices of the National Nuclear Security Administration of the U.S. Department of Energy under Contract No. 89233218CNA000001. The primary developers are Juan Ospina (@juanjospina) and David Fobes (@pseudocubic).

License

This code is provided under a BSD license as part of the Multi-Infrastructure Control and Optimization Toolkit (MICOT) project, LA-CC-13-108.

diff --git a/dev/installation.html b/dev/installation.html index bb01ade..0c7f477 100644 --- a/dev/installation.html +++ b/dev/installation.html @@ -1,4 +1,4 @@ Installation Guide · PowerModelsITD.jl

Installation Guide

From Julia, PowerModelsITD.jl is installed using the built-in package manager:

import Pkg
 Pkg.add("PowerModelsITD")

Or, within the Julia REPL:

]add PowerModelsITD

Installing an Optimizer

PowerModelsITD.jl depends on optimizers to solve Optimization problems, e.g., solve_opfitd. The table below lists the optimizer packages that have been tested with PowerModelsITD.jl, and have been found to work by the team; this list is not exhaustive, there are probably more optimizers that will work.

Install an optimizer using the Julia Package Manager, e.g.,

import Pkg
-Pkg.add("Ipopt")

Known Working Optimizers

The table below contains a truncated list of optimizers from the JuMP documentation that have been used by the development team and are confirmed to work with our package. There may be other Optimizers that work, and the Optimizers listed below are not guaranteed to work with all problems; they must be selected for the appropriate problems.

SolverJulia PackageInstallationLicenseSupports
Artelys KnitroKNITRO.jlManualComm.(MI)LP, (MI)SOCP, (MI)NLP
CbcCbc.jlEPL(MI)LP
CPLEXCPLEX.jlManualComm.(MI)LP, (MI)SOCP
GurobiGurobi.jlManualComm.(MI)LP, (MI)SOCP
IpoptIpopt.jlEPLLP, QP, NLP
Juniper.jlJuniper.jlMIT(MI)SOCP, (MI)NLP
SCSSCS.jlMITLP, SOCP, SDP

Where:

  • LP = Linear programming
  • QP = Quadratic programming
  • SOCP = Second-order conic programming (including problems with convex quadratic constraints and/or objective)
  • NLP = Nonlinear programming
  • SDP = Semidefinite programming
  • (MI)XXX = Mixed-integer equivalent of problem type XXX

For a complete list of JuMP supported optimizers, see JuMP Documentation.

Unsatisfiable requirements detected

Did you get an error like Unsatisfiable requirements detected for package D [756980fe]:?

The Pkg documentation has a section on how to understand and manage these conflicts.

+Pkg.add("Ipopt")

Known Working Optimizers

The table below contains a truncated list of optimizers from the JuMP documentation that have been used by the development team and are confirmed to work with our package. There may be other Optimizers that work, and the Optimizers listed below are not guaranteed to work with all problems; they must be selected for the appropriate problems.

SolverJulia PackageInstallationLicenseSupports
Artelys KnitroKNITRO.jlManualComm.(MI)LP, (MI)SOCP, (MI)NLP
CbcCbc.jlEPL(MI)LP
CPLEXCPLEX.jlManualComm.(MI)LP, (MI)SOCP
GurobiGurobi.jlManualComm.(MI)LP, (MI)SOCP
IpoptIpopt.jlEPLLP, QP, NLP
Juniper.jlJuniper.jlMIT(MI)SOCP, (MI)NLP
SCSSCS.jlMITLP, SOCP, SDP

Where:

For a complete list of JuMP supported optimizers, see JuMP Documentation.

Unsatisfiable requirements detected

Did you get an error like Unsatisfiable requirements detected for package D [756980fe]:?

The Pkg documentation has a section on how to understand and manage these conflicts.

diff --git a/dev/manual/fileformat.html b/dev/manual/fileformat.html index 388cc12..04fd5ef 100644 --- a/dev/manual/fileformat.html +++ b/dev/manual/fileformat.html @@ -180,4 +180,4 @@ "transmission_boundary": "6", "distribution_boundary": "voltage_source.source" } -]

See how we do not need to especifically define the circuit names, but we still need to define the object.name_of_object. Internally, PowerModelsITD.jl will parse the files and assign the names: 3bus_unbal_nogen_1 and 3bus_unbal_nogen_2 as the names of the circuits (based on the ckt_name_n standard format).

Important Note: In the case where multiple distribuition systems are defined, let's say 3 or more, and only two have the same circuit name, if auto_rename=false (i.e., not used) errors will be displayed, if auto_rename=true only the repeated circuits will be renamed (in this case, all repeated circuits after the first one).

The auto rename option can be very useful for some cases, but users must be very careful when using it since specific boundary connections are going to be performed in a sequential manner and PowerModelsITD.jl cannot guarantee that this is what the user is expecting. To avoid confusions, we recommend users stick to the ideal boundary linking file JSON format.

+]

See how we do not need to especifically define the circuit names, but we still need to define the object.name_of_object. Internally, PowerModelsITD.jl will parse the files and assign the names: 3bus_unbal_nogen_1 and 3bus_unbal_nogen_2 as the names of the circuits (based on the ckt_name_n standard format).

Important Note: In the case where multiple distribuition systems are defined, let's say 3 or more, and only two have the same circuit name, if auto_rename=false (i.e., not used) errors will be displayed, if auto_rename=true only the repeated circuits will be renamed (in this case, all repeated circuits after the first one).

The auto rename option can be very useful for some cases, but users must be very careful when using it since specific boundary connections are going to be performed in a sequential manner and PowerModelsITD.jl cannot guarantee that this is what the user is expecting. To avoid confusions, we recommend users stick to the ideal boundary linking file JSON format.

diff --git a/dev/manual/formulations.html b/dev/manual/formulations.html index 37bb534..542b499 100644 --- a/dev/manual/formulations.html +++ b/dev/manual/formulations.html @@ -120,4 +120,4 @@ & \Big({w_{\beta^{^\mathcal{T}}}} \Big) = \Big(w^{b}_{\beta^{^\mathcal{D}}}\Big), \ \forall (\beta^{^\mathcal{T}},\beta^{^\mathcal{D}}) \in \Lambda \mbox{ - W equality - phase b} \\ & \Big({w_{\beta^{^\mathcal{T}}}} \Big) = \Big(w^{c}_{\beta^{^\mathcal{D}}}\Big), \ \forall (\beta^{^\mathcal{T}},\beta^{^\mathcal{D}}) \in \Lambda \mbox{ - W equality - phase c} \\ % -\end{align}\]

+\end{align}\]

diff --git a/dev/manual/quickguide.html b/dev/manual/quickguide.html index 8707e7f..408a1b7 100644 --- a/dev/manual/quickguide.html +++ b/dev/manual/quickguide.html @@ -31,4 +31,4 @@ pmitd_type = NLPowerModelITD{ACPPowerModel, ACPUPowerModel} # define the formulation type. result = solve_mn_opfitd(pm_file, pmd_files, boundary_file, pmitd_type, Ipopt.Optimizer; auto_rename=true) -

Important Note: If you examine the file case3_unbalanced_withoutgen_mn.dss in detail, you will notice how time series power values are defined inside the opendss file as New Loadshape.ls1 pmult=(file=load_profile.csv), and then the load models are defined with parameters model=1 daily=ls1. This definition is sufficient for PowerModelsITD.jl to understand that this is a multinetwork problem. If you examine the content of the load_profile.csv file, you will notice that there are 4 time steps. This will cause the transmission, distribution, and boundary data to be replicated x4 (i.e., 4 times) while it is parsed to represent the overall problem.

Note: The auto_rename=true option used in this example will be explained in later documentation.

Accessing Different Formulations

There is a diverse number of formulations that can be used to solve the OPFITD, PFITD, and other problem specifications. These can be found in types.jl. A non-exhaustive list of the supported formulations is presented below.

Examples

More examples of working with the engineering data model can be found in the /examples folder of the PowerModelsITD.jl repository. These are Pluto Notebooks; instructions for running them can be found in the Pluto documentation.

+

Important Note: If you examine the file case3_unbalanced_withoutgen_mn.dss in detail, you will notice how time series power values are defined inside the opendss file as New Loadshape.ls1 pmult=(file=load_profile.csv), and then the load models are defined with parameters model=1 daily=ls1. This definition is sufficient for PowerModelsITD.jl to understand that this is a multinetwork problem. If you examine the content of the load_profile.csv file, you will notice that there are 4 time steps. This will cause the transmission, distribution, and boundary data to be replicated x4 (i.e., 4 times) while it is parsed to represent the overall problem.

Note: The auto_rename=true option used in this example will be explained in later documentation.

Accessing Different Formulations

There is a diverse number of formulations that can be used to solve the OPFITD, PFITD, and other problem specifications. These can be found in types.jl. A non-exhaustive list of the supported formulations is presented below.

Examples

More examples of working with the engineering data model can be found in the /examples folder of the PowerModelsITD.jl repository. These are Pluto Notebooks; instructions for running them can be found in the Pluto documentation.

diff --git a/dev/manual/storage.html b/dev/manual/storage.html index a8313fb..40825bc 100644 --- a/dev/manual/storage.html +++ b/dev/manual/storage.html @@ -81,4 +81,4 @@ &\bigg(\sum_{m \in G^{^\mathcal{D}}} c_{2m}(\sum_{\varphi \in \Phi} P_{g,m}^{\mathcal{D},\varphi})^2 + c_{1m}(\sum_{\varphi \in \Phi} P_{g,m}^{\mathcal{D},\varphi}) + c_{0m} \bigg) +\\ &\bigg(\sum_{\varepsilon \in E^{^\mathcal{D}}} c_{\varepsilon}(sd_{\varepsilon}^{\mathcal{D}})\bigg) \end{split} -\end{align}\]

As observed, the costs of discharging the storage devices for both Transmission and Distribution system(s) are added the cost function of the OPFITD. This means that storage devices will only discharge power to the grid when the cost of charging + discharging energy is less than the cost of not using (cycling) the storage device.

This cost function only cosiders cost as a factor for determining when to use the storage devices, however, it is important to note that users are encouraged to create their own cost functions that consider other factors (e.g., voltage deviations) that will make the storage devices operate more often, as needed.

+\end{align}\]

As observed, the costs of discharging the storage devices for both Transmission and Distribution system(s) are added the cost function of the OPFITD. This means that storage devices will only discharge power to the grid when the cost of charging + discharging energy is less than the cost of not using (cycling) the storage device.

This cost function only cosiders cost as a factor for determining when to use the storage devices, however, it is important to note that users are encouraged to create their own cost functions that consider other factors (e.g., voltage deviations) that will make the storage devices operate more often, as needed.

diff --git a/dev/reference/base.html b/dev/reference/base.html index 5ef72e9..55d6ec8 100644 --- a/dev/reference/base.html +++ b/dev/reference/base.html @@ -1,2 +1,2 @@ -Base · PowerModelsITD.jl

Base

PowerModelsITD.refFunction

helper function to access the AbstractPowerModelITD structs' ref, returns (id,data) pairs

source
PowerModelsITD.varFunction

helper function to access the AbstractPowerModelITD structs' var, returns JuMP VariableRef

source
PowerModelsITD.idsFunction

helper function to access the ids of AbstractPowerModelITD structs' ref, returns ints

source
PowerModelsITD.conFunction

helper function to access the AbstractPowerModelITD structs' con, returns JuMP Constraint

source
PowerModelsITD.nwsFunction

helper function to access multinetwork data from AbstractPowerModelITD structs, returns (id,data) pairs

source
PowerModelsITD.nw_idsFunction

helper function to access the ids of multinetworks from AbstractPowerModelITD structs, returns ints

source

Helper functions

Ref Creation Functions

PowerModelsITD.ref_add_core!Method
function ref_add_core!(ref::Dict{Symbol,Any})

Returns a dict that stores commonly used pre-computed data obtained from the data dictionary, primarily for converting data-types, filtering out loads in the transmission-side system, removing slack generators in the distribution-side system, and storing system-wide values that need to be computed globally. Some of the common keys include:

  • See ref_add_core!(ref) from PowerModels),
  • See ref_add_core!(ref) from PowerModelsDistribution),
  • :boundary – the set of boundary elements that are active in the network,
  • :arcs_boundary_from – the set [(i,b["f_bus"],b["t_bus"]) for (i,b) in ref[:boundary]],
  • :arcs_boundary_to – the set [(i,b["t_bus"],b["f_bus"]) for (i,b) in ref[:boundary]],
  • :arcs_boundary – the set of arcs from both arcs_boundary_from and arcs_boundary_to,
  • :bus_arcs_boundary_from – the mapping Dict(i => [(l,i,j) for (l,i,j) in ref[:arcs_boundary_from]]),
  • :bus_arcs_boundary_to – the mapping Dict(i => [(l,i,j) for (l,i,j) in ref[:arcs_boundary_to]]).
source
+Base · PowerModelsITD.jl

Base

PowerModelsITD.refFunction

helper function to access the AbstractPowerModelITD structs' ref, returns (id,data) pairs

source
PowerModelsITD.varFunction

helper function to access the AbstractPowerModelITD structs' var, returns JuMP VariableRef

source
PowerModelsITD.idsFunction

helper function to access the ids of AbstractPowerModelITD structs' ref, returns ints

source
PowerModelsITD.conFunction

helper function to access the AbstractPowerModelITD structs' con, returns JuMP Constraint

source
PowerModelsITD.nwsFunction

helper function to access multinetwork data from AbstractPowerModelITD structs, returns (id,data) pairs

source
PowerModelsITD.nw_idsFunction

helper function to access the ids of multinetworks from AbstractPowerModelITD structs, returns ints

source

Helper functions

Ref Creation Functions

PowerModelsITD.ref_add_core!Method
function ref_add_core!(ref::Dict{Symbol,Any})

Returns a dict that stores commonly used pre-computed data obtained from the data dictionary, primarily for converting data-types, filtering out loads in the transmission-side system, removing slack generators in the distribution-side system, and storing system-wide values that need to be computed globally. Some of the common keys include:

  • See ref_add_core!(ref) from PowerModels),
  • See ref_add_core!(ref) from PowerModelsDistribution),
  • :boundary – the set of boundary elements that are active in the network,
  • :arcs_boundary_from – the set [(i,b["f_bus"],b["t_bus"]) for (i,b) in ref[:boundary]],
  • :arcs_boundary_to – the set [(i,b["t_bus"],b["f_bus"]) for (i,b) in ref[:boundary]],
  • :arcs_boundary – the set of arcs from both arcs_boundary_from and arcs_boundary_to,
  • :bus_arcs_boundary_from – the mapping Dict(i => [(l,i,j) for (l,i,j) in ref[:arcs_boundary_from]]),
  • :bus_arcs_boundary_to – the mapping Dict(i => [(l,i,j) for (l,i,j) in ref[:arcs_boundary_to]]).
source
diff --git a/dev/reference/constants.html b/dev/reference/constants.html index 26b6c32..64d6cfd 100644 --- a/dev/reference/constants.html +++ b/dev/reference/constants.html @@ -1,2 +1,2 @@ -Constants · PowerModelsITD.jl
+Constants · PowerModelsITD.jl
diff --git a/dev/reference/constraints.html b/dev/reference/constraints.html index 38483f3..1811861 100644 --- a/dev/reference/constraints.html +++ b/dev/reference/constraints.html @@ -3,15 +3,15 @@ pmitd::AbstractIVRPowerModelITD, i::Int; nw::Int=nw_id_default -)

Boundary power constraints based on rectangular currents (I) for AbstractIVRPowerModelITD.

source
PowerModelsITD.constraint_boundary_powerMethod
function constraint_boundary_power(
+)

Boundary power constraints based on rectangular currents (I) for AbstractIVRPowerModelITD.

source
PowerModelsITD.constraint_boundary_powerMethod
function constraint_boundary_power(
     pmitd::AbstractPowerModelITD,
     i::Int;
     nw::Int=nw_id_default
-)

Boundary power constraints for AbstractPowerModelITD.

source
PowerModelsITD.constraint_boundary_powerMethod
function constraint_boundary_power(
+)

Boundary power constraints for AbstractPowerModelITD.

source
PowerModelsITD.constraint_boundary_powerMethod
function constraint_boundary_power(
     pmitd::LPowerModelITD,
     i::Int;
     nw::Int=nw_id_default
-)

Boundary power constraints for LPowerModelITD (Linear versions - Active P only).

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

Boundary power constraints for LPowerModelITD (Linear versions - Active P only).

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.ACPPowerModel,
     pmd::_PMD.ACPUPowerModel,
     i::Int,
@@ -19,7 +19,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

ACP-ACPU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

ACP-ACPU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.ACPPowerModel,
     pmd::_PMD.FOTPUPowerModel,
     i::Int,
@@ -27,7 +27,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int=nw_id_default
-)

ACP-FOTPU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

ACP-FOTPU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.ACRPowerModel,
     pmd::_PMD.ACRUPowerModel,
     i::Int,
@@ -35,7 +35,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

ACR-ACRU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

ACR-ACRU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.ACRPowerModel,
     pmd::_PMD.FBSUBFPowerModel,
     i::Int,
@@ -43,7 +43,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int=nw_id_default
-)

ACR-FBSU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

ACR-FBSU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.ACRPowerModel,
     pmd::_PMD.FOTRUPowerModel,
     i::Int,
@@ -51,11 +51,11 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int=nw_id_default
-)

ACR-FOTRU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

ACR-FOTRU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pmitd::AbstractPowerModelITD,
     i::Int;
     nw::Int=nw_id_default
-)

General voltage angle boundary constraint.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

General voltage angle boundary constraint.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.DCPPowerModel,
     pmd::_PMD.DCPUPowerModel,
     i::Int,
@@ -63,7 +63,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

DCP-DCPU boundary bus voltage angle constraints: DCP angle.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

DCP-DCPU boundary bus voltage angle constraints: DCP angle.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.IVRPowerModel,
     pmd::_PMD.IVRUPowerModel,
     i::Int,
@@ -71,7 +71,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

IVR-IVRU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

IVR-IVRU boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.NFAPowerModel,
     pmd::_PMD.NFAUPowerModel,
     i::Int,
@@ -79,7 +79,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

NFA-NFAU boundary bus voltage angle constraints: empty NFA angle.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

NFA-NFAU boundary bus voltage angle constraints: empty NFA angle.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.AbstractBFAModel,
     pmd::_PMD.LPUBFDiagPowerModel,
     i::Int,
@@ -87,7 +87,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int=nw_id_default
-)

BFA-LinDist3FlowPowerModel boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

BFA-LinDist3FlowPowerModel boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.AbstractSDPWRMModel,
     pmd::_PMD.SOCConicUBFPowerModel,
     i::Int,
@@ -95,7 +95,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

SDPWRM-SOCConicUBF boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

SDPWRM-SOCConicUBF boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.AbstractSOCBFConicModel,
     pmd::_PMD.SOCConicUBFPowerModel,
     i::Int,
@@ -103,7 +103,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

SOCBFConic-SOCUBFConic boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

SOCBFConic-SOCUBFConic boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.AbstractSOCBFModel,
     pmd::_PMD.LPUBFDiagPowerModel,
     i::Int,
@@ -111,7 +111,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int=nw_id_default
-)

SOCBF-LinDist3FlowPowerModel boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

SOCBF-LinDist3FlowPowerModel boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.AbstractSOCBFModel,
     pmd::_PMD.SOCNLPUBFPowerModel,
     i::Int,
@@ -119,7 +119,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

SOCBF-SOCNLUBF boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
+)

SOCBF-SOCNLUBF boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_angleMethod
function constraint_boundary_voltage_angle(
     pm::_PM.AbstractSOCWRConicModel,
     pmd::_PMD.SOCConicUBFPowerModel,
     i::Int,
@@ -127,7 +127,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

SOCWRConic-SOCConicUBF boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

SOCWRConic-SOCConicUBF boundary bus voltage angle constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.ACPPowerModel,
     pmd::_PMD.ACPUPowerModel,
     i::Int,
@@ -135,7 +135,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

ACP-ACPU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

ACP-ACPU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.ACPPowerModel,
     pmd::_PMD.FOTPUPowerModel,
     i::Int,
@@ -143,7 +143,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int=nw_id_default
-)

ACP-FOTPU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

ACP-FOTPU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.ACRPowerModel,
     pmd::_PMD.ACRUPowerModel,
     i::Int,
@@ -151,7 +151,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

ACR-ACRU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

ACR-ACRU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.ACRPowerModel,
     pmd::_PMD.FBSUBFPowerModel,
     i::Int,
@@ -159,7 +159,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int=nw_id_default
-)

ACR-FBSU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

ACR-FBSU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.ACRPowerModel,
     pmd::_PMD.FOTRUPowerModel,
     i::Int,
@@ -167,11 +167,11 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int=nw_id_default
-)

ACR-FOTRU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

ACR-FOTRU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pmitd::AbstractPowerModelITD,
     i::Int;
     nw::Int=nw_id_default
-)

General voltage magnitude boundary constraint.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

General voltage magnitude boundary constraint.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.DCPPowerModel,
     pmd::_PMD.DCPUPowerModel,
     i::Int,
@@ -179,7 +179,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

DCP-DCPU boundary bus voltage magnitude constraints: empty since DC keeps vm = 1 for all.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

DCP-DCPU boundary bus voltage magnitude constraints: empty since DC keeps vm = 1 for all.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.IVRPowerModel,
     pmd::_PMD.IVRUPowerModel,
     i::Int,
@@ -187,7 +187,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

IVR-IVRU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

IVR-IVRU boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.NFAPowerModel,
     pmd::_PMD.NFAUPowerModel,
     i::Int,
@@ -195,7 +195,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

NFA-NFAU boundary bus voltage magnitude constraints: empty NFA.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

NFA-NFAU boundary bus voltage magnitude constraints: empty NFA.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.AbstractBFAModel,
     pmd::_PMD.LPUBFDiagPowerModel,
     i::Int,
@@ -203,7 +203,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int=nw_id_default
-)

BFA-LinDist3FlowPowerModel boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

BFA-LinDist3FlowPowerModel boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.AbstractSDPWRMModel,
     pmd::_PMD.SOCConicUBFPowerModel,
     i::Int,
@@ -211,7 +211,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

SDPWRM-SOCConicUBF boundary bus voltage magnitude (W variables) constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

SDPWRM-SOCConicUBF boundary bus voltage magnitude (W variables) constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.AbstractSOCBFConicModel,
     pmd::_PMD.SOCConicUBFPowerModel,
     i::Int,
@@ -219,7 +219,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

SOCBFConic-SOCUBFConic boundary bus voltage magnitude (W variables) constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

SOCBFConic-SOCUBFConic boundary bus voltage magnitude (W variables) constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.AbstractSOCBFModel,
     pmd::_PMD.LPUBFDiagPowerModel,
     i::Int,
@@ -227,7 +227,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int=nw_id_default
-)

SOCBF-LinDist3FlowPowerModel boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

SOCBF-LinDist3FlowPowerModel boundary bus voltage magnitude constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.AbstractSOCBFModel,
     pmd::_PMD.SOCNLPUBFPowerModel,
     i::Int,
@@ -235,7 +235,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

SOCBF-SOCNLUBF boundary bus voltage magnitude (W variables) constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
+)

SOCBF-SOCNLUBF boundary bus voltage magnitude (W variables) constraints.

source
PowerModelsITD.constraint_boundary_voltage_magnitudeMethod
function constraint_boundary_voltage_magnitude(
     pm::_PM.AbstractSOCWRConicModel,
     pmd::_PMD.SOCConicUBFPowerModel,
     i::Int,
@@ -243,7 +243,7 @@
     f_connections::Vector{Int},
     t_connections::Vector{Int};
     nw::Int = nw_id_default
-)

SOCWRConic-SOCConicUBF boundary bus voltage magnitude (W variables) constraints.

source
PowerModelsITD.constraint_distribution_current_balanceMethod
function constraint_distribution_current_balance(
+)

SOCWRConic-SOCConicUBF boundary bus voltage magnitude (W variables) constraints.

source
PowerModelsITD.constraint_distribution_current_balanceMethod
function constraint_distribution_current_balance(
     pmitd::AbstractPowerModelITD,
     pmd::_PMD.AbstractUnbalancedIVRModel,
     n::Int,
@@ -259,13 +259,13 @@
     bus_loads::Vector{Tuple{Int,Vector{Int}}},
     bus_shunts::Vector{Tuple{Int,Vector{Int}}},
     bus_arcs_boundary_to
-)

IVRU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_current_balance_boundaryMethod
function constraint_distribution_current_balance_boundary(
+)

IVRU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_current_balance_boundaryMethod
function constraint_distribution_current_balance_boundary(
     pmitd::AbstractIVRPowerModelITD,
     i::Int,
     j::Int,
     boundary_buses::Vector;
     nw_pmitd::Int=nw_id_default
-)

General current balance contraints for boundary buses in the distribution system-side.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
+)

General current balance contraints for boundary buses in the distribution system-side.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
     pmitd::AbstractBFPowerModelITD,
     pmd::_PMD.LPUBFDiagPowerModel,
     n::Int,
@@ -281,7 +281,7 @@
     bus_loads::Vector{Tuple{Int,Vector{Int}}},
     bus_shunts::Vector{Tuple{Int,Vector{Int}}},
     bus_arcs_boundary_to
-)

LinDist3FlowPowerModel distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
+)

LinDist3FlowPowerModel distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
     pmitd::AbstractPowerModelITD,
     pmd::_PMD.FBSUBFPowerModel,
     n::Int,
@@ -297,7 +297,7 @@
     bus_loads::Vector{Tuple{Int,Vector{Int}}},
     bus_shunts::Vector{Tuple{Int,Vector{Int}}},
     bus_arcs_boundary_to
-)

FBSU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
+)

FBSU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
     pmitd::AbstractPowerModelITD,
     pmd::_PMD.FOTPUPowerModel,
     n::Int,
@@ -313,7 +313,7 @@
     bus_loads::Vector{Tuple{Int,Vector{Int}}},
     bus_shunts::Vector{Tuple{Int,Vector{Int}}},
     bus_arcs_boundary_to
-)

FOTPU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
+)

FOTPU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
     pmitd::AbstractPowerModelITD,
     pmd::_PMD.FOTRUPowerModel,
     n::Int,
@@ -329,7 +329,7 @@
     bus_loads::Vector{Tuple{Int,Vector{Int}}},
     bus_shunts::Vector{Tuple{Int,Vector{Int}}},
     bus_arcs_boundary_to
-)

FOTRU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
+)

FOTRU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
     pmitd::AbstractPowerModelITD,
     pmd::_PMD.AbstractUnbalancedACPModel,
     n::Int,
@@ -345,7 +345,7 @@
     bus_loads::Vector{Tuple{Int,Vector{Int}}},
     bus_shunts::Vector{Tuple{Int,Vector{Int}}},
     bus_arcs_boundary_to
-)

ACPU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
+)

ACPU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
     pmitd::AbstractPowerModelITD,
     pmd::_PMD.AbstractUnbalancedACRModel,
     n::Int,
@@ -361,7 +361,7 @@
     bus_loads::Vector{Tuple{Int,Vector{Int}}},
     bus_shunts::Vector{Tuple{Int,Vector{Int}}},
     bus_arcs_boundary_to
-)

ACRU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
+)

ACRU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
     pmitd::AbstractPowerModelITD,
     pmd::_PMD.AbstractUnbalancedActivePowerModel,
     n::Int,
@@ -377,7 +377,7 @@
     bus_loads::Vector{Tuple{Int,Vector{Int}}},
     bus_shunts::Vector{Tuple{Int,Vector{Int}}},
     bus_arcs_boundary_to
-)

DCPU/NFAU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
+)

DCPU/NFAU distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balanceMethod
function constraint_distribution_power_balance(
     pmitd::AbstractPowerModelITD,
     pmd::_PMD.AbstractUnbalancedWModels,
     n::Int,
@@ -393,13 +393,13 @@
     bus_loads::Vector{Tuple{Int,Vector{Int}}},
     bus_shunts::Vector{Tuple{Int,Vector{Int}}},
     bus_arcs_boundary_to
-)

Unbalanced W models distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balance_boundaryMethod
function constraint_distribution_power_balance_boundary(
+)

Unbalanced W models distribution constraint power balance.

source
PowerModelsITD.constraint_distribution_power_balance_boundaryMethod
function constraint_distribution_power_balance_boundary(
     pmitd::AbstractPowerModelITD,
     i::Int,
     j::Int,
     boundary_buses::Vector;
     nw_pmitd::Int=nw_id_default
-)

General power balance contraints for boundary buses in the distribution system-side.

source
PowerModelsITD.constraint_transmission_current_balanceMethod
function constraint_transmission_current_balance(
+)

General power balance contraints for boundary buses in the distribution system-side.

source
PowerModelsITD.constraint_transmission_current_balanceMethod
function constraint_transmission_current_balance(
     pmitd::AbstractPowerModelITD,
     pm::_PM.AbstractIVRModel,
     n::Int,
@@ -413,13 +413,13 @@
     bus_gs,
     bus_bs,
     bus_arcs_boundary_from
-)

IVR transmission constraint power balance.

source
PowerModelsITD.constraint_transmission_current_balance_boundaryMethod
function constraint_transmission_current_balance_boundary(
+)

IVR transmission constraint power balance.

source
PowerModelsITD.constraint_transmission_current_balance_boundaryMethod
function constraint_transmission_current_balance_boundary(
     pmitd::AbstractIVRPowerModelITD,
     i::Int,
     j::Int,
     boundary_buses::Vector;
     nw_pmitd::Int=nw_id_default
-)

General current balance contraints for boundary buses in the transmission system-side.

source
PowerModelsITD.constraint_transmission_power_balanceMethod
function constraint_transmission_power_balance(
+)

General current balance contraints for boundary buses in the transmission system-side.

source
PowerModelsITD.constraint_transmission_power_balanceMethod
function constraint_transmission_power_balance(
     pmitd::AbstractPowerModelITD,
     pm::_PM.AbstractACPModel,
     n::Int,
@@ -435,7 +435,7 @@
     bus_gs,
     bus_bs,
     bus_arcs_boundary_from
-)

ACP transmission constraint power balance.

source
PowerModelsITD.constraint_transmission_power_balanceMethod
function constraint_transmission_power_balance(
+)

ACP transmission constraint power balance.

source
PowerModelsITD.constraint_transmission_power_balanceMethod
function constraint_transmission_power_balance(
     pmitd::AbstractPowerModelITD,
     pm::_PM.AbstractACRModel,
     n::Int,
@@ -451,7 +451,7 @@
     bus_gs,
     bus_bs,
     bus_arcs_boundary_from
-)

ACR transmission constraint power balance.

source
PowerModelsITD.constraint_transmission_power_balanceMethod
function constraint_transmission_power_balance(
+)

ACR transmission constraint power balance.

source
PowerModelsITD.constraint_transmission_power_balanceMethod
function constraint_transmission_power_balance(
     pmitd::AbstractPowerModelITD,
     pm::_PM.AbstractActivePowerModel,
     n::Int,
@@ -467,7 +467,7 @@
     bus_gs,
     bus_bs,
     bus_arcs_boundary_from
-)

DCP/NFA transmission constraint power balance.

source
PowerModelsITD.constraint_transmission_power_balanceMethod
function constraint_transmission_power_balance(
+)

DCP/NFA transmission constraint power balance.

source
PowerModelsITD.constraint_transmission_power_balanceMethod
function constraint_transmission_power_balance(
     pmitd::AbstractPowerModelITD,
     pm::_PM.AbstractWModels,
     n::Int,
@@ -483,10 +483,10 @@
     bus_gs,
     bus_bs,
     bus_arcs_boundary_from
-)

W Models (e.g., SOCBF) transmission constraint power balance.

source
PowerModelsITD.constraint_transmission_power_balance_boundaryMethod
function constraint_transmission_power_balance_boundary(
+)

W Models (e.g., SOCBF) transmission constraint power balance.

source
PowerModelsITD.constraint_transmission_power_balance_boundaryMethod
function constraint_transmission_power_balance_boundary(
     pmitd::AbstractPowerModelITD,
     i::Int,
     j::Int,
     boundary_buses::Vector;
     nw_pmitd::Int=nw_id_default
-)

General power balance contraints for boundary buses in the transmission system-side.

source
+)

General power balance contraints for boundary buses in the transmission system-side.

source diff --git a/dev/reference/data_models.html b/dev/reference/data_models.html index ce7daf6..616fd7e 100644 --- a/dev/reference/data_models.html +++ b/dev/reference/data_models.html @@ -5,67 +5,67 @@ pmitd_file::String; multinetwork::Bool=false auto_rename::Bool=false -)

Parses PowerModels, PowerModelsDistribution, and PowerModelsITD boundary linkage input files and returns a data dictionary with the combined information of the inputted dictionaries.

source
function parse_files(
+)

Parses PowerModels, PowerModelsDistribution, and PowerModelsITD boundary linkage input files and returns a data dictionary with the combined information of the inputted dictionaries.

source
function parse_files(
     pm_file::String,
     pmd_files::Vector,
     pmitd_file::String;
     multinetwork::Bool=false,
     auto_rename::Bool=false
-)

Parses PowerModels, PowerModelsDistribution vector, and PowerModelsITD linkage input files and returns a data dictionary with the combined information of the inputted dictionaries.

source
PowerModelsITD.parse_jsonFunction
function parse_json(
+)

Parses PowerModels, PowerModelsDistribution vector, and PowerModelsITD linkage input files and returns a data dictionary with the combined information of the inputted dictionaries.

source
PowerModelsITD.parse_jsonFunction
function parse_json(
     path::String
-)

Parses a JavaScript Object Notation (JSON) file from the file path path and returns a dictionary containing the corresponding parsed data. Primarily used for boundry linkage files.

source
PowerModelsITD.parse_link_fileFunction
function parse_link_file(
+)

Parses a JavaScript Object Notation (JSON) file from the file path path and returns a dictionary containing the corresponding parsed data. Primarily used for boundry linkage files.

source
PowerModelsITD.parse_link_fileFunction
function parse_link_file(
     pmitd_file::String
-)

Parses a linking file from the file pmitd_file and returns a PowerModelsITD data structured linking network dictionary.

source
PowerModelsITD.parse_power_transmission_fileFunction
function parse_power_transmission_file(
+)

Parses a linking file from the file pmitd_file and returns a PowerModelsITD data structured linking network dictionary.

source
PowerModelsITD.parse_power_transmission_fileFunction
function parse_power_transmission_file(
     pm_file::String;
     skip_correct::Bool = true,
     multinetwork::Bool=false,
     number_multinetworks::Int=0
-)

Parses a power transmission file from the file pm_file and returns a PowerModels data structured pm network dictionary.

source
PowerModelsITD.parse_power_distribution_fileFunction
function parse_power_distribution_file(
+)

Parses a power transmission file from the file pm_file and returns a PowerModels data structured pm network dictionary.

source
PowerModelsITD.parse_power_distribution_fileFunction
function parse_power_distribution_file(
     pmd_file::String,
     base_data::Dict{String,<:Any}=Dict{String, Any}();
     unique::Bool=true,
     multinetwork::Bool=false,
     auto_rename::Bool=false,
     ms_num::Int=1
-)

Parses power distribution files from the file pmd_file depending on the file extension. base_data represents a dictionary that contains data from other pmd systems (serving as the base where all data will be combined), unique represents if the pmd data provided is the first one passed or unique. If it is not unique, then the components need to be renamed before being added. Returns a PowerModelsDistribution data structured pmd network (a dictionary) with renamed components (if applicable).

source

Data Transformations

PowerModelsITD.apply_kron_reduction!Method
function apply_kron_reduction!(
+)

Parses power distribution files from the file pmd_file depending on the file extension. base_data represents a dictionary that contains data from other pmd systems (serving as the base where all data will be combined), unique represents if the pmd data provided is the first one passed or unique. If it is not unique, then the components need to be renamed before being added. Returns a PowerModelsDistribution data structured pmd network (a dictionary) with renamed components (if applicable).

source

Data Transformations

PowerModelsITD.apply_kron_reduction!Method
function apply_kron_reduction!(
     pmitd_data::Dict{String,<:Any}
-)

Applies the corresponding transformation that applies a Kron Reduction to the network, reducing out the kr_neutral, leaving only the kr_phases.

source
PowerModelsITD.apply_phase_projection!Method
function apply_phase_projection!(
+)

Applies the corresponding transformation that applies a Kron Reduction to the network, reducing out the kr_neutral, leaving only the kr_phases.

source
PowerModelsITD.apply_phase_projection!Method
function apply_phase_projection!(
     pmitd_data::Dict{String,<:Any}
-)

Applies the corresponding transformation to apply phase projection: pad matrices and vectors to max number of conductors

source
PowerModelsITD.apply_phase_projection_delta!Method
function apply_phase_projection_delta!(
+)

Applies the corresponding transformation to apply phase projection: pad matrices and vectors to max number of conductors

source
PowerModelsITD.apply_phase_projection_delta!Method
function apply_phase_projection_delta!(
     pmitd_data::Dict{String,<:Any}
-)

Applies the corresponding transformation to apply phase projection delta for components where unprojected states are not yet supported (delta configurations). See [apply_phase_projection!]

source
PowerModelsITD.apply_voltage_angle_difference_bounds!Function
function apply_voltage_angle_difference_bounds!(
+)

Applies the corresponding transformation to apply phase projection delta for components where unprojected states are not yet supported (delta configurations). See [apply_phase_projection!]

source
PowerModelsITD.apply_voltage_angle_difference_bounds!Function
function apply_voltage_angle_difference_bounds!(
     pmitd_data::Dict{String,<:Any},
     vad::Real=5.0
-)

Applies the corresponding transformation of voltage angle difference bound given by vad::Real in degrees (i.e., the allowed drift of angle from one end of a line to another) to all lines, to the pmd dictionary.

source
PowerModelsITD.apply_voltage_bounds!Method
function apply_voltage_bounds!(
+)

Applies the corresponding transformation of voltage angle difference bound given by vad::Real in degrees (i.e., the allowed drift of angle from one end of a line to another) to all lines, to the pmd dictionary.

source
PowerModelsITD.apply_voltage_bounds!Method
function apply_voltage_bounds!(
     pmitd_data::Dict{String,<:Any};
     vm_lb::Union{Real,Missing}=0.9,
     vm_ub::Union{Real,Missing}=1.1
-)

Applies the corresponding transformation of voltage bounds to all buses based on per-unit upper (vm_ub) and lower (vm_lb) bounds, scaled by the bus' voltage, to the pmd dictionary.

source
PowerModelsITD.make_lossless!Method
function make_lossless!(
+)

Applies the corresponding transformation of voltage bounds to all buses based on per-unit upper (vm_ub) and lower (vm_lb) bounds, scaled by the bus' voltage, to the pmd dictionary.

source
PowerModelsITD.make_lossless!Method
function make_lossless!(
     pmitd_data::Dict{String,<:Any}
-)

Applies the corresponding transformation that removes parameters from objects with loss models to make them lossless. This includes switches voltage sources and transformers, which all have loss model parameters that can be omitted.

source
PowerModelsITD.remove_all_bounds!Function
function remove_all_bounds!(
+)

Applies the corresponding transformation that removes parameters from objects with loss models to make them lossless. This includes switches voltage sources and transformers, which all have loss model parameters that can be omitted.

source
PowerModelsITD.remove_all_bounds!Function
function remove_all_bounds!(
     pmitd_data::Dict{String,<:Any};
     exclude::Vector{<:String}=String["energy_ub"]
-)

Applies the corresponding transformation that removes all fields ending in 'ub' or 'lb' that aren't required by the math model. Properties can be excluded from this removal with exclude::Vector{String}. By default, "energy_ub" is excluded from this removal, since it is a required property on storage (in pmd).

source

Data Checking and Units Correction

PowerModelsITD.correct_network_data!Function
function correct_network_data!(
+)

Applies the corresponding transformation that removes all fields ending in 'ub' or 'lb' that aren't required by the math model. Properties can be excluded from this removal with exclude::Vector{String}. By default, "energy_ub" is excluded from this removal, since it is a required property on storage (in pmd).

source

Data Checking and Units Correction

PowerModelsITD.correct_network_data!Function
function correct_network_data!(
     data::Dict{String,<:Any};
     multinetwork::Bool=false
-)

Corrects and prepares the data in both pm and pmd dictionaries. Also, assigns the ids given in the boundary linking data to number buses. data is the pmitd dictionary to be corrected and multinetwork is the boolean that defines if there are multinetwork boundary buses to be assigned.

source
PowerModelsITD.assign_boundary_buses!Function
function assign_boundary_buses!(
+)

Corrects and prepares the data in both pm and pmd dictionaries. Also, assigns the ids given in the boundary linking data to number buses. data is the pmitd dictionary to be corrected and multinetwork is the boolean that defines if there are multinetwork boundary buses to be assigned.

source
PowerModelsITD.assign_boundary_buses!Function
function assign_boundary_buses!(
     data::Dict{String,<:Any};
     multinetwork::Bool=false
-)

Assigns the names given in the boundary linking data to number buses in corresponding transmission and distribution networks. data is the pmitd dictionary containing the boundary information and multinetwork is the boolean that defines if there are multinetwork boundary buses to be assigned.

source
PowerModelsITD.resolve_units!Function
function resolve_units!(
+)

Assigns the names given in the boundary linking data to number buses in corresponding transmission and distribution networks. data is the pmitd dictionary containing the boundary information and multinetwork is the boolean that defines if there are multinetwork boundary buses to be assigned.

source
PowerModelsITD.resolve_units!Function
function resolve_units!(
     data::Dict{String,<:Any};
     multinetwork::Bool=false,
     number_multinetworks::Int=0
-)

Resolve the units used throughout the disparate datasets by setting the same settings bases. data is the pmitd dictionary to be corrected by resolving units, multinetwork is the boolean that defines if there are multiple networks that need to be corrected, and number_multinetworks defines the number of multinetworks.

source
PowerModelsITD.replicateFunction
function replicate(
+)

Resolve the units used throughout the disparate datasets by setting the same settings bases. data is the pmitd dictionary to be corrected by resolving units, multinetwork is the boolean that defines if there are multiple networks that need to be corrected, and number_multinetworks defines the number of multinetworks.

source
PowerModelsITD.replicateFunction
function replicate(
     sn_data::Dict{String,<:Any},
     count::Int;
     global_keys::Set{String}=Set{String}()
-)

Turns in given single network pmitd 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. sn_data is the data to be replicated, count is the number of networks to be replicated.

source
PowerModelsITD.sol_data_model!Function
function sol_data_model!(
+)

Turns in given single network pmitd 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. sn_data is the data to be replicated, count is the number of networks to be replicated.

source
PowerModelsITD.sol_data_model!Function
function sol_data_model!(
     pmitd::AbstractPowerModelITD,
     solution::Dict{String,<:Any}
-)

solution_processor to convert the solution(s) to polar voltage magnitudes and angles.

source
PowerModelsITD.calc_transmission_branch_flow_ac!Function
function calc_transmission_branch_flow_ac!(
+)

solution_processor to convert the solution(s) to polar voltage magnitudes and angles.

source
PowerModelsITD.calc_transmission_branch_flow_ac!Function
function calc_transmission_branch_flow_ac!(
     result::Dict{String,<:Any},
     pmitd_data::Dict{String,<:Any};
-)

Assumes a valid ac solution is included in the result and computes the branch flow values. Returns the pf solution inside the pmitd_data dictionary (not the result dictionary). Replicates the _PM function but compatible with PMITD dicitionary.

source
PowerModelsITD.transform_pmitd_solution_to_eng!Function
function transform_pmitd_solution_to_eng!(
+)

Assumes a valid ac solution is included in the result and computes the branch flow values. Returns the pf solution inside the pmitd_data dictionary (not the result dictionary). Replicates the _PM function but compatible with PMITD dicitionary.

source
PowerModelsITD.transform_pmitd_solution_to_eng!Function
function transform_pmitd_solution_to_eng!(
     result::Dict{String,<:Any},
     pmitd_data::Dict{String,<:Any}
-)

Transforms the PMITD solution from MATH to ENG model. This transformation facilitates the conversion in "pmitd" of buses numbers to buses names according to the ENG model. Ex: (100002, 9, 6) -> (100002, voltagesource.3busunbalnogenmn_2.source, 6)

source
+)

Transforms the PMITD solution from MATH to ENG model. This transformation facilitates the conversion in "pmitd" of buses numbers to buses names according to the ENG model. Ex: (100002, 9, 6) -> (100002, voltagesource.3busunbalnogenmn_2.source, 6)

source diff --git a/dev/reference/formulations.html b/dev/reference/formulations.html index 3e566f5..87ffd24 100644 --- a/dev/reference/formulations.html +++ b/dev/reference/formulations.html @@ -1,2 +1,2 @@ -Formulations · PowerModelsITD.jl

Formulations

Abstract Models

Power ITD Models

Mutable Stuct creator

+Formulations · PowerModelsITD.jl

Formulations

Abstract Models

Power ITD Models

Mutable Stuct creator

diff --git a/dev/reference/internal.html b/dev/reference/internal.html index 7dd5ad6..29ed434 100644 --- a/dev/reference/internal.html +++ b/dev/reference/internal.html @@ -2,115 +2,115 @@ Internal Functions · PowerModelsITD.jl

Internal Functions

PowerModelsITD._add_file_name!Method
function _add_file_name!(
     base_data::Dict{String,<:Any},
     data::Dict{String,<:Any}
-)

Adds filename from data to "files" dictionary in pmd (base_data).

source
PowerModelsITD._assign_boundary_buses!Method
function _assign_boundary_buses!(
     data::Dict{String,<:Any},
     conn;
     multinetwork::Bool=false,
     nw::String="0"
-)

Helper function for assigning boundary buses. data is the pmitd dictionary containing the boundary information, conn is the boundary connection information, multinetwork is the boolean that defines if there are multinetwork boundary buses to be assigned, and nw is the network number.

source
PowerModelsITD._check_and_rename_circuits!Method
function _check_and_rename_circuits!(
+)

Helper function for assigning boundary buses. data is the pmitd dictionary containing the boundary information, conn is the boundary connection information, multinetwork is the boolean that defines if there are multinetwork boundary buses to be assigned, and nw is the network number.

source
PowerModelsITD._check_and_rename_circuits!Method
function _check_and_rename_circuits!(
     base_data::Dict{String,<:Any},
     data::Dict{String,<:Any};
     auto_rename::Bool=false,
     ms_num::Int=1
-)

Checks if the name of the data ckt already exists, if so and auto_rename=false an error should be displayed telling the user that they must use the different ckt names when parsing multiple distribution systems. If auto_rename=true, PMITD will rename the repeated ckt name to repeatedCktName_(ms_num). Finally, adds the ckt name of data to "cktnames" in the `basedata` dictionary.

source
PowerModelsITD._clean_pmd_base_data!Method
function _clean_pmd_base_data!(
+)

Checks if the name of the data ckt already exists, if so and auto_rename=false an error should be displayed telling the user that they must use the different ckt names when parsing multiple distribution systems. If auto_rename=true, PMITD will rename the repeated ckt name to repeatedCktName_(ms_num). Finally, adds the ckt name of data to "cktnames" in the `basedata` dictionary.

source
PowerModelsITD._compute_boundary_active_power_start_values_distributionMethod
function _compute_boundary_active_power_start_values_distribution(
     nw_ref::Dict{Symbol,<:Any}
-)

Computes the starting values for pbound_to variables. Returns dictionary with summation of the activate power loads. Returns dictionary with the summation of the active power loads for each dist. system.

source
PowerModelsITD._compute_default_strg_cost_transmissionMethod
function _compute_default_strg_cost_transmission(
     strg_data::Dict{String,<:Any},
     baseMVA::Float64
-)

Computes a default cost for the energy storage (transmission). Returns the default storage cost to be added to the data dictionary.

source
PowerModelsITD._convert_to_pmitd_structureMethod
function _convert_to_pmitd_structure(
     data::Vector{Any}
-)

Converts json data parsed into the required pmitd structure. Returns the new data structure with necessary information and compatible names.

source
PowerModelsITD._correct_boundary_names!Method
function _correct_boundary_names!(
+)

Converts json data parsed into the required pmitd structure. Returns the new data structure with necessary information and compatible names.

source
PowerModelsITD._correct_boundary_names!Method
function _correct_boundary_names!(
     pmitd_data::Dict{String,<:Any}
-)

Corrects the names of distribution system boundary buses given in boundary linking file based on the cktnames stored in the "pmd"=>"cktnames". The correction is done sequentially, so each distribution boundary bus name will be assigned the specific ckt name that exists in the numerical position of the vector "cktnames". This process should only be applied when users explicitly use the option `autorename=true, and awarning` is displayed warning the user that the boundaries may not be correct.

source
PowerModelsITD._get_powermodel_from_powermodelitdMethod
function _get_powermodel_from_powermodelitd(
+)

Corrects the names of distribution system boundary buses given in boundary linking file based on the cktnames stored in the "pmd"=>"cktnames". The correction is done sequentially, so each distribution boundary bus name will be assigned the specific ckt name that exists in the numerical position of the vector "cktnames". This process should only be applied when users explicitly use the option `autorename=true, and awarning` is displayed warning the user that the boundaries may not be correct.

source
PowerModelsITD._rename_components!Method
function _rename_components!(
     base_data::Dict{String,<:Any},
     data::Dict{String,<:Any}
-)

Renames the components given in data for new multi-system and adds the renamed components to base_data dictionary structure. cktname.element

source
PowerModelsITD._rename_network_components!Method
function _rename_network_components!(
     base_data::Dict{String,<:Any},
     data::Dict{String,<:Any},
     ckt_name::String
-)

Rename specific components in single network dictionary. base_data is the dictionary where the renamed components are to be added, data is the dictionary containing the components to be renamed. ckt_name is the circuit name of data.

source
PowerModelsITD._scale_loads!Method
function _scale_loads!(
+)

Rename specific components in single network dictionary. base_data is the dictionary where the renamed components are to be added, data is the dictionary containing the components to be renamed. ckt_name is the circuit name of data.

source
PowerModelsITD._scale_loads!Method
function _scale_loads!(
     p_data::Dict{String,<:Any},
     scalar::Real
-)

Scales loads based on the scalar passed as second argument. p_data is the dictionary that contains the loads to be scaled. scalar is the float value used to scale all the loads in the p_data dictionary.

source
PowerModelsITD._transform_pmitd_solution_to_si!Method
function _transform_pmitd_solution_to_si!(
+)

Scales loads based on the scalar passed as second argument. p_data is the dictionary that contains the loads to be scaled. scalar is the float value used to scale all the loads in the p_data dictionary.

source
PowerModelsITD._transform_solution_to_pu!Method
function _transform_solution_to_pu!(
     result,
     pmitd_data::Dict{String,<:Any};
     make_si::Bool=false,
     multinetwork::Bool=false,
     solution_model::String="eng"
-)

Transforms the PM and PMD solutions from SI units to per-unit (pu), and the PMD solution from MATH back to ENG model.

source
PowerModelsITD._transform_solution_to_si!Method
function _transform_solution_to_si!(
     result,
     pmitd_data::Dict{String,<:Any};
     make_si::Bool=true,
     multinetwork::Bool=false,
     solution_model::String="eng"
-)

Transforms the PM and PMD solutions from per-unit (pu) to SI units, and the PMD solution from MATH back to ENG model.

source
+)

Transforms the PM and PMD solutions from per-unit (pu) to SI units, and the PMD solution from MATH back to ENG model.

source diff --git a/dev/reference/objectives.html b/dev/reference/objectives.html index e992bb6..964a081 100644 --- a/dev/reference/objectives.html +++ b/dev/reference/objectives.html @@ -1,42 +1,42 @@ Objectives · PowerModelsITD.jl

Objectives

PowerModelsITD.objective_itd_min_fuel_cost_pwlMethod
function objective_itd_min_fuel_cost_pwl(
     pmitd::AbstractPowerModelITD,
     pm::_PM.AbstractPowerModel,
     pmd::_PMD.AbstractUnbalancedPowerModel
-)

Fuel cost minimization objective with piecewise linear terms.

source
PowerModelsITD.objective_mc_variable_pg_costMethod
function objective_mc_variable_pg_cost(
     pm::_PMD.AbstractUnbalancedIVRModel
-)

Adds pgcost variables and constraints (IVR formulation) (Copied from PMD and modified to allow differentiation with TD gens (...dist)).

source
PowerModelsITD.objective_mc_variable_pg_costMethod
function objective_mc_variable_pg_cost(
     pm::_PMD.AbstractUnbalancedPowerModel
-)

Adds pgcost variables and constraints (Copied from PMD and modified to allow differentiation with TD gens (...dist)).

source
+)

Adds pgcost variables and constraints (Copied from PMD and modified to allow differentiation with TD gens (...dist)).

source diff --git a/dev/reference/problems.html b/dev/reference/problems.html index ab70f10..8bfe70f 100644 --- a/dev/reference/problems.html +++ b/dev/reference/problems.html @@ -12,7 +12,7 @@ auto_rename::Bool=false, solution_model::String="eng", kwargs... -)

Solve Integrated T&D Optimal Power Flow with minimum load delta (dmld).

source
PowerModelsITD.solve_dmld_opfitdMethod
function solve_dmld_opfitd(
+)

Solve Integrated T&D Optimal Power Flow with minimum load delta (dmld).

source
PowerModelsITD.solve_dmld_opfitdMethod
function solve_dmld_opfitd(
     pmitd_data::Dict{String,<:Any},
     pmitd_type,
     optimizer;
@@ -22,7 +22,7 @@
     make_si::Bool=true,
     solution_model::String="eng",
     kwargs...
-)

Solve Integrated T&D Optimal Power Flow with minimum load delta (dmld).

source
PowerModelsITD.solve_mn_dmld_opfitd_simpleMethod
function solve_mn_dmld_opfitd_simple(
+)

Solve Integrated T&D Optimal Power Flow with minimum load delta (dmld).

source
PowerModelsITD.solve_mn_dmld_opfitd_simpleMethod
function solve_mn_dmld_opfitd_simple(
     pm_file,
     pmd_file,
     pmitd_file,
@@ -35,7 +35,7 @@
     auto_rename::Bool=false,
     solution_model::String="eng",
     kwargs...
-)

Solve Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (dmld continuous).

source
PowerModelsITD.solve_mn_dmld_opfitd_simpleMethod
function solve_mn_dmld_opfitd_simple(
+)

Solve Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (dmld continuous).

source
PowerModelsITD.solve_mn_dmld_opfitd_simpleMethod
function solve_mn_dmld_opfitd_simple(
     pmitd_data::Dict{String,<:Any},
     pmitd_type,
     optimizer;
@@ -45,7 +45,7 @@
     make_si::Bool=true,
     solution_model::String="eng",
     kwargs...
-)

Solve Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (dmld continuous).

source
PowerModelsITD.solve_mn_opfitdMethod
function solve_mn_opfitd(
+)

Solve Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (dmld continuous).

source
PowerModelsITD.solve_mn_opfitdMethod
function solve_mn_opfitd(
     pm_file,
     pmd_file,
     pmitd_file,
@@ -58,7 +58,7 @@
     auto_rename::Bool=false,
     solution_model::String="eng",
     kwargs...
-)

Solve Multinetwork Integrated T&D Optimal Power Flow.

source
PowerModelsITD.solve_mn_opfitdMethod
function solve_mn_opfitd(
+)

Solve Multinetwork Integrated T&D Optimal Power Flow.

source
PowerModelsITD.solve_mn_opfitdMethod
function solve_mn_opfitd(
     pmitd_data::Dict{String,<:Any}
     pmitd_type,
     optimizer;
@@ -68,7 +68,7 @@
     make_si::Bool=true,
     solution_model::String="eng",
     kwargs...
-)

Solve Multinetwork Integrated T&D Optimal Power Flow.

source
PowerModelsITD.solve_mn_opfitd_oltcMethod
function solve_mn_opfitd_oltc(
+)

Solve Multinetwork Integrated T&D Optimal Power Flow.

source
PowerModelsITD.solve_mn_opfitd_oltcMethod
function solve_mn_opfitd_oltc(
     pm_file,
     pmd_file,
     pmitd_file,
@@ -81,7 +81,7 @@
     auto_rename::Bool=false,
     solution_model::String="eng",
     kwargs...
-)

Solve Multinetwork Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.solve_mn_opfitd_oltcMethod
function solve_mn_opfitd_oltc(
+)

Solve Multinetwork Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.solve_mn_opfitd_oltcMethod
function solve_mn_opfitd_oltc(
     pmitd_data::Dict{String,<:Any},
     pmitd_type,
     optimizer;
@@ -91,7 +91,7 @@
     make_si::Bool=true,
     solution_model::String="eng",
     kwargs...
-)

Solve Multinetwork Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.solve_mn_opfitd_storageMethod
function solve_mn_opfitd_storage(
+)

Solve Multinetwork Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.solve_mn_opfitd_storageMethod
function solve_mn_opfitd_storage(
     pm_file,
     pmd_file,
     pmitd_file,
@@ -104,7 +104,7 @@
     auto_rename::Bool=false,
     solution_model::String="eng",
     kwargs...
-)

Solve Multinetwork Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.solve_mn_opfitd_storageMethod
function solve_mn_opfitd_storage(
+)

Solve Multinetwork Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.solve_mn_opfitd_storageMethod
function solve_mn_opfitd_storage(
     pmitd_data::Dict{String,<:Any}
     pmitd_type,
     optimizer;
@@ -114,7 +114,7 @@
     make_si::Bool=true,
     solution_model::String="eng",
     kwargs...
-)

Solve Multinetwork Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.solve_modelMethod
function solve_model(
+)

Solve Multinetwork Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.solve_modelMethod
function solve_model(
     pmitd_data::Dict{String,<:Any},
     pmitd_type::Type, optimizer,
     build_method::Function;
@@ -125,7 +125,7 @@
     make_si::Bool=true,
     solution_model::String="eng",
     kwargs...
-)

Instantiates and solves the integrated Transmission (PowerModels) & Distribution (PowerModelsDistribution) modeling object from power integrated transmission-distribution input data, pmitd_data. Here, pmitd_type is the integrated power transmission-distribution modeling type, build_method is the build method for the problem specification being considered, multinetwork is the boolean that defines if the modeling object should be define as multinetwork, solution_processors is the vector of the model solution processors, pmitd_ref_extensions is the array of modeling extensions, and make_si is the boolean that determines if the results are returned in SI or per-unit. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models. solution_model is a string that determines in which model, ENG or MATH, the solutions are presented. Returns a dictionary of results.

source
PowerModelsITD.solve_modelMethod
function solve_model(
+)

Instantiates and solves the integrated Transmission (PowerModels) & Distribution (PowerModelsDistribution) modeling object from power integrated transmission-distribution input data, pmitd_data. Here, pmitd_type is the integrated power transmission-distribution modeling type, build_method is the build method for the problem specification being considered, multinetwork is the boolean that defines if the modeling object should be define as multinetwork, solution_processors is the vector of the model solution processors, pmitd_ref_extensions is the array of modeling extensions, and make_si is the boolean that determines if the results are returned in SI or per-unit. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models. solution_model is a string that determines in which model, ENG or MATH, the solutions are presented. Returns a dictionary of results.

source
PowerModelsITD.solve_modelMethod
function solve_model(
     pm_file::String,
     pmd_file::String,
     pmitd_file::String,
@@ -140,7 +140,7 @@
     auto_rename::Bool=false,
     solution_model::String="eng",
     kwargs...
-)

Parses, instantiates, and solves the integrated Transmission (PowerModels) & Distribution (PowerModelsDistribution) modeling objects from power transmission, power distribution, and boundry linking input files pm_file, pmd_file, and pmitd_file, respectively. Here, pmitd_type is the integrated power transmission-distribution modeling type, optimizer is the optimzer used to solve the problem, build_method is the build method for the problem specification being considered, multinetwork is the boolean that defines if the modeling object should be define as multinetwork, solution_processors is the vector of the model solution processors, pmitd_ref_extensions is the array of modeling extensions, and make_si is the boolean that determines if the results are returned in SI or per-unit. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models. The variable auto_rename indicates if the user wants PMITD to automatically rename distribution systems with repeated ckt names. solution_model is a string that determines in which model, ENG or MATH, the solutions are presented. Returns a dictionary of results.

source
PowerModelsITD.solve_modelMethod
function solve_model(
+)

Parses, instantiates, and solves the integrated Transmission (PowerModels) & Distribution (PowerModelsDistribution) modeling objects from power transmission, power distribution, and boundry linking input files pm_file, pmd_file, and pmitd_file, respectively. Here, pmitd_type is the integrated power transmission-distribution modeling type, optimizer is the optimzer used to solve the problem, build_method is the build method for the problem specification being considered, multinetwork is the boolean that defines if the modeling object should be define as multinetwork, solution_processors is the vector of the model solution processors, pmitd_ref_extensions is the array of modeling extensions, and make_si is the boolean that determines if the results are returned in SI or per-unit. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models. The variable auto_rename indicates if the user wants PMITD to automatically rename distribution systems with repeated ckt names. solution_model is a string that determines in which model, ENG or MATH, the solutions are presented. Returns a dictionary of results.

source
PowerModelsITD.solve_modelMethod
function solve_model(
     pm_file::String,
     pmd_files::Vector,
     pmitd_file::String,
@@ -155,7 +155,7 @@
     auto_rename::Bool=false,
     solution_model::String="eng",
     kwargs...
-)

Parses, instantiates, and solves the integrated Transmission (PowerModels) & Distribution (PowerModelsDistribution) modeling objects from power transmission, multiple power distribution systems, and boundary linking input files pm_file, pmd_files vector of files, and pmitd_file, respectively. Here, pmitd_type is the integrated power transmission-distribution modeling type, optimizer is the optimzer used to solve the problem, build_method is the build method for the problem specification being considered, multinetwork is the boolean that defines if the modeling object should be define as multinetwork,solution_processors is the vector of the model solution processors, pmitd_ref_extensions is the array of modeling extensions, and make_si is the boolean that determines if the results are returned in SI or per-unit. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models. The variable auto_rename indicates if the user wants PMITD to automatically rename distribution systems with repeated ckt names. solution_model is a string that determines in which model, ENG or MATH, the solutions are presented. Returns a dictionary of results.

source
PowerModelsITD.solve_opfitdMethod
function solve_opfitd(
+)

Parses, instantiates, and solves the integrated Transmission (PowerModels) & Distribution (PowerModelsDistribution) modeling objects from power transmission, multiple power distribution systems, and boundary linking input files pm_file, pmd_files vector of files, and pmitd_file, respectively. Here, pmitd_type is the integrated power transmission-distribution modeling type, optimizer is the optimzer used to solve the problem, build_method is the build method for the problem specification being considered, multinetwork is the boolean that defines if the modeling object should be define as multinetwork,solution_processors is the vector of the model solution processors, pmitd_ref_extensions is the array of modeling extensions, and make_si is the boolean that determines if the results are returned in SI or per-unit. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models. The variable auto_rename indicates if the user wants PMITD to automatically rename distribution systems with repeated ckt names. solution_model is a string that determines in which model, ENG or MATH, the solutions are presented. Returns a dictionary of results.

source
PowerModelsITD.solve_opfitdMethod
function solve_opfitd(
     pm_file,
     pmd_file,
     pmitd_file,
@@ -168,7 +168,7 @@
     auto_rename::Bool=false,
     solution_model::String="eng",
     kwargs...
-)

Solve Integrated T&D Optimal Power Flow.

source
PowerModelsITD.solve_opfitdMethod
function solve_opfitd(
+)

Solve Integrated T&D Optimal Power Flow.

source
PowerModelsITD.solve_opfitdMethod
function solve_opfitd(
     pmitd_data::Dict{String,<:Any},
     pmitd_type,
     optimizer;
@@ -178,7 +178,7 @@
     make_si::Bool=true,
     solution_model::String="eng",
     kwargs...
-)

Solve Integrated T&D Optimal Power Flow.

source
PowerModelsITD.solve_opfitd_oltcMethod
function solve_opfitd_oltc(
+)

Solve Integrated T&D Optimal Power Flow.

source
PowerModelsITD.solve_opfitd_oltcMethod
function solve_opfitd_oltc(
     pm_file,
     pmd_file,
     pmitd_file,
@@ -191,7 +191,7 @@
     auto_rename::Bool=false,
     solution_model::String="eng",
     kwargs...
-)

Solve Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.solve_opfitd_oltcMethod
function solve_opfitd_oltc(
+)

Solve Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.solve_opfitd_oltcMethod
function solve_opfitd_oltc(
     pmitd_data::Dict{String,<:Any},
     pmitd_type,
     optimizer;
@@ -201,7 +201,7 @@
     make_si::Bool=true,
     solution_model::String="eng",
     kwargs...
-)

Solve Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.solve_opfitd_storageMethod
function solve_opfitd_storage(
+)

Solve Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.solve_opfitd_storageMethod
function solve_opfitd_storage(
     pm_file,
     pmd_file,
     pmitd_file,
@@ -214,7 +214,7 @@
     auto_rename::Bool=false,
     solution_model::String="eng",
     kwargs...
-)

Solve Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.solve_opfitd_storageMethod
function solve_opfitd_storage(
+)

Solve Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.solve_opfitd_storageMethod
function solve_opfitd_storage(
     pmitd_data::Dict{String,<:Any},
     pmitd_type,
     optimizer;
@@ -224,7 +224,7 @@
     make_si::Bool=true,
     solution_model::String="eng",
     kwargs...
-)

Solve Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.solve_pfitdMethod
function solve_pfitd(
+)

Solve Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.solve_pfitdMethod
function solve_pfitd(
     pm_file,
     pmd_file,
     pmitd_file,
@@ -237,7 +237,7 @@
     auto_rename::Bool=false,
     solution_model::String="eng",
     kwargs...
-)

Solve Integrated T&D Power Flow

source
PowerModelsITD.solve_pfitdMethod
function solve_pfitd(
+)

Solve Integrated T&D Power Flow

source
PowerModelsITD.solve_pfitdMethod
function solve_pfitd(
     pmitd_data::Dict{String,<:Any}
     pmitd_type,
     optimizer;
@@ -247,75 +247,75 @@
     make_si::Bool=true,
     solution_model::String="eng",
     kwargs...
-)

Solve Integrated T&D Power Flow

source

Builders

PowerModelsITD.build_dmld_opfitdMethod
function build_dmld_opfitd(
+)

Solve Integrated T&D Power Flow

source

Builders

PowerModelsITD.build_dmld_opfitdMethod
function build_dmld_opfitd(
 	pmitd::AbstractBFPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow with minimum load delta (mld) for BF Models.

source
PowerModelsITD.build_dmld_opfitdMethod
function build_dmld_opfitd(
+)

Constructor for Integrated T&D Optimal Power Flow with minimum load delta (mld) for BF Models.

source
PowerModelsITD.build_dmld_opfitdMethod
function build_dmld_opfitd(
 	pmitd::AbstractIVRPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow with minimum load delta (mld) in current-voltage (IV) variable space.

source
PowerModelsITD.build_dmld_opfitdMethod
function build_dmld_opfitd(
+)

Constructor for Integrated T&D Optimal Power Flow with minimum load delta (mld) in current-voltage (IV) variable space.

source
PowerModelsITD.build_dmld_opfitdMethod
function build_dmld_opfitd(
 	pmitd::AbstractLNLBFPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow with minimum load delta (mld) for L/NL to BF.

source
PowerModelsITD.build_dmld_opfitdMethod
function build_dmld_opfitd(
+)

Constructor for Integrated T&D Optimal Power Flow with minimum load delta (mld) for L/NL to BF.

source
PowerModelsITD.build_dmld_opfitdMethod
function build_dmld_opfitd(
 	pmitd::AbstractPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow with minimum load delta (mld).

source
PowerModelsITD.build_mn_dmld_opfitd_simpleMethod
function build_mn_dmld_opfitd_simple(
+)

Constructor for Integrated T&D Optimal Power Flow with minimum load delta (mld).

source
PowerModelsITD.build_mn_dmld_opfitd_simpleMethod
function build_mn_dmld_opfitd_simple(
 	pmitd::AbstractBFPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (mld) for BF Models.

source
PowerModelsITD.build_mn_dmld_opfitd_simpleMethod
function build_mn_dmld_opfitd_simple(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (mld) for BF Models.

source
PowerModelsITD.build_mn_dmld_opfitd_simpleMethod
function build_mn_dmld_opfitd_simple(
 	pmitd::AbstractIVRPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (mld) in current-voltage (IV) variable space.

source
PowerModelsITD.build_mn_dmld_opfitd_simpleMethod
function build_mn_dmld_opfitd_simple(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (mld) in current-voltage (IV) variable space.

source
PowerModelsITD.build_mn_dmld_opfitd_simpleMethod
function build_mn_dmld_opfitd_simple(
 	pmitd::AbstractLNLBFPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (mld) for L/NL to BF.

source
PowerModelsITD.build_mn_dmld_opfitd_simpleMethod
function build_mn_dmld_opfitd_simple(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (mld) for L/NL to BF.

source
PowerModelsITD.build_mn_dmld_opfitd_simpleMethod
function build_mn_dmld_opfitd_simple(
 	pmitd::AbstractPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (mld).

source
PowerModelsITD.build_mn_opfitdMethod
function build_mn_opfitd(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow with minimum load delta (mld).

source
PowerModelsITD.build_mn_opfitdMethod
function build_mn_opfitd(
 	pmitd::AbstractBFPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow for BF Models.

source
PowerModelsITD.build_mn_opfitdMethod
function build_mn_opfitd(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow for BF Models.

source
PowerModelsITD.build_mn_opfitdMethod
function build_mn_opfitd(
 	pmitd::AbstractIVRPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow in current-voltage (IV) variable space.

source
PowerModelsITD.build_mn_opfitdMethod
function build_mn_opfitd(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow in current-voltage (IV) variable space.

source
PowerModelsITD.build_mn_opfitdMethod
function build_mn_opfitd(
 	pmitd::AbstractLNLBFPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow for L/NL to BF.

source
PowerModelsITD.build_mn_opfitdMethod
function build_mn_opfitd(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow for L/NL to BF.

source
PowerModelsITD.build_mn_opfitdMethod
function build_mn_opfitd(
 	pmitd::AbstractPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow.

source
PowerModelsITD.build_mn_opfitd_oltcMethod
function build_mn_opfitd_oltc(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow.

source
PowerModelsITD.build_mn_opfitd_oltcMethod
function build_mn_opfitd_oltc(
 	pmitd::AbstractBFPowerModelITD
-)

Constructor for Multinetwork Integrated T&D OLTC Optimal Power Flow for BF Models.

source
PowerModelsITD.build_mn_opfitd_oltcMethod
function build_mn_opfitd_oltc(
+)

Constructor for Multinetwork Integrated T&D OLTC Optimal Power Flow for BF Models.

source
PowerModelsITD.build_mn_opfitd_oltcMethod
function build_mn_opfitd_oltc(
 	pmitd::AbstractLNLBFPowerModelITD
-)

Constructor for Multinetwork Integrated T&D OLTC Optimal Power Flow for L/NL to BF.

source
PowerModelsITD.build_mn_opfitd_oltcMethod
function build_mn_opfitd_oltc(
+)

Constructor for Multinetwork Integrated T&D OLTC Optimal Power Flow for L/NL to BF.

source
PowerModelsITD.build_mn_opfitd_oltcMethod
function build_mn_opfitd_oltc(
 	pmitd::AbstractPowerModelITD
-)

Constructor for Multinetwork Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.build_mn_opfitd_storageMethod
function build_mn_opfitd_storage(
+)

Constructor for Multinetwork Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.build_mn_opfitd_storageMethod
function build_mn_opfitd_storage(
 	pmitd::AbstractBFPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow for BF Models with Storage OPF Dispatch.

source
PowerModelsITD.build_mn_opfitd_storageMethod
function build_mn_opfitd_storage(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow for BF Models with Storage OPF Dispatch.

source
PowerModelsITD.build_mn_opfitd_storageMethod
function build_mn_opfitd_storage(
 	pmitd::AbstractIVRPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow in current-voltage (IV) variable space with Storage OPF Dispatch.

source
PowerModelsITD.build_mn_opfitd_storageMethod
function build_mn_opfitd_storage(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow in current-voltage (IV) variable space with Storage OPF Dispatch.

source
PowerModelsITD.build_mn_opfitd_storageMethod
function build_mn_opfitd_storage(
 	pmitd::AbstractLNLBFPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow for L/NL to BF with Storage OPF Dispatch.

source
PowerModelsITD.build_mn_opfitd_storageMethod
function build_mn_opfitd_storage(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow for L/NL to BF with Storage OPF Dispatch.

source
PowerModelsITD.build_mn_opfitd_storageMethod
function build_mn_opfitd_storage(
 	pmitd::AbstractPowerModelITD
-)

Constructor for Multinetwork Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.build_opfitdMethod
function build_opfitd(
+)

Constructor for Multinetwork Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.build_opfitdMethod
function build_opfitd(
 	pmitd::AbstractBFPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow for BF Models.

source
PowerModelsITD.build_opfitdMethod
function build_opfitd(
+)

Constructor for Integrated T&D Optimal Power Flow for BF Models.

source
PowerModelsITD.build_opfitdMethod
function build_opfitd(
 	pmitd::AbstractIVRPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow in current-voltage (IV) variable space.

source
PowerModelsITD.build_opfitdMethod
function build_opfitd(
+)

Constructor for Integrated T&D Optimal Power Flow in current-voltage (IV) variable space.

source
PowerModelsITD.build_opfitdMethod
function build_opfitd(
 	pmitd::AbstractLNLBFPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow for L/NL to BF.

source
PowerModelsITD.build_opfitdMethod
function build_opfitd(
+)

Constructor for Integrated T&D Optimal Power Flow for L/NL to BF.

source
PowerModelsITD.build_opfitdMethod
function build_opfitd(
 	pmitd::AbstractPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow.

source
PowerModelsITD.build_opfitd_oltcMethod
function build_opfitd_oltc(
+)

Constructor for Integrated T&D Optimal Power Flow.

source
PowerModelsITD.build_opfitd_oltcMethod
function build_opfitd_oltc(
 	pmitd::AbstractBFPowerModelITD
-)

Constructor for Integrated T&D OLTC Optimal Power Flow for BF Models.

source
PowerModelsITD.build_opfitd_oltcMethod
function build_opfitd_oltc(
+)

Constructor for Integrated T&D OLTC Optimal Power Flow for BF Models.

source
PowerModelsITD.build_opfitd_oltcMethod
function build_opfitd_oltc(
 	pmitd::AbstractLNLBFPowerModelITD
-)

Constructor for Integrated T&D OLTC Optimal Power Flow for L/NL to BF.

source
PowerModelsITD.build_opfitd_oltcMethod
function build_opfitd_oltc(
+)

Constructor for Integrated T&D OLTC Optimal Power Flow for L/NL to BF.

source
PowerModelsITD.build_opfitd_oltcMethod
function build_opfitd_oltc(
 	pmitd::AbstractPowerModelITD
-)

Constructor for Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.build_opfitd_storageMethod
function build_opfitd_storage(
+)

Constructor for Integrated T&D OLTC Optimal Power Flow.

source
PowerModelsITD.build_opfitd_storageMethod
function build_opfitd_storage(
 	pmitd::AbstractBFPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow for BF Models with Storage OPF Dispatch.

source
PowerModelsITD.build_opfitd_storageMethod
function build_opfitd_storage(
+)

Constructor for Integrated T&D Optimal Power Flow for BF Models with Storage OPF Dispatch.

source
PowerModelsITD.build_opfitd_storageMethod
function build_opfitd_storage(
 	pmitd::AbstractIVRPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow in current-voltage (IV) variable space with Storage OPF Dispatch.

source
PowerModelsITD.build_opfitd_storageMethod
function build_opfitd_storage(
+)

Constructor for Integrated T&D Optimal Power Flow in current-voltage (IV) variable space with Storage OPF Dispatch.

source
PowerModelsITD.build_opfitd_storageMethod
function build_opfitd_storage(
 	pmitd::AbstractLNLBFPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow for L/NL to BF with Storage OPF Dispatch.

source
PowerModelsITD.build_opfitd_storageMethod
function build_opfitd_storage(
+)

Constructor for Integrated T&D Optimal Power Flow for L/NL to BF with Storage OPF Dispatch.

source
PowerModelsITD.build_opfitd_storageMethod
function build_opfitd_storage(
 	pmitd::AbstractPowerModelITD
-)

Constructor for Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.build_pfitdMethod
function build_pfitd(
+)

Constructor for Integrated T&D Optimal Power Flow with Storage OPF Dispatch.

source
PowerModelsITD.build_pfitdMethod
function build_pfitd(
 	pmitd::AbstractBFPowerModelITD
-)

Constructor for Integrated T&D Power Flow for Branch Flow (BF) Formulations.

source
PowerModelsITD.build_pfitdMethod
function build_pfitd(
+)

Constructor for Integrated T&D Power Flow for Branch Flow (BF) Formulations.

source
PowerModelsITD.build_pfitdMethod
function build_pfitd(
 	pmitd::AbstractIVRPowerModelITD
-)

Constructor for Integrated T&D Power Flow in current-voltage (IV) variable space.

source
PowerModelsITD.build_pfitdMethod
function build_pfitd(
+)

Constructor for Integrated T&D Power Flow in current-voltage (IV) variable space.

source
PowerModelsITD.build_pfitdMethod
function build_pfitd(
 	pmitd::AbstractLNLBFPowerModelITD
-)

Constructor for Integrated T&D Power Flow for L/NL to BF.

source
PowerModelsITD.build_pfitdMethod
function build_pfitd(
+)

Constructor for Integrated T&D Power Flow for L/NL to BF.

source
PowerModelsITD.build_pfitdMethod
function build_pfitd(
 	pmitd::AbstractPowerModelITD
-)

Constructor for Integrated T&D Power Flow.

source

Model Instantiation

PowerModelsITD.instantiate_modelFunction
function instantiate_model(
+)

Constructor for Integrated T&D Power Flow.

source

Model Instantiation

PowerModelsITD.instantiate_modelFunction
function instantiate_model(
     pm_file::String,
     pmd_files::Vector,
     pmitd_file::String,
@@ -326,7 +326,7 @@
     eng2math_passthrough::Dict{String,Vector{String}}=Dict{String,Vector{String}}(),
     auto_rename::Bool=false,
     kwargs...
-)

Instantiates and returns PowerModelsITD modeling object from power transmission, power distribution, and boundary linking input files pm_file, pmd_files vector, and pmitd_file, respectively. Here, pmitd_type is the integrated power transmission-distribution modeling type and build_method is the build method for the problem specification being considered. multinetwork is the boolean that defines if the modeling object should be define as multinetwork. pmitd_ref_extensions are the arrays of power transmission and distribution modeling extensions. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models.

source
function instantiate_model(
+)

Instantiates and returns PowerModelsITD modeling object from power transmission, power distribution, and boundary linking input files pm_file, pmd_files vector, and pmitd_file, respectively. Here, pmitd_type is the integrated power transmission-distribution modeling type and build_method is the build method for the problem specification being considered. multinetwork is the boolean that defines if the modeling object should be define as multinetwork. pmitd_ref_extensions are the arrays of power transmission and distribution modeling extensions. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models.

source
function instantiate_model(
     pm_file::String,
     pmd_file::String,
     pmitd_file::String,
@@ -337,7 +337,7 @@
     eng2math_passthrough::Dict{String,Vector{String}}=Dict{String,Vector{String}}(),
     auto_rename::Bool=false,
     kwargs...
-)

Instantiates and returns PowerModelsITD modeling object from power transmission, power distribution, and boundary linking input files pm_file, pmd_file (one file provided), and pmitd_file, respectively. Here, pmitd_type is the integrated power transmission-distribution modeling type and build_method is the build method for the problem specification being considered. multinetwork is the boolean that defines if the modeling object should be define as multinetwork. pmitd_ref_extensions are the arrays of power transmission and distribution modeling extensions. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models.

source
function instantiate_model(
+)

Instantiates and returns PowerModelsITD modeling object from power transmission, power distribution, and boundary linking input files pm_file, pmd_file (one file provided), and pmitd_file, respectively. Here, pmitd_type is the integrated power transmission-distribution modeling type and build_method is the build method for the problem specification being considered. multinetwork is the boolean that defines if the modeling object should be define as multinetwork. pmitd_ref_extensions are the arrays of power transmission and distribution modeling extensions. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models.

source
function instantiate_model(
     pmitd_data::Dict{String,<:Any},
     pmitd_type::Type,
     build_method::Function;
@@ -345,4 +345,4 @@
     pmitd_ref_extensions::Vector{<:Function}=Function[],
     eng2math_passthrough::Dict{String,Vector{String}}=Dict{String,Vector{String}}(),
     kwargs...
-)

Instantiates and returns PowerModelsITD modeling object from parsed power transmission and distribution (PMITD) input data pmitd_data. Here, pmitd_type is the integrated power transmission and distribution modeling type and build_method is the build method for the problem specification being considered. multinetwork is the boolean that defines if the modeling object should be define as multinetwork. pmitd_ref_extensions is an array of power transmission and distribution modeling extensions. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models.

source
+)

Instantiates and returns PowerModelsITD modeling object from parsed power transmission and distribution (PMITD) input data pmitd_data. Here, pmitd_type is the integrated power transmission and distribution modeling type and build_method is the build method for the problem specification being considered. multinetwork is the boolean that defines if the modeling object should be define as multinetwork. pmitd_ref_extensions is an array of power transmission and distribution modeling extensions. eng2math_passthrough are the passthrough vectors to be considered by the PMD MATH models.

source diff --git a/dev/reference/variables.html b/dev/reference/variables.html index 80d7dc3..65c4bea 100644 --- a/dev/reference/variables.html +++ b/dev/reference/variables.html @@ -1,2 +1,2 @@ -Variables · PowerModelsITD.jl

Variables

+Variables · PowerModelsITD.jl

Variables

diff --git a/dev/tutorials/BeginnersGuide.html b/dev/tutorials/BeginnersGuide.html index 744a457..1a586ec 100644 --- a/dev/tutorials/BeginnersGuide.html +++ b/dev/tutorials/BeginnersGuide.html @@ -128,4 +128,4 @@ [ Main | Info ] : Solution Values (MATH model) for Distribution system(s): Dict{String, Any}("branch" => Dict{String, Any}("4" => Dict{String, Any}("qf" => [1354.795202241865, 1507.3400640138161, 1504.5761375753734], "qt" => [-1354.6163225169614, -1507.2344513630767, -1504.4700979169072], "pt" => [-3367.119671256992, -2346.3650144634003, -2354.829891017304], "pf" => [3367.119671256992, 2346.3650144634003, 2354.8298910173044]), "1" => Dict{String, Any}("qf" => [1344.7785535214057, 1503.9392726830868, 1502.43791779139], "qt" => [-1333.3300000000002, -1500.0000000000002, -1500.0000000000002], "pt" => [-3333.3323371531164, -2333.3323371935803, -2333.3323371900296], "pf" => [3351.5305232165006, 2340.3516279866967, 2344.8964126191295]), "5" => Dict{String, Any}("qf" => [1354.7952022418647, 1507.3400640138161, 1504.5761375753734], "qt" => [-1354.795202241865, -1507.3400640138161, -1504.5761375753734], "pt" => [-3367.119671256992, -2346.3650144634003, -2354.8298910173044], "pf" => [3367.1286152278885, 2346.3702946258413, 2354.835193007617]), "2" => Dict{String, Any}("qf" => [1354.6163225169614, 1507.2344513630765, 1504.4700979169072], "qt" => [-1344.7785535214057, -1503.9392726830868, -1502.43791779139], "pt" => [-3351.5305232165006, -2340.3516279866967, -2344.8964126191295], "pf" => [3367.110727286094, 2346.3597337552624, 2354.8245890269895]), "6" => Dict{String, Any}("qf" => [1355.0096276913357, 1507.4706735124998, 1504.7037665348369], "qt" => [-1354.7952022418647, -1507.3400640138161, -1504.5761375753734], "pt" => [-3367.1286152278885, -2346.3702946258413, -2354.835193007617], "pf" => [3367.1850486607445, 2346.4026604158908, 2354.8649645151804]), "3" => Dict{String, Any}("qf" => [-1354.6163225169614, -1507.2344513630765, -1504.4700979169072], "qt" => [1354.6163225169614, 1507.2344513630767, 1504.4700979169072], "pt" => [3367.119671256992, 2346.3650144634003, 2354.829891017304], "pf" => [-3367.110727286094, -2346.3597337552624, -2354.8245890269895])), "gen" => Dict{String, Any}("1" => Dict{String, Any}("qg_bus" => [-0.0, -0.0, -0.0], "qg" => [-0.0, -0.0, -0.0], "pg" => [666.6676628468832, 666.6676628064197, 666.6676628099706], "pg_bus" => [666.6676628468832, 666.6676628064197, 666.6676628099706])), "transformer" => Dict{String, Any}("1" => Dict{String, Any}("qf" => [1354.7952022418647, 1507.3400640138161, 1504.5761375753734], "qt" => [-1354.7952022418647, -1507.3400640138161, -1504.5761375753734], "pt" => [-3367.1286152278885, -2346.3702946258413, -2354.835193007617], "pf" => [3367.1286152278885, 2346.3702946258413, 2354.835193007617]), "2" => Dict{String, Any}("qf" => [-1354.6163225169614, -1507.2344513630765, -1504.4700979169072], "qt" => [1354.6163225169614, 1507.2344513630765, 1504.4700979169072], "pt" => [3367.110727286094, 2346.3597337552624, 2354.8245890269895], "pf" => [-3367.110727286094, -2346.3597337552624, -2354.8245890269895])), "settings" => Dict{String, Any}("sbase_default" => 100000.0, "vbases_default" => Dict{String, Real}("4" => 132.79056191361394), "voltage_scale_factor" => 1000.0, "sbase" => 100000.0, "power_scale_factor" => 1000.0, "base_frequency" => 60.0), "multinetwork" => false, "load" => Dict{String, Any}("1" => Dict{String, Any}("qd_bus" => [1500.0000000000002], "pd_bus" => [3000.0000000000005], "qd" => [1500.0000000000002], "pd" => [3000.0000000000005]), "2" => Dict{String, Any}("qd_bus" => [1500.0000000000002], "pd_bus" => [3000.0000000000005], "qd" => [1500.0000000000002], "pd" => [3000.0000000000005]), "3" => Dict{String, Any}("qd_bus" => [1333.3300000000002], "pd_bus" => [4000.0], "qd" => [1333.3300000000002], "pd" => [4000.0])), "bus" => Dict{String, Any}("8" => Dict{String, Any}("va" => [-0.8064197613818459, -120.80551025323088, 119.19451148306055], "vm" => [0.5427404621782935, 0.5427412225103798, 0.5427420415368795]), "4" => Dict{String, Any}("va" => [-0.8064197613818459, -120.80551025323088, 119.19451148306055], "vm" => [124.83030630100751, 124.83048117738736, 124.8306695534823]), "1" => Dict{String, Any}("va" => [-0.9542852429015141, -120.82463162589393, 119.31695673367102], "vm" => [7.406969380817659, 7.446613395025093, 7.431619824571949]), "5" => Dict{String, Any}("va" => [-0.8089868491003656, -120.80727720360223, 119.19273784447546], "vm" => [0.5427292370876581, 0.542729249043147, 0.5427300853404582]), "2" => Dict{String, Any}("va" => [-0.8089341499650244, -120.8072185671511, 119.19279637320398], "vm" => [7.489646348633082, 7.489651704574486, 7.489663202448464]), "6" => Dict{String, Any}("va" => [-0.8089341499650244, -120.8072185671511, 119.19279637320398], "vm" => [0.5427279962777596, 0.5427283843894555, 0.5427292175687293]), "7" => Dict{String, Any}("va" => [-0.8063670574676239, -120.8054516152584, 119.19457001333551], "vm" => [0.5427392213907619, 0.5427403578738178, 0.5427411737823131]), "9" => Dict{String, Any}("va" => [-0.8036120919989638, -120.80361209199894, 119.19638790800104], "vm" => [124.83485996888251, 124.83485996888251, 124.83485996888251]), "3" => Dict{String, Any}("va" => [-0.8772138344778904, -120.81603057758366, 119.24896754768255], "vm" => [7.4514218741879255, 7.4697354940559455, 7.462765580863505])), "per_unit" => false) -[ Main | Info ] : Solution Values (MATH model) for Boundary(ies): Dict{String, Any}("multinetwork" => false, "boundary" => Dict{String, Any}("(100001, 9, 5)" => Dict{String, Any}("pbound_to" => [-3367.1850486607445, -2346.4026604158908, -2354.8649645151804], "qbound_to" => [-1355.0096276913357, -1507.4706735124998, -1504.7037665348369]), "(100001, 5, 9)" => Dict{String, Any}("pbound_fr" => [8068.452673591816], "qbound_fr" => [4367.184067738673])))

As seen in the console output, the nodes/buses are now referenced by their MATH names (i.e., numbers) and not their actual ENG name.

+[ Main | Info ] : Solution Values (MATH model) for Boundary(ies): Dict{String, Any}("multinetwork" => false, "boundary" => Dict{String, Any}("(100001, 9, 5)" => Dict{String, Any}("pbound_to" => [-3367.1850486607445, -2346.4026604158908, -2354.8649645151804], "qbound_to" => [-1355.0096276913357, -1507.4706735124998, -1504.7037665348369]), "(100001, 5, 9)" => Dict{String, Any}("pbound_fr" => [8068.452673591816], "qbound_fr" => [4367.184067738673])))

As seen in the console output, the nodes/buses are now referenced by their MATH names (i.e., numbers) and not their actual ENG name.