PumpHeadDischargeTable

Input
  1. status: pump status (on = 1 or off = 0). Can be equidistant or non-equidistant.
  2. head: difference between output and input water level for the pump. Head = downstreamWaterLevel - upstreamWaterLevel. Can be equidistant or non-equidistant.
Coefficient set

Contains a table with one or more table records. Each record lists the discharge of the pump for a given head. Heads need to be in ascending order. For head values between records linear interpolation will be applied to get the discharge. For head values outside the table range a warning will be logged and the discharge will be equal to the first (or last) discharge defined in the table.

Output
  1. discharge: discharge of the pump.
Description

Calculates discharge of a pump. When the pump is on, then the discharge equals the capacity of the pump. The capacity of the pump depends on the head. The discharges for different heads are defined in a table in a coefficientSet.
Input can be equidistant or non-equidistant. First the intermediate result (discharge) is calculated at each time that is present either in the status input series or in the head input series or in both input series. At a given time t1 the calculation uses the most recent status input value before t1 to determine if the pump is on and the most recent head input value before t1 to lookup the discharge (= previousDischarge) in the head discharge table. If the pump is off, then the intermediate discharge at t1 is 0. If the pump is on, then the intermediate discharge at t1 equals previousDischarge*(t1 - t0). t0 is the most recent input time before t1 (either status or head input time, whichever changed most recently). Finally the intermediate discharge is aggregated to the times in the equidistant output time series.

  • No labels