Pump

Pump water from a source node to a destination node. The set flow rate will be pumped unless the intake storage is less than \(10~m^3\), in which case the flow rate will be linearly reduced to \(0~m^3/s\). The intake must be either a Basin or LevelBoundary. When PID controlled, the pump must point away from the controlled basin in terms of edges.

1 Tables

1.1 Static

column type unit restriction
node_id Int32 - sorted
control_state String - (optional) sorted per node_id
active Bool - (optional, default true)
flow_rate Float64 \(\text{m}^3/\text{s}\) non-negative
min_flow_rate Float64 \(\text{m}^3/\text{s}\) (optional, default 0.0)
max_flow_rate Float64 \(\text{m}^3/\text{s}\) (optional)
min_upstream_level Float64 \(\text{m}\) (optional)
max_downstream_level Float64 \(\text{m}\) (optional)

2 Equations

The behavior of a Pump is simple if these nodes are not PID controlled. Their flow is given by a fixed flow rate \(q\), multiplied by reduction factors:

\[ Q = \mathrm{clamp}(\phi Q_\text{set}, Q_{\min}, Q_{\max}) \]

  • \(Q\) is the realized Pump flow rate.
  • \(Q_\text{set}\) is the Pump’s target flow_rate.
  • \(Q_{\min}\) and \(Q_{\max}\) are the Pump min_flow_rate and max_flow_rate.
  • \(\phi\) is the reduction factor, which smoothly reduces flow based on all of these criteria:
    • The upstream volume is below \(10 m^3\).
    • The upstream level is below min_upstream_level + \(0.02 m\)
    • The downstream level is above max_downstream_level - \(0.02 m\)