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)\]