Click or drag to resize

UnderFlowGate Class

Description of an underflow gate. An underflow gate is in this context a broad crested weir with a rectangular opening that may be limited upward by the gate. In case the gate is not submerged the gate will act a broad crested weir. The under flow gate is a controlable structure. It allows the gate level to be varied.
Inheritance Hierarchy

Namespace:  DHI.Mike1D.StructureModule
Assembly:  DHI.Mike1D.StructureModule (in DHI.Mike1D.StructureModule.dll) Version: 19.0.0.0 (11.1.1.1111)
Syntax
public class UnderFlowGate : SquaredGatedBCWeir, 
	IUnderFlowGate, IGate, IStructure, IDoubleProxy, IQuantityProxy, 
	IHeadLossStructure, IPlotableStructure, IValvedStructure

The UnderFlowGate type exposes the following members.

Constructors
  NameDescription
Public methodUnderFlowGate
Constructor. Sets the default values.
Top
Properties
  NameDescription
Public propertyActualGateLevel
Actual gate level. Type: River Structure Geometry Unit: [m] Default: 0

this is not a setup parameter, but a run parameter, which will change during the run (if the gate is controlled). If the gate is not controlled, this can be used to change the gate (manual/user defined control).

(Inherited from SquaredGatedBCWeir.)
Public propertydDischargedDownStreamWaterLevel
Calculated Discharge derivative with DownStreamWaterLevel. Downstream is relative to the direction of chainage. The value is calculated by SetWaterLevels. Unit: [m^2/s]
(Inherited from Structure.)
Public propertydDischargedUpStreamWaterLevel
Calculated Discharge derivative with UpStreamWaterLevel. Upstream is relative to the direction of chainage. The value is calculated by SetWaterLevels. Unit: [m^2/s]
(Inherited from Structure.)
Public propertyDelhs
Linear flow variation. For water level differences less than delhs use a linear Q variation between h1-h2=delhs and h1-h2=0. This is to avoid stability problems for small water level differences where dQdh goes to infinity. Unit: [m] Default: 0.01
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyDischarge
Calculated Discharge. The value is calculated by SetWaterLevels. Unit: [m^3/s]
(Inherited from Structure.)
Public propertyDownstreamCrossSection
Downstream cross section data. The cros section data is the processed level, with, area. Set up during initialize, from cross section database.
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyDownstreamWaterLevel
Downstream water level.Downstream refers to the direction of chainage. The water level is set by use of SetWaterLevels Unit: [m]
(Inherited from Structure.)
Public propertyExtensionData
Property used by (de)serializer, when it can not find proper target for a data field. Support of forward compatible data contracts.
(Inherited from Structure.)
Public propertyFlowArea
Flow area in the structure. Uses WaterLevelInStructure which is updated when SetWaterLevels() is called.
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyFlowFactor
The discharge (and discharge derivatives) are scaled by the flow factor.
(Inherited from Structure.)
Public propertyHeadLossFreeOverflowNegativeFlow
Free overflow factor for negative flow. Default value = 1.
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyHeadLossFreeOverflowPositiveFlow
Free overflow factor for positive flow. Default value = 1.
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyHeadLossInflowNegativeFlow
Inflow head loss factor for positive flow. Default value = 0.5.
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyHeadLossInflowPositiveFlow
Inflow head loss factor for positive flow. Default value = 0.5.
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyHeadLossOutflowNegativeFlow
Free overflow factor for negative flow. Default value = 1.
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyHeadLossOutflowPositiveFlow
Outflow head loss factor for positive flow. Default value = 1.
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyHorizontalOffSetFromMarker2
Value used when plotting the structue Unit: [m] Defualt: 0
Public propertyID
Structure ID
(Inherited from Structure.)
Public propertyIDInUserUnit
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 Structure.)
Public propertyImplicit
Flag to control if the structure is implicit or explicit. If the structure is explicit (Implicit == false) then the derivatives of the dicharge are always zero. Default value: true
(Inherited from Structure.)
Public propertyInitialGateLevel
Gate level. Type: River Structure Geometry Unit: [m] Default: 0
(Inherited from SquaredGatedBCWeir.)
Public propertyInvertLevelDownstream
Invert level down stream
(Overrides SquareBroadCrestedWeirInvertLevelDownstream.)
Public propertyInvertLevelUpstream
Invert level up stream
(Overrides SquareBroadCrestedWeirInvertLevelUpstream.)
Public propertyIterationTolerance
Iteration tolerance. Default 0.0001
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyLength
Length of the structure. Unit: [m] Default value: 0m
(Inherited from Structure.)
Public propertyLocation
Location property.
(Inherited from Structure.)
Public propertyMaximumIterations
Maximum number of iterations in a structure to obtain convergence of the discharge. Default value = 100

