Click or drag to resize

OverFlowFormula Class

Calculation of the flow at energy loss structures.
Inheritance Hierarchy

Namespace:  DHI.Mike1D.StructureModule
Assembly:  DHI.Mike1D.StructureModule (in DHI.Mike1D.StructureModule.dll) Version: 16.0.0.0 (11.1.1.1111)
Syntax
C#
public class OverFlowFormula : ValvedStructure, 
	IOverFlowFormula, IValvedStructure, IStructure, IDoubleProxy, IQuantityProxy, 
	ILinearZeroVariation, IControllable, ITimeStructure

The OverFlowFormula type exposes the following members.

Constructors
  NameDescription
Public methodOverFlowFormula
Constructor method for the valve structure
Top
Properties
  NameDescription
Public propertyCrestLevel
The level of the weir crest. For structures with control, this is the initial creste level only. Type: River Structure Geometry Unit: [m] Default: 0
Public propertyCrestType
Integere indicating which weir type it is: 1: Rectangular 2: V-Notch 3: Trapezoidal 4: Irregular 5: Long weir
Public propertyCrestWidth
The width of the weir. Type: River Structure Geometry Unit: [m] Default: 0
Public propertyCurrentCrestLevel
For structure with control, the crest level may change. Use this property to get/set the current crest level.
Public propertyDataSetID
ID of the table where the Q-h relation is located.
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
Public propertyDischarge
Calculated Discharge. The value is calculated by SetWaterLevels. Unit: [m^3/s]
(Inherited from Structure.)
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 through structure. Used by most (but not all) structures.
(Inherited from Structure.)
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 propertyInvertLevelDownstream
Invert level down stream
(Overrides StructureInvertLevelDownstream.)
Public propertyInvertLevelUpstream
Invert level up stream
(Overrides StructureInvertLevelUpstream.)
Public propertyKc
Coeffcient used to determine overall flow coefficient when weir coefficient is not used. Type: Undefined Unit: [] Default: Undefined
Public propertyLength
Length of the structure. Unit: [m] Default value: 0m
(Inherited from Structure.)
Public propertyLocation
Location property.
(Inherited from Structure.)
Public propertyMaxCrestLevel
Maximum crest level

Used when crest level is being controlled

Public propertyMaxCrestLevelDecreaseSpeed
Maximum crest level decrease speed

Used when crest level is being controlled

Public propertyMaxCrestLevelIncreaseSpeed
Maximum crest level increase speed

Used when crest level is being controlled

Public propertyMethodNumber
Calculation method: 1 for a Q-h table and 2 for weir formula Default: 2
Public propertyMinCrestLevel
Minimum crest level

Used when crest level is being controlled

Public propertyOutlet
Flag specifying whether the downstream end is out of the system (outlet boundary). If true, flow out of the system is always free outflow (critical flow conditions)
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 propertyStructureType
Type of structure
(Inherited from Structure.)
Public propertyTopoID
String used to identified cross sections
(Inherited from Structure.)
Public propertyTransitionCoefficient
Coefficient used to make a continuos transistion between submerged and not submerged flow at the weir Unit: [] Default: 0.00.
Public propertyType
Structure type, unique for each structure.
(Overrides StructureType.)
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 propertyUseWeirCoeff
Flag telling if the weir coefficient should be used or the coefficient should be based on the angle of the weir.
Public propertyValve
Type of the valve Default: None
(Inherited from ValvedStructure.)
Public propertyWeirCoefficient
Flow coeffcient for the weir. If left undefined the flow coeeficient is calculated based on information on the WeirFlowAngle Type: Dimensional factor Unit: [] Default: 0.66
Public propertyWeirFlowAngle
The angle of the weir to the flow direction of the branch Type: Angels Unit: [degrees] Default: 0
Top
Methods
  NameDescription
