PumpSpeedHeadDischargeTable

Input
  1. status: pump status (on = 1 or off = 0). Can be equidistant or non-equidistant.
  2. speed: a speed value is either the pump speed (Hz) or a percentage or fraction of the capacity of the pump. Can be equidistant or non-equidistant.
  3. 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 contains the discharge of the pump for a particular speed value and a particular head value. The records need to be sorted on speed. The speed values need to be in ascending order and for each speed value the corresponding head values need to be in ascending order. For speed or head values between the listed values linear interpolation will be applied to get the discharge. For speed or head values outside the range of listed values a warning will be logged and the first (or last) defined values will be used to get the discharge.
For given head and speed input values, the calculation will lookup a discharge value as follows. For each listed speed value the corresponding head and discharge values are used to create a head discharge table. Then for each listed speed value the corresponding head discharge table is used to lookup the discharge value corresponding to that listed speed value and the head input value. This way a temporary speed discharge table is created. Then the speed input value is looked up in the temporary speed discharge table to get the final discharge value.

Output
  1. discharge: discharge of the pump.
Description

Calculates discharge of a speed-controlled pump with a head-dependent capacity. When the pump is on, then the discharge of the pump depends on both the speed and the head. The discharges for different speeds and 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 in one or more of the different 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 speed input value before t1 and the most recent head input value before t1 to lookup the discharge (= previousDischarge) in the coefficient set tables. 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, speed 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