Skip to content

Commit

Permalink
deploy: 006ff90
Browse files Browse the repository at this point in the history
  • Loading branch information
visr committed Mar 12, 2024
1 parent c8b9300 commit d8fff70
Show file tree
Hide file tree
Showing 80 changed files with 4,364 additions and 5,520 deletions.
354 changes: 177 additions & 177 deletions build/index.html

Large diffs are not rendered by default.

50 changes: 25 additions & 25 deletions core/allocation.html
Original file line number Diff line number Diff line change
Expand Up @@ -564,7 +564,7 @@ <h1 data-number="5"><span class="header-section-number">5</span> Solving the all
<section id="example" class="level2" data-number="5.1">
<h2 data-number="5.1" class="anchored" data-anchor-id="example"><span class="header-section-number">5.1</span> Example</h2>
<p>The following is an example of an optimization problem for the example shown <a href="../python/examples.html#model-with-allocation">here</a>:</p>
<div id="869c8c60" class="cell" data-execution_count="1">
<div id="e101cd49" class="cell" data-execution_count="1">
<details class="code-fold">
<summary>Code</summary>
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">Ribasim</span></span>
Expand All @@ -589,45 +589,45 @@ <h2 data-number="5.1" class="anchored" data-anchor-id="example"><span class="hea
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a><span class="fu">println</span>(p.allocation.allocation_models[<span class="fl">1</span>].problem)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Min F_abs_user_demand[UserDemand #3] + F_abs_user_demand[UserDemand #13] + F_abs_user_demand[UserDemand #6] + F_abs_basin[Basin #2] + F_abs_basin[Basin #5] + F_abs_basin[Basin #12]
<pre><code>Min F_abs_user_demand[UserDemand #3] + F_abs_user_demand[UserDemand #6] + F_abs_user_demand[UserDemand #13] + F_abs_basin[Basin #12] + F_abs_basin[Basin #2] + F_abs_basin[Basin #5]
Subject to
flow_conservation[Basin #2] : -F[(FlowBoundary #1, Basin #2)] - F[(Basin #5, Basin #2)] + F[(Basin #2, Basin #5)] + F[(Basin #2, UserDemand #3)] + F_basin_in[Basin #2] - F_basin_out[Basin #2] = 0
flow_conservation[Basin #5] : F[(Basin #5, TabulatedRatingCurve #7)] + F[(Basin #5, UserDemand #6)] + F[(Basin #5, Basin #2)] - F[(Basin #2, Basin #5)] + F_basin_in[Basin #5] - F_basin_out[Basin #5] = 0
flow_conservation[Basin #12] : -F[(TabulatedRatingCurve #7, Basin #12)] + F[(Basin #12, UserDemand #13)] + F_basin_in[Basin #12] - F_basin_out[Basin #12] = 0
flow_conservation[Basin #2] : -F[(Basin #5, Basin #2)] + F[(Basin #2, UserDemand #3)] - F[(FlowBoundary #1, Basin #2)] + F[(Basin #2, Basin #5)] + F_basin_in[Basin #2] - F_basin_out[Basin #2] = 0
flow_conservation[Basin #5] : F[(Basin #5, Basin #2)] + F[(Basin #5, TabulatedRatingCurve #7)] + F[(Basin #5, UserDemand #6)] - F[(Basin #2, Basin #5)] + F_basin_in[Basin #5] - F_basin_out[Basin #5] = 0
abs_positive_user_demand[UserDemand #3] : -F[(Basin #2, UserDemand #3)] + F_abs_user_demand[UserDemand #3] ≥ -1.5
abs_positive_user_demand[UserDemand #6] : -F[(Basin #5, UserDemand #6)] + F_abs_user_demand[UserDemand #6] ≥ 0
abs_positive_user_demand[UserDemand #13] : -F[(Basin #12, UserDemand #13)] + F_abs_user_demand[UserDemand #13] ≥ 0
abs_negative_user_demand[UserDemand #3] : F[(Basin #2, UserDemand #3)] + F_abs_user_demand[UserDemand #3] ≥ 1.5
abs_negative_user_demand[UserDemand #6] : F[(Basin #5, UserDemand #6)] + F_abs_user_demand[UserDemand #6] ≥ 0
abs_negative_user_demand[UserDemand #13] : F[(Basin #12, UserDemand #13)] + F_abs_user_demand[UserDemand #13] ≥ 0
abs_positive_basin[Basin #12] : -F_basin_in[Basin #12] + F_abs_basin[Basin #12] ≥ 0
abs_positive_basin[Basin #2] : -F_basin_in[Basin #2] + F_abs_basin[Basin #2] ≥ 0
abs_positive_basin[Basin #5] : -F_basin_in[Basin #5] + F_abs_basin[Basin #5] ≥ 0
abs_negative_basin[Basin #12] : F_basin_in[Basin #12] + F_abs_basin[Basin #12] ≥ 0
abs_negative_basin[Basin #2] : F_basin_in[Basin #2] + F_abs_basin[Basin #2] ≥ 0
abs_negative_basin[Basin #5] : F_basin_in[Basin #5] + F_abs_basin[Basin #5] ≥ 0
source[(FlowBoundary #1, Basin #2)] : F[(FlowBoundary #1, Basin #2)] ≤ 1
return_flow[UserDemand #13] : F[(UserDemand #13, Terminal #10)] ≤ 0
fractional_flow[(TabulatedRatingCurve #7, Basin #12)] : -0.4 F[(Basin #5, TabulatedRatingCurve #7)] + F[(TabulatedRatingCurve #7, Basin #12)] ≤ 0
fractional_flow[(TabulatedRatingCurve #7, Basin #12)] : F[(TabulatedRatingCurve #7, Basin #12)] - 0.4 F[(Basin #5, TabulatedRatingCurve #7)] ≤ 0
basin_outflow[Basin #12] : F_basin_out[Basin #12] ≤ 0
basin_outflow[Basin #2] : F_basin_out[Basin #2] ≤ 0
basin_outflow[Basin #5] : F_basin_out[Basin #5] ≤ 0
basin_outflow[Basin #12] : F_basin_out[Basin #12] ≤ 0
F[(UserDemand #13, Terminal #10)] ≥ 0
F[(TabulatedRatingCurve #7, Basin #12)] ≥ 0
F[(Basin #5, Basin #2)] ≥ 0
F[(Basin #5, TabulatedRatingCurve #7)] ≥ 0
F[(Basin #5, UserDemand #6)] ≥ 0
F[(FlowBoundary #1, Basin #2)] ≥ 0
F[(Basin #5, Basin #2)] ≥ 0
F[(Basin #2, Basin #5)] ≥ 0
F[(Basin #2, UserDemand #3)] ≥ 0
F[(TabulatedRatingCurve #7, Basin #12)] ≥ 0
F[(TabulatedRatingCurve #7, Terminal #10)] ≥ 0
F[(FlowBoundary #1, Basin #2)] ≥ 0
F[(Basin #12, UserDemand #13)] ≥ 0
F[(UserDemand #13, Terminal #10)] ≥ 0
F[(Basin #2, Basin #5)] ≥ 0
F_basin_in[Basin #12] ≥ 0
F_basin_in[Basin #2] ≥ 0
F_basin_in[Basin #5] ≥ 0
F_basin_in[Basin #12] ≥ 0
F_basin_out[Basin #12] ≥ 0
F_basin_out[Basin #2] ≥ 0
F_basin_out[Basin #5] ≥ 0
F_basin_out[Basin #12] ≥ 0
abs_positive_user_demand[UserDemand #3] : -F[(Basin #2, UserDemand #3)] + F_abs_user_demand[UserDemand #3] ≥ 0
abs_positive_user_demand[UserDemand #13] : -F[(Basin #12, UserDemand #13)] + F_abs_user_demand[UserDemand #13] ≥ 0
abs_positive_user_demand[UserDemand #6] : -F[(Basin #5, UserDemand #6)] + F_abs_user_demand[UserDemand #6] ≥ -1.5
abs_negative_user_demand[UserDemand #3] : F[(Basin #2, UserDemand #3)] + F_abs_user_demand[UserDemand #3] ≥ 0
abs_negative_user_demand[UserDemand #13] : F[(Basin #12, UserDemand #13)] + F_abs_user_demand[UserDemand #13] ≥ 0
abs_negative_user_demand[UserDemand #6] : F[(Basin #5, UserDemand #6)] + F_abs_user_demand[UserDemand #6] ≥ 1.5
abs_positive_basin[Basin #2] : -F_basin_in[Basin #2] + F_abs_basin[Basin #2] ≥ 0
abs_positive_basin[Basin #5] : -F_basin_in[Basin #5] + F_abs_basin[Basin #5] ≥ 0
abs_positive_basin[Basin #12] : -F_basin_in[Basin #12] + F_abs_basin[Basin #12] ≥ 0
abs_negative_basin[Basin #2] : F_basin_in[Basin #2] + F_abs_basin[Basin #2] ≥ 0
abs_negative_basin[Basin #5] : F_basin_in[Basin #5] + F_abs_basin[Basin #5] ≥ 0
abs_negative_basin[Basin #12] : F_basin_in[Basin #12] + F_abs_basin[Basin #12] ≥ 0
</code></pre>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion core/equations.html
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@ <h2 data-number="2.1" class="anchored" data-anchor-id="sec-reduction_factor"><sp
\end{cases}
\end{align}\]</span></p>
<p>Here <span class="math inline">\(p &gt; 0\)</span> is the threshold value which determines the interval <span class="math inline">\([0,p]\)</span> of the smooth transition between <span class="math inline">\(0\)</span> and <span class="math inline">\(1\)</span>, see the plot below.</p>
<div id="14427a03" class="cell" data-execution_count="1">
<div id="8c2064c2" class="cell" data-execution_count="1">
<details class="code-fold">
<summary>Code</summary>
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">import</span> numpy <span class="im">as</span> np</span>
Expand Down
50 changes: 31 additions & 19 deletions core/usage.html
Original file line number Diff line number Diff line change
Expand Up @@ -1738,10 +1738,10 @@ <h2 data-number="17.1" class="anchored" data-anchor-id="discretecontrol-conditio
<p>The condition schema defines conditions of the form ‘the discrete_control node with this node id listens to whether the given variable of the node with the given listen feature id is grater than the given value’. If the condition variable comes from a time-series, a look ahead <span class="math inline">\(\Delta t\)</span> can be supplied.</p>
<table class="table">
<colgroup>
<col style="width: 42%">
<col style="width: 17%">
<col style="width: 15%">
<col style="width: 24%">
<col style="width: 39%">
<col style="width: 18%">
<col style="width: 16%">
<col style="width: 25%">
</colgroup>
<thead>
<tr class="header">
Expand All @@ -1759,22 +1759,22 @@ <h2 data-number="17.1" class="anchored" data-anchor-id="discretecontrol-conditio
<td>sorted</td>
</tr>
<tr class="even">
<td>listen_feature_id</td>
<td>Int</td>
<td>listen_node_type</td>
<td>String</td>
<td>-</td>
<td>sorted per node_id</td>
<td>known node type</td>
</tr>
<tr class="odd">
<td>listen_feature_type</td>
<td>String</td>
<td>listen_node_id</td>
<td>Int</td>
<td>-</td>
<td>known node type</td>
<td>sorted per node_id</td>
</tr>
<tr class="even">
<td>variable</td>
<td>String</td>
<td>-</td>
<td>must be “level” or “flow_rate”, sorted per listen_feature_id</td>
<td>must be “level” or “flow_rate”, sorted per listen_node_id</td>
</tr>
<tr class="odd">
<td>greater_than</td>
Expand Down Expand Up @@ -1886,30 +1886,36 @@ <h1 data-number="18"><span class="header-section-number">18</span> PidControl</h
<td>(optional, default true)</td>
</tr>
<tr class="even">
<td>listen_node_type</td>
<td>Int</td>
<td>-</td>
<td>known node type</td>
</tr>
<tr class="odd">
<td>listen_node_id</td>
<td>Int</td>
<td>-</td>
<td>-</td>
</tr>
<tr class="odd">
<tr class="even">
<td>target</td>
<td>Float64</td>
<td><span class="math inline">\(m\)</span></td>
<td>-</td>
</tr>
<tr class="even">
<tr class="odd">
<td>proportional</td>
<td>Float64</td>
<td><span class="math inline">\(s^{-1}\)</span></td>
<td>-</td>
</tr>
<tr class="odd">
<tr class="even">
<td>integral</td>
<td>Float64</td>
<td><span class="math inline">\(s^{-2}\)</span></td>
<td>-</td>
</tr>
<tr class="even">
<tr class="odd">
<td>derivative</td>
<td>Float64</td>
<td>-</td>
Expand Down Expand Up @@ -1943,30 +1949,36 @@ <h2 data-number="18.1" class="anchored" data-anchor-id="pidcontrol-time"><span c
<td>sorted per node_id</td>
</tr>
<tr class="odd">
<td>listen_node_type</td>
<td>Int</td>
<td>-</td>
<td>known node type</td>
</tr>
<tr class="even">
<td>listen_node_id</td>
<td>Int</td>
<td>-</td>
<td>-</td>
</tr>
<tr class="even">
<tr class="odd">
<td>target</td>
<td>Float64</td>
<td><span class="math inline">\(m\)</span></td>
<td>-</td>
</tr>
<tr class="odd">
<tr class="even">
<td>proportional</td>
<td>Float64</td>
<td><span class="math inline">\(s^{-1}\)</span></td>
<td>-</td>
</tr>
<tr class="even">
<tr class="odd">
<td>integral</td>
<td>Float64</td>
<td><span class="math inline">\(s^{-2}\)</span></td>
<td>-</td>
</tr>
<tr class="odd">
<tr class="even">
<td>derivative</td>
<td>Float64</td>
<td>-</td>
Expand Down
4 changes: 2 additions & 2 deletions core/validation.html
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ <h1 class="title">Validation</h1>
<section id="connectivity" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> Connectivity</h1>
<p>In the table below, each column shows which node types are allowed to be downstream (or ‘down-control’) of the node type at the top of the column.</p>
<div id="fbcab261" class="cell" data-execution_count="1">
<div id="69374e3d" class="cell" data-execution_count="1">
<details class="code-fold">
<summary>Code</summary>
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">Ribasim</span></span>
Expand Down Expand Up @@ -546,7 +546,7 @@ <h1 data-number="1"><span class="header-section-number">1</span> Connectivity</h
<section id="neighbor-amounts" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> Neighbor amounts</h1>
<p>The table below shows for each node type between which bounds the amount of in- and outneighbors must be, for both flow and control edges.</p>
<div id="38cabebc" class="cell" data-execution_count="2">
<div id="c94ef441" class="cell" data-execution_count="2">
<details class="code-fold">
<summary>Code</summary>
<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>flow_in_min <span class="op">=</span> <span class="fu">Vector</span><span class="dt">{String}</span>()</span>
Expand Down
Loading

0 comments on commit d8fff70

Please sign in to comment.