Currently this is set for all structures from the MaximumIterationsInStructure, but it is prepared for individual structure values.

(Inherited from AbstractBroadCrestedCWeir.)
Public propertyMaxSpeed
Maximum speed of gate movement
(Inherited from SquaredGatedBCWeir.)
Public propertyMaxValue
Maximum value of gate level that a control can set in Control()
(Inherited from SquaredGatedBCWeir.)
Public propertyMinimumHeadloss
Minimum headloss across a structure. Default value = 0.1

Currently this is set for all head loss structures from the MinimumHeadloss, but it is prepared for individual structure values.

(Inherited from AbstractBroadCrestedCWeir.)
Public propertyMultiplicator
Multiplicator or "number of structures" of this type. Used for modelling more structures at the same location with the same geometry in one go. Unit: [] Default: 1
(Inherited from SquaredGatedBCWeir.)
Public propertyPartOfCompositeFlow
When the culvert is part of a composite structure Q1=Q2 will differ from Qs. Qs=Q1*_partOfCompositeFlow;
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyRunTimeDiagnostics
The getter is used to get a list of errors.
(Inherited from Structure.)
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 Structure.)
Public propertySideStructureReservoir
Reservoir at end of side structure. Null if not side structure, or no reservoir is defined
(Inherited from Structure.)
Public propertySillLevel
Sill level
(Inherited from SquareBroadCrestedWeir.)
Public propertyStructureIterationCentering
Free overflow factor for negative flow. Default value = 1.
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyStructureType
Type of structure
(Inherited from Structure.)
Public propertySurchargedUnderflowCoefficient
Coefficient used to avoid instabilities when switching from subcritical to critical. Type: Dimensionless factor Unit: [] Default: 0.0
Public propertyTopoID
String used to identified cross sections
(Inherited from Structure.)
Public propertyType
Structure type, unique for each structure.
(Overrides SquareBroadCrestedWeirType.)
Public propertyUnderFlowCoefficient
Contraction coefficient. Type: Dimensionless factor Unit: [] Default: 0.63
Public propertyUnderflowTransitionCoefficient
Coefficient used to avoid instabillities when switching from submerged gate to not submerged gate. Type: Dimensionless factor Unit: [] Default: 0.0
Public propertyUpstreamCrossSection
Upstream cross section data. The cros section data is the processed level, with, area. Set up during initialize, from cross section database.
(Inherited from AbstractBroadCrestedCWeir.)
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 Structure.)
Public propertyUseMaxValue
True if gate level should be restricted by MaxValue in Control()
(Inherited from SquaredGatedBCWeir.)
Public propertyValve
Type of the valve Default: None
(Inherited from ValvedStructure.)
Public propertyWaterLevelInStructure
Water level in the structure at the latest call to SetWaterLevels()
(Inherited from AbstractBroadCrestedCWeir.)
Public propertyWidth
Width of ther squared broad crested weir
(Inherited from SquareBroadCrestedWeir.)
Top
Methods
  NameDescription
