Volume dependent discharge

For some modules there is a significant physical relationship between head and maximum discharge capacity.

The following is assumed, and input data will be concaveified.

  • The outlet is not submerged (or that the tailwater level is constant).

  • Head can be expressed as a concave function of volume.

Under these assumptions maximum discharge capacity can be expressed as a concave function of reservoir volume.

Using the input curve of n points of the discharge(volume) function, n-1 cuts are calculated like this:

d: discharge for point n v: volume for point n RHS: b value of the ax + b function GRAD: a value for the ax + b function

\[\begin{split}\\{c \in curve\ points-1\\}\end{split}\]
\[\textrm{GRAD}(c) = \frac{\textrm{d}(c + 1) - \textrm{d}(c)}{\textrm{v}(c + 1) - \textrm{v}(c)}\]
\[\textrm{RHS}(c) = \textrm{d}(c) - \textrm{GRAD}(c) * \textrm{v}(c)\]

These point pairs are calculated once at the start of the simulation and used for the rest of the run.

\[\begin{split} \\{i \in hydro\ plants,\ k \in \\{0, 1, ..., timesteps - 1\\},\ c \in \\Bigr(\textrm{RHS},\textrm{GRAD}\Bigr)\\}\end{split}\]
\[dis(i,k) \leq \textrm{RHS}(i,c) + \textrm{GRAD}(i,c) * res(i,k) \qquad \forall i,k,c \qquad (1)\]