Click or drag to resize

IPump Interface

Pump parameters.

A pump moves water within the network, with the ability to start and stop at specific water levels

Namespace:  DHI.Mike1D.StructureModule
Assembly:  DHI.Mike1D.StructureModule (in DHI.Mike1D.StructureModule.dll) Version: 19.0.0.0 (11.1.1.1111)
Syntax
public interface IPump : IStructure, IDoubleProxy, 
	IQuantityProxy

The IPump type exposes the following members.

Properties
  NameDescription
Public propertyAccelerationTime
Acceleration time
Public propertyConstantFlow
Set the constant flow rate
Public propertydDischargedDownStreamWaterLevel
Calculated Discharge derivative with UpStreamWaterLevel. Upstream is relative to the direction of chainage. Unit: [m^2/s]
(Inherited from IStructure.)
Public propertydDischargedUpStreamWaterLevel
Calculated Discharge derivative with DownStreamWaterLevel. Downstream is relative to the direction of chainage. Unit: [m^2/s]
(Inherited from IStructure.)
Public propertyDecelerationTime
Deceleration time
Public propertyDischarge
Calculated Discharge Unit: [m^3/s]
(Inherited from IStructure.)
Public propertyDischargeControlActive
Must be set to true to activate (external) control of discharge (through a PID control or similar).

If pump is controlled through ControlMoudle, this will set this automatically (during Prepare)

Can not be combined with StartStopLevelControlActive

Public propertyDownstreamWaterLevel
Downstream water level.Downstream refers to the direction of chainge. The water level is set by use of SetWaterLevels Unit: [m]
(Inherited from IStructure.)
Public propertyFlowFactor
The discharge (and discharge derivatives) are scaled by the flow factor.
(Inherited from IStructure.)
Public propertyHQRelation
QH relation for QdeltaH and QH pumps, (dH, Q) or (H, Q) pairs. The XYTable ensures that dH (or H) is always increasing.

For QdeltaH, a positive dH is the height that water must be RAISED across the pump.

When DischargeControlActive is set (e.g. PID controlled pump) this HQ relation is the maximum pump capacity. Set to null if no maximum capacity.

Public propertyHQRelationMinimumCapacity
QH relation for QH and QdeltaH pumps Minimum discharge allowed for a discharge controlled pump (e.g. PID). Set to null to disable.
Public propertyID
Name of the structure.
(Inherited from IStructure.)
Public propertyIDInUserUnit Obsolete.
Used to get a consistent description of the structure. The ID comes in user units. Used e.g. when reporting errors, warnings and hints.
(Inherited from IStructure.)
Public propertyImplicit
Flag to control if the structure is implicit or explicit. If the structure is explicit (Implicit == false) then the derivatives of the discharge are always zero. Default value: true
(Inherited from IStructure.)
Public propertyInvertLevelDownstream
Invert level down stream The invert level is the level where water starts flowing in to the structure from the downstream side. It does not necessarily flow through the structure.
(Inherited from IStructure.)
Public propertyInvertLevelUpstream
Invert level up stream. The invert level is the level where water starts flowing in to the structure from the upstream side. It does not necessarily flow through the structure.
(Inherited from IStructure.)
Public propertyIsSideStructure Obsolete.
A side structure is connected to a reservoir downstream (chainage direction).
Public propertyIsVariableSpeed
True if the pump supports variable speed operation (must be true for PID controlled pumps). Default value: false
Public propertyLength Obsolete.
Length of the structure. Unit: [m]
(Inherited from IStructure.)
Public propertyLocation
Location of structure.
(Inherited from IStructure.)
Public propertyMaxStartLevel
Maximum stop level used if an external control is active. If an external control is active, then MinStopLevel and MaxStopLevel must be set.
Public propertyMinStopLevel
Minimum stop level used if an external control is active. If an external control is active, then MinStopLevel and MaxStopLevel must be set.
Public propertyMinTimeOff
Minimum time the pump should stay off if it stops pumping. This is only applicable when StartStopLevelControlActive. Default value is 0 seconds.
Public propertyMinTimeOn
Minimum time the pump should stay on if it starts pumping. This is only applicable when StartStopLevelControlActive. Default value is 0 seconds.
Public propertyOffset
Offset on water level
Public propertyOffsetMinDischarge
Offset to use when looking up the minimum discharge for the pump. Only used when a PID control is attached to the pump.
Public propertyOutletLevel
Set the level of the outlet/reservoir

For side structures (StructureType == SideStructure) and flow direction is upstream (negative Q), then the downstream level is equal to this reservoir level. If Q is positive, then OutletLevel is used as the downstream end.

Default value is MinValue, effectively disabling the use of the OutletLevel

