Skip to content

Commit

Permalink
build based on beaaadc
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Nov 16, 2024
1 parent 16ece05 commit 68ea350
Show file tree
Hide file tree
Showing 13 changed files with 23 additions and 23 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2024-11-16T03:25:28","documenter_version":"1.8.0"}}
{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2024-11-16T03:31:48","documenter_version":"1.8.0"}}
4 changes: 2 additions & 2 deletions dev/decomposition/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/developer/developer/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
CommonOPF.ShuntAdmittance</code></pre><p>To add a new Bus device:</p><ol><li>create <code>YourType</code> that has at a minimum: <code>julia @with_kw struct YourType &lt;: AbstractBus bus::String end</code><ul><li>any required fields should have no default</li><li>any optional fields should have default of <code>missing</code></li></ul></li><li>OPTIONALLY define a <code>check_busses!(busses::AbstractVector{YourType})</code> method<ul><li><code>check_busses!</code> is used in the <code>Network</code> builder after unpacking user input dicts into <code>YourType</code> constructor</li></ul></li><li>Ensure compatibility with the <code>MetaGraph</code><ul><li>make sure the <code>AbstractVector{YourType}</code> returned from your constructor is compatible with <a href="../input_validation/#CommonOPF.fill_node_attributes!"><code>CommonOPF.fill_node_attributes!</code></a>.</li></ul></li></ol><p>The <code>fill_{edge,node}_attributes!</code> methods are used in the <code>Network</code> builder to store all the attributes of <code>YourType</code> in the <code>Network.graph</code>. The <code>Network.graph</code> is used to build the power flow models – so you also will probably need to modify <code>BranchFlowModel.jl</code> to account for your new type. (But in the future we might be able to handle abstract edge or bus models that implement a certain set of attributes).</p><p>You might also want to extend the <code>Network</code> interface for your type. For example, when adding the <code>Load</code> type we added a load buss getter like so:</p><pre><code class="language-julia hljs">load_busses(net::AbstractNetwork) = (b for b in busses(net) if haskey(net[b], :Load))</code></pre><h3 id="Adding-an-Edge-device"><a class="docs-heading-anchor" href="#Adding-an-Edge-device">Adding an Edge device</a><a id="Adding-an-Edge-device-1"></a><a class="docs-heading-anchor-permalink" href="#Adding-an-Edge-device" title="Permalink"></a></h3><p>The current Edge devices are:</p><pre><code class="language-julia hljs">subtypes(CommonOPF.AbstractEdge)</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">3-element Vector{Any}:
CommonOPF.Conductor
CommonOPF.Transformer
CommonOPF.VoltageRegulator</code></pre><p>To add a new Edge device:</p><ol><li>create <code>YourType</code> that has at a minimum: <code>julia @with_kw mutable struct YourType &lt;: AbstractEdge busses::Tuple{String, String} phases::Union{Vector{Int}, Missing} = missing rmatrix::Union{AbstractArray, Missing} = missing xmatrix::Union{AbstractArray, Missing} = missing end</code> For multiphase models each subtype of <code>AbstractEdge</code> must have <code>rmatrix</code> and <code>xmatrix</code> properties. If you also specify <code>resistance</code> and <code>reactance</code> fields then you can take advantage of the default <code>validate_multiphase_edges!</code>. You can also implement your own <code>validate_multiphase_edges!</code> that dispatches on your type. See for example <code>validate_multiphase_edges!(conds::AbstractVector{Conductor})</code>. Note that </li><li>define methods that dispatch on your type like<ul><li><code>resistance(your_edge::YourType)</code></li><li><code>reactance(your_edge::YourType)</code></li></ul></li><li>OPTIONALLY define a <code>check_edges!(edges::AbstractVector{YourType})</code> method<ul><li><code>check_edges!</code> is used in the <code>Network</code> builder after unpacking user input dicts into <code>YourType</code> constructor. <code>check_edges!</code> is where you can use the default <code>validate_multiphase_edges!</code> for example.</li></ul></li></ol></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../math/">« Math</a><a class="docs-footer-nextpage" href="../input_validation/">Input validators and Network builders »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.8.0 on <span class="colophon-date" title="Saturday 16 November 2024 03:25">Saturday 16 November 2024</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
CommonOPF.VoltageRegulator</code></pre><p>To add a new Edge device:</p><ol><li>create <code>YourType</code> that has at a minimum: <code>julia @with_kw mutable struct YourType &lt;: AbstractEdge busses::Tuple{String, String} phases::Union{Vector{Int}, Missing} = missing rmatrix::Union{AbstractArray, Missing} = missing xmatrix::Union{AbstractArray, Missing} = missing end</code> For multiphase models each subtype of <code>AbstractEdge</code> must have <code>rmatrix</code> and <code>xmatrix</code> properties. If you also specify <code>resistance</code> and <code>reactance</code> fields then you can take advantage of the default <code>validate_multiphase_edges!</code>. You can also implement your own <code>validate_multiphase_edges!</code> that dispatches on your type. See for example <code>validate_multiphase_edges!(conds::AbstractVector{Conductor})</code>. Note that </li><li>define methods that dispatch on your type like<ul><li><code>resistance(your_edge::YourType)</code></li><li><code>reactance(your_edge::YourType)</code></li></ul></li><li>OPTIONALLY define a <code>check_edges!(edges::AbstractVector{YourType})</code> method<ul><li><code>check_edges!</code> is used in the <code>Network</code> builder after unpacking user input dicts into <code>YourType</code> constructor. <code>check_edges!</code> is where you can use the default <code>validate_multiphase_edges!</code> for example.</li></ul></li></ol></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../math/">« Math</a><a class="docs-footer-nextpage" href="../input_validation/">Input validators and Network builders »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.8.0 on <span class="colophon-date" title="Saturday 16 November 2024 03:31">Saturday 16 November 2024</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 68ea350

Please sign in to comment.