Public methodAccepts
List of data types that is accepted, i.e., that you can get a ValueSetter for.
(Inherited from Structure.)
Protected methodApplyFlowFactor
Applies flow factor to discharge and it's derivatives
(Inherited from Structure.)
Protected methodBroadCrestedWeirFlow
Calculates the flow over a broadcrested weir. The method handels the zero variation issues and passes the real calculation parts to BroadCrestedWeirFlowInner
(Inherited from AbstractBroadCrestedCWeir.)
Protected methodCalculateCriticalConditions
(Inherited from SquareBroadCrestedWeir.)
Public methodControlClose
Close gate
Public methodControlOpen
Open gate
Public methodControlSetFlowFactor
Set flow factor to specified value
(Inherited from Structure.)
Public methodControlSetGateLevel
Set new gate level
(Inherited from SquaredGatedBCWeir.)
Public methodControlSetMaxGateLevel
Set the maximum gate level.
(Inherited from SquaredGatedBCWeir.)
Public methodControlSetMinGateLevel
Set the minimum gate level.
(Inherited from SquaredGatedBCWeir.)
Public methodControlSetMinMaxGateLevel
Set the minimum and maximum gate level.
(Inherited from SquaredGatedBCWeir.)
Public methodDescription
Return a string that describes this structure. Includes structure type and ID
(Inherited from Structure.)
Public methodDispose
Frees the licenses held.
(Inherited from Structure.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodExplicitStructureSupport
DEBUG: This method is called from Validate() if _implitcit == false to check if the structure supports being Explicit. Once all structures support explicit operation this method can be deleted.
(Inherited from Structure.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Protected methodGetArea
Returns the flow area at the structure. The result depend on the flow type at the structure
(Overrides SquareBroadCrestedWeirGetArea(Double).)
Public methodGetControlAction
Get control action for the specified id. It always returns one of the ActionControl delegates. It will return null if controlActionId is not valid.

Base implementation for IControllable

(Overrides SquaredGatedBCWeirGetControlAction(String).)
Public methodGetCurrentValue
Get the current value of the control for the specified id.

Base implementation for IControllable

(Inherited from SquaredGatedBCWeir.)
Protected methodGetDepth
Returns the depth at the structure. The result depend on the flow type at the structure
(Overrides SquareBroadCrestedWeirGetDepth(Double).)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Protected methodGetInvertLevel
Returns the sill level of the structure.
(Overrides SquareBroadCrestedWeirGetInvertLevel.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInitialize(IDiagnostics)
Set up structure and set runtime diagnostics object
(Inherited from Structure.)
Public methodInitialize(ICrossSection, ICrossSection, Boolean, IDiagnostics)
Prepare the weir: Set the cross sections on each side of the weir.
(Overrides SquaredGatedBCWeirInitialize(ICrossSection, ICrossSection, Boolean, IDiagnostics).)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodOffers
A list of quantities available from this structure
(Inherited from Structure.)
Public methodPrepare(HDParameterData, IDiagnostics)
Set up structure and set runtime diagnostics object
(Inherited from SquareBroadCrestedWeir.)
Public methodPrepare(DateTime, HDParameterData, IDiagnostics)
Set up structure and set runtime diagnostics object
(Inherited from AbstractBroadCrestedCWeir.)
Public methodPrepareTimeStep
Prepare structure for time step
(Inherited from SquaredGatedBCWeir.)
Public methodReadState
Read state and apply to module. Returns true if state was successfully read.
(Inherited from SquaredGatedBCWeir.)
Public methodResetControlledState
Reset internal state (if any) used by controlling class. Called after a controlling class has performed a control sequence, and simulation is restarted.

Base implementation for IControllable

(Inherited from SquaredGatedBCWeir.)
Public methodSetControlStrategyId
Set control strategy ID manually.

Base implementation for IControllable

(Inherited from Structure.)
Protected methodSetInputWaterLevels (Inherited from Structure.)
Public methodSetWaterLevels(Double, Double)
Sets up- and down- stream water level and forces the calculation of the discharge and its derivatives.
(Overrides SquareBroadCrestedWeirSetWaterLevels(Double, Double).)
Public methodSetWaterLevels(Double, Double, Double, Double)
Sets up- and down-stream water level and forces the calculation of the discharge and its derivatives.
(Inherited from AbstractBroadCrestedCWeir.)
Protected methodSetZeroFlow
Sets the conditions for zero flow
(Inherited from Structure.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
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 Structure.)
Public methodValidate
Validation of data for an underflow gate.
(Overrides SquaredGatedBCWeirValidate.)
Public methodValueGetter
Get value setter for the specified data quantity
(Overrides SquaredGatedBCWeirValueGetter(Int32).)
Public methodValueSetter
Get value setter for the specified data type
(Inherited from Structure.)
Protected methodValveDecidesFlow
Decides whether the valve will decide the flow and sets the flow to zero in case the valve forbids flow.
(Inherited from ValvedStructure.)
Public methodWriteState
Write current state of module
(Inherited from SquaredGatedBCWeir.)
Protected methodZeroFlowDueToValve
Decides wheather the valve will prevent flow given the flow direction.
(Inherited from ValvedStructure.)
Top
Fields
  NameDescription
Protected field_accepts
List of quantities that are accepted
(Inherited from Structure.)
Protected field_actualGateLevel
Gate level
(Inherited from SquaredGatedBCWeir.)
Protected field_controlIsActive
Flag indicating if gate control is active, i.e. gate is opening or closing
(Inherited from SquaredGatedBCWeir.)
Protected field_controlledMaxGateLevel
Controllable maximum gate level
(Inherited from SquaredGatedBCWeir.)
Protected field_controlledMinGateLevel
Controllable minimum gate level
(Inherited from SquaredGatedBCWeir.)
Protected field_controlStategyId
If the structure is being controlled, then _controlStategyId contains the ID of the active control strategy
(Inherited from Structure.)
Protected field_controlTargetGateLevel
Target level of gate, i.e. the level that the gate currently approaches.
(Inherited from SquaredGatedBCWeir.)
Protected field_delhs
Linear flow variation. For water level differences less than delhs use a linear Q variation between h1-h2=delhs and h1-h2=0. This is to avoid stability problems for small water level differences where dQdh goes to infinity. Unit: [m] Default: 0.01
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_downstreamCrossSection
Downstream cross section data. The cross section data is the processed level, with, area.
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_downstreamWaterLevel
Downstream water level, as set by SetWaterLevels(Double, Double) Unit: [m]
(Inherited from Structure.)
Protected field_dqdhDownstream
The derivative of flow through the structure with downstream water level. The flow is calculated in the derived classes when the SetWaterLevels method is called. Unit: [m2/sec]
(Inherited from Structure.)
Protected field_dqdhUpstream
The derivative of flow through the structure with upstream water level. The flow is calculated in the derived classes when the SetWaterLevels method is called. Unit: [m2/sec]
(Inherited from Structure.)
Protected field_flowArea
Flow area through structure. Used by most (but not all) structures.
(Inherited from Structure.)
Protected field_flowDir
FlowDir is used to determine which parameters to use for the flow calculations. Derived by the SetWaterLevels(Double, Double).
(Inherited from Structure.)
Protected field_headLossFreeOverflowNegativeFlow
Free overflow factor for negative flow. Default value = 1.
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_headLossFreeOverflowPositiveFlow
Free overflow factor for positive flow. Default value = 1.
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_headLossInflowNegativeFlow
Inflow head loss factor for negative flow. Default value = 0.5.
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_headLossInflowPositiveFlow
Inflow head loss factor for positive flow. Default value = 0.5.
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_headLossOutflowNegativeFlow
Outflow head loss factor for negative flow. Default value = 1.
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_headLossOutflowPositiveFlow
Outflow head loss factor for positive flow. Default value = 1.
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_id
Identification name of the structure
(Inherited from Structure.)
Protected field_implicit
If _implicit == false, then the derivatives are always zero. Default value: true.
(Inherited from Structure.)
Protected field_location
Location in the network
(Inherited from Structure.)
Protected field_maxValue
Maximum value of gate level that a control can set in Control()
(Inherited from SquaredGatedBCWeir.)
Protected field_minimumHeadloss
Minimum head loss across a structure. Default value = 0.1
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_multiplicator
Multiplicator or "number of structures" of this type. Used for modelling more structures at the same location with the same geometry in one go. Unit: [] Default: 1
(Inherited from SquaredGatedBCWeir.)
Protected field_offers
List of quantities that are offered
(Inherited from Structure.)
Protected field_partOfCompositeFlow
When the culvert is part of a composite structure Q1=Q2 will differ from Qs. Qs=Q1*_partOfCompositeFlow;
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_q
Flow through the structure. The flow is calculated in the derived classes when the SetWaterLevels method is called. Unit: [m3/sec]
(Inherited from Structure.)
Protected field_runTimeDiagnostics
Diagnostics are written into this Diagnostics during calculations. Set during Initialize(IDiagnostics)
(Inherited from Structure.)
Protected field_sillLevel
The level of the sill just upstream of the gate.
(Inherited from SquareBroadCrestedWeir.)
Protected field_structureIterationCentering
Used when making relaxation when iterating to find the subcritical solution for structures solved using the energy equation. When it equals 1 no relaxation is made.
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_topoID
Identification used to find referenced cross sections
(Inherited from Structure.)
Protected field_upstreamCrossSection
Upstream cross section data. The cross section data is the processed level, with, area.
(Inherited from AbstractBroadCrestedCWeir.)
Protected field_upstreamWaterLevel
Upstream water level, as set by SetWaterLevels(Double, Double) Unit: [m]
(Inherited from Structure.)
Protected field_useControlledMaxGateLevel
Flag indicating if controllable maximum gate level is enforced
(Inherited from SquaredGatedBCWeir.)
Protected field_useControlledMinGateLevel
Flag indicating if controllable minimum gate level is enforced
(Inherited from SquaredGatedBCWeir.)
Protected field_valveType
Type of the valve Default: None
(Inherited from ValvedStructure.)
Protected field_width
Width of weir
(Inherited from SquareBroadCrestedWeir.)
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 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