Public methodAccepts
List of data types that is accepted, i.e., that you can get a ValueSetter for.
(Inherited from Structure.)
Public methodStatic memberCalcCritWeirYc
Calculation of the characteristic height for critical flow: a*D
Public methodStatic memberCalcFreeWeirFlow
Calculation of the free flow across the weir according to: Q=Width*sqrt(g*Y*Y*Y)where Y = a*D.
Public methodStatic memberCalcSubmergedWeirFlow
Calculation of the subcritical flow across the weir according to: Q=Width*sqrt(g*Y*Y*Y) where Y = a*upsD*(1 - dwsD/upsD)^^b
Public methodCalcSubmergedWeirFlowAlt
Calculation of the subcritical flow across the weir. This version is from the MU weir.
Public methodStatic memberCalcSubWeirYc
Calculation of characteristic height for a submerged weir: a*upsDepth*(1 - dwsDepth/upsDepth)^^b
Public methodControlSetCrestLevel
Control the structure, set crest level to specified value
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 Prepare() if _implitcit == false to check if the structure supports being Explicit. Once all structures support explicit operation this method can be deleted.
(Overrides StructureExplicitStructureSupport.)
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.)
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.
Public methodGetCurrentValue
Get the current value of the control for the specified id.
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInitialize(IStructureCollection, CrossSectionData, Boolean, IDiagnostics)
Set up structure and set runtime diagnostics object
(Overrides StructureInitialize(IStructureCollection, CrossSectionData, Boolean, IDiagnostics).)
Public methodInitialize(IStructureCollection, IBoundaryData, CrossSectionData, Boolean, IDiagnostics)
Set up structure and set runtime diagnostics object
(Inherited from Structure.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodOffers
List of data types that is offered and can be used in GetValue
(Overrides StructureOffers.)
Public methodPrepare(HDParameterData, IDiagnostics)
Set up structure and set runtime diagnostics object
(Inherited from Structure.)
Public methodPrepare(DateTime, HDParameterData, IDiagnostics)
Set up structure and set runtime diagnostics object
(Inherited from Structure.)
Public methodPrepareTimeStep
Prepare structure for time step
Public methodStatic memberQSluiceGate
Calculation of the discharge as Q=Width*sqrt(g*Yc*Yc*Yc)
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.
Public methodSetControlStrategyId
Set control strategy ID manually.
(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 StructureSetWaterLevels(Double, Double).)
Public methodSetWaterLevels(Double, Double, DateTime) (Inherited from Structure.)
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 a tabulated structure.
(Overrides StructureValidate.)
Public methodValueFractionGetter
Get value fraction setter for the specified data quantity
(Overrides StructureValueFractionGetter(Int32).)
Public methodValueGetter
Get value setter for the specified data quantity
(Overrides StructureValueGetter(Int32).)
Public methodValueGetterBoxed
Get value setter for the specified data quantity
(Inherited from Structure.)
Public methodValueSetter
Get value setter for the specified data type
(Inherited from Structure.)
Public methodValueSetterBoxed
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.)
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_controlStategyId
If the structure is being controlled, then _controlStategyId contains the ID of the active control strategy
(Inherited from Structure.)
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_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_offers
List of quantities that are offered
(Inherited from Structure.)
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(DHI.Mike1D.CrossSectionModule.CrossSectionData,bool,DHI.Mike1D.Generic.IDiagnostics)]
(Inherited from Structure.)
Protected field_topoID
Identification used to find referenced cross sections
(Inherited from Structure.)
Protected field_upstreamWaterLevel
Upstream water level, as set by SetWaterLevels(Double, Double) Unit: [m]
(Inherited from Structure.)
Protected field_valveType
Type of the valve Default: None
(Inherited from ValvedStructure.)
Top
Extension Methods
  NameDescription
Public Extension MethodDescription
Returns the description of the structure, if it is an Structure, otherwise id + type
(Defined by StructureExtensions.)
Public Extension MethodGetter

From the proxy, return an IDoubleGetter 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 IDoubleGetter 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 IDoubleGetter 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 IDoubleGetter 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