Public propertyPumpType
Type of pump
Public propertyReservoirLevel Obsolete.
Same as OutletLevel
Public propertyRunTimeDiagnostics
The getter is used to get a list of errors. OBSOLETE
(Inherited from IStructure.)
Public propertySideStructureBank
Bank side that side-structure is located on

If side structure contains reservoir, and has the Coordinate set, this is not used (and should be set to Undefined).

(Inherited from IStructure.)
Public propertySideStructureReservoir
Reservoir at end of side structure. Null if not side structure, or no reservoir is defined
(Inherited from IStructure.)
Public propertyStartLevel
The water level at which the pump is activated
Public propertyStartStopLevelControlActive
Must be set to true to activate external control of start and stop levels (through a PID control or similar).

If pump is controlled through ControlModule, this will set this automatically (during Prepare)

Can not be combined with DischargeControlActive

Public propertyStopLevel
The water level at which the pump is de-activated
Public propertyStructureType
Type of structure
(Inherited from IStructure.)
Public propertyTopoID
TopoID used when structure is searching for neighboring cross sections in the reach.
(Inherited from IStructure.)
Public propertyType
Structure type, unique for each type of structure.
(Inherited from IStructure.)
Public propertyUpstreamWaterLevel
Upstream water level. Upstream refers to the direction of chainage. The water level is set by use of SetWaterLevels Unit: [m]
(Inherited from IStructure.)
Public propertyUseMaximumDischarge
If true, then the maximum alloved discharge is taken from the MaxPumpDischargeUpstream and MaxPumpDischargeUpstream are use to directly set the maximum discharge. Default false.
Public propertyUseSuppressionFactor
If true, then suppresion factors from the PumpSuppressionFactorUpstream and PumpSuppressionFactorDownstream delegates are used to limit the available discharge of the pump. Default false.
Top
Methods
  NameDescription
Public methodAccepts
List of data types that is accepted, i.e., that you can get a ValueSetter for.
(Inherited from IQuantityProxy.)
Public methodDescription
Description of the structure.
(Inherited from IStructure.)
Public methodInitialize
Set up structure and set runtime diagnostics object
(Inherited from IStructure.)
Public methodOffers
List of data types that is offered, i.e., that you can get a ValueGetter for.
(Inherited from IQuantityProxy.)
Public methodPrepare
Set up structure and set runtime diagnostics object
(Inherited from IStructure.)
Public methodSetWaterLevels
Sets up- and down- stream water level and forces the calculation of the discharge and its derivatives.
(Inherited from IStructure.)
Public methodUpdatedWaterLevels
After a time step (or iteration) has finished, update the discharge to the actual value, based on the final water levels and the discharge derivatives.
(Inherited from IStructure.)
Public methodValidate
Writes errors, warnings and hints into their respective member classes. The member objects are initially cleared.
(Inherited from IStructure.)
Public methodValueGetter
Get value setter for the specified data quantity
(Inherited from IDoubleProxy.)
Public methodValueSetter
Get value setter for the specified data type
(Inherited from IDoubleProxy.)
Top
Extension Methods
  NameDescription
Public Extension MethodGetter

From the proxy, return an FuncTResult for the specified quantity.

It returns the first quantity of that type that is offered, and null if the quantity is not offered.

(Defined by ProxyExtensions.)
Public Extension MethodGetters
Returns a set of FuncTResult for the quantity. We can return several quantities with the same id (usually they will differ in their description). If the quantity is not offerent, an empty list is returned.
(Defined by ProxyExtensions.)
Public Extension MethodGettersFraction
Returns a set of FuncT, TResult for the quantity. We can return several quantities with the same id (usually they will differ in their description). If the quantity is not offerent, an empty list is returned.
(Defined by ProxyExtensions.)
Public Extension MethodGetterUnboxed

From the proxy, return an FuncTResult for the specified quantity.

It returns the first quantity of that type that is offered, and null if the quantity is not offered.

(Defined by ProxyExtensions.)
Public Extension MethodInitialize(CrossSectionData, Boolean, IDiagnostics)Overloaded.
Helper function for some unit tests. Do not use.
(Defined by StructureExtensions.)
Public Extension MethodInitialize(BoundaryData, CrossSectionData, Boolean, IDiagnostics)Overloaded.
Helper function for some unit tests. Do not use.
(Defined by StructureExtensions.)
Public Extension MethodIsPumpReversed
Check if pump is reversed, i.e. the pump is a DeltaHQTable and the HQRelation has negative values.
(Defined by StructureExtensions.)
Public Extension MethodIsSideStructure
Returns true if the structure is a side structure
(Defined by StructureExtensions.)
Public Extension MethodSetter

From the proxy, return an IDoubleGetSet for the specified quantity.

It returns the first quantity of that type that is accepted, and null if the quantity is not accepted.

(Defined by ProxyExtensions.)
Top
See Also