DHI.Mike1D.StructureModule Namespace

The StructureModule component contains various structures that can be put in the network and has special discharge calculations.

Classes

AbstractBroadCrestedCWeir Abstract class that holds some of the more general broad crested weir algorithms.
AbstractHeadLossStructure Abstract class for head loss structures.
AbstractHeadLossStructureValved Structure with valve regulation. The valve overrules the otherwise calculated flow.
ArchPierBridgeGeometry ArchPierBridgeGeometry
AreaOfIntersectingPolygons Area of Intersection of Polygons Algorithm based on http://cap-lore.com/MathPhys/IP/ This version was translated from the java version at http://www.cap-lore.com/MathPhys/IP/PolygonIntersect.java
BieryDelleurBridge BieryDelleurBridge structures, supporting the following type of tables:
  • Q = f(Hups, Hdws)
The arguments ([!:BridgeBase.RowHeader]) and ([!:BridgeBase.ColumnHeader]) will always contain water levels, while the output ([!:BridgeBase.Table]) will be discharge values.
BridgeBase BridgeBase structures, supporting the following type of tables:
  • Q = f(Hups, Hdws)
The arguments (RowHeader) and (ColumnHeader) will always contain water levels, while the output (Table) will be discharge values.
BridgeGeometry BridgeGeometry
BridgeOverflow Overflow
BridgeSubmergence Submergence
BridgeTabulated Tabulated bridge structure, having only the table of discharges and no geometry.:
  • Q = f(Hups, Hdws)
The arguments (RowHeader) and (ColumnHeader) will always contain water levels, while the output (Table) will be discharge values.
BroadCrestedWeir The class models a broad crested weir. The flow is either critical flow in which case the downstream condition has no influence on the flow or is submerged flow in which case the flow depends on both the upstream and the downstream water level. The special weir is a special version of the broad crested weir. Conversely to the broad crested weir, the special weir does not offer calculation of the critical flow conditions from the weir geometry. The special weir always has Q/h relations specified by the user. For the special weir, the SpecialWeir. The flow through the structure is governed by the energy loss due to the flow contraction on the upstream side of the weir and by the energy loss due to flow expansion on the downstream side.
BroadCrestedWeirGeometry Cross section
CompositStructure Composite structure is a structure which contains one or more structures at the same location. Uses the Composite Pattern.
CompositStructures List of composite structures
CriticalFlowConditionCalculator A class which creates critical flow condition tables CriticalFlowConditions.

The critical flow in a particular structure of composite structure is determined using a very simple scanning of water levels and by seeing when the discharge starts to decrease or when the residual to energy equation becomes larger than ResidualCondition.

CriticalFlowConditions A class containing information about critical flow inside an energy equation structure.
CrossSectionBridgeGeometry CrossSectionBridgeGeometry
Culvert Models the flow through typically longer pipe between limiting cross sections (up- and down- stream). The pipe my have any cross section geometry and may be either closed or open.

See ICulvert for parameters for setting up a culvert.

The culvert such that critical flow conditions are calculated prior to calculation of the actual flow. The critical flow conditions are typically by activating the CalcCriticalConditions method from a user interface The result of this procedure is stored as part of the culvert specification. See CalculateFreeOverFlowQhRelation for more detail.

CulvertSectionGeometries Common class containing data for all culvert geometry types.
DamBreak Dambreak class.
DamBreakBase Base class for DamBreak and DamBreakNWS
DamBreakNWS Dambreak class.
DischargeStructure Simple constant discharge structure.
EnergyBridge EnergyBridge structures, supporting the following type of tables:
  • Q = f(Hups, Hdws)
The arguments ([!:BridgeBase.RowHeader]) and ([!:BridgeBase.ColumnHeader]) will always contain water levels, while the output ([!:BridgeBase.Table]) will be discharge values.
EnergyLoss Calculation of the flow at energy loss structures.
ExtendedHonmaWeir Describes flow through a weir with and a set of formulas that is an extension of the formulas used for the HonmaWeir.
FHWABridge FHWABridge structures, supporting the following type of tables:
  • Q = f(Hups, Hdws)
The arguments ([!:BridgeBase.RowHeader]) and ([!:BridgeBase.ColumnHeader]) will always contain water levels, while the output ([!:BridgeBase.Table]) will be discharge values.
FHWABridgeGeometry FHWABridgeGeometry
FlowConditionsCalculator Class for computing culvert flow conditions, i.e. It may also update
FlowConditionsCalculatorM11 Class for computing culvert flow conditions, i.e. It may also update
FlowConditionsCalculatorNR Class for computing culvert flow conditions, i.e. It may also update
FreeOverFlowData Represents the table of free overflow data for the special weir.
FreeOverFlowLevelData Represents free over flow data for one level.
Gate Abstract gate. The gate is a controllable structure.
GateTools 
HonmaWeir The HonmaWeir (Weir formula 2) class describes weir flow modelled with the Honma formula.
HRBridge HRBridge structures, supporting the following type of tables:
  • Q = f(Hups, Hdws)
The arguments ([!:BridgeBase.RowHeader]) and ([!:BridgeBase.ColumnHeader]) will always contain water levels, while the output ([!:BridgeBase.Table]) will be discharge values.
HydraulicParameters Table of corresponding depths, areas, hydraulic radi and conveyances.
HydraulicParameterSet Represents the "Hydraulic Parameters" table of a culvert. The table stores relations between depth at invert, area, radius and conveyance. The table must be kept in sync with the QhFlowtypeRelation table.
LevelWidth One level-width data point. Can also be depth-width.
LevelWidths Table of corresponding levels and widths. Can also be depths and widths.
NaglerBridge NaglerBridge structures, supporting the following type of tables:
  • Q = f(Hups, Hdws)
The arguments ([!:BridgeBase.RowHeader]) and ([!:BridgeBase.ColumnHeader]) will always contain water levels, while the output ([!:BridgeBase.Table]) will be discharge values.
Nwk11StructureBridge The Nwk11 bridge is used for reading and writing data from the Mike11 network file.
Orifice An orifice is a structure of arbitrary shape.
OrificeFlowCoefficients Table of orifice flow coefficients for culvert specification.
OrificeFlowCoefficientSet Orifice flow coefficients for one water level. Part of culvert input specification.
OverFlowFormula Calculation of the flow at energy loss structures.
OverFlowGate Description of an overflow gate. An overflow gate is in this context a broad crested weir with a rectangular opening. The over flow gate is a controlable structure. It allows the gate level to be varied.
Pump Pump class.

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

A pump by default control itself based on the start/stop levels. These start/stop levels can be fixed, or they can also be controlled. If the start and stop levels are controlled, the MinStopLevel and MaxStartLevel is enforced and must be set. It is possible to explicitly stop the pump (ControlStop(Int32)), which will then disable the self-control based on the start/stop levels, i.e. the pump will not start automatically again.

The actual discharge of the pump can be one of:

QhFlowtypeRelation Relation between depth, critical and flow type.
QhFlowtypeRelations Represents a table that ties water depth above culvert inlet at upstream cross section to critical discharge and flow type.
QHStructure QHStructure class. A simple structure where discharge depends on upstream water level. The discharge is tabulated.
RadialGate The radial gate divides the flow into an underflow part and an overflow part. When specifying gate levels for a radial gate the user should specify the level for the underflow part, i.e. the level of the bottom of the gate. The gate level for the overflow part is then calculated based on geometric considerations. The under flow gate is a controllable structure. It allows the gate level to be varied.
ReservoirData This class contains information about reservoirs connected to structures. In
SluiceGate Calculation of the flow at operational sluice gates using formulas for four different flow regimes and for overtopping as well.
SquareBroadCrestedWeir A square broad-crested weir.
SquaredGatedBCWeir Base implementation for a broadcrested weir with a rectangular opening.
StormwaterInlet Storm water inlet class.
Structure Base class for all structures. The class is abstract since an instance of it wouldn't make sense
StructureCollection Data access model for the structure module.
StructureDataFactory Factory class for reading and writing structure data to storage
StructureDataXmlBridge Bridge for reading and writing structure data to xml file
StructureExtensions Class with extension methods for structures
StructureParameters Class which contains parameters used during initialization of structures
StructureParametersFromHD A class which contains parameters passed from HD module to Structure module during the run of the simulation.
Structures List of structures.
Tabulated Tabulated structures, supporting 3 different types of tables:
  • Q = f(Hups, Hdws)
  • Hups = f(Hdws, Q)
  • Hdws = f(Hups, Q)
The first argument (RowHeader) will always contain water levels, while the second argument (ColumnHeader can be either water level or discharge values, and opposite for the output (Table), depending on the CalculationMode.
UnderFlowGate 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.
USBPRBridge USBPRBridge structures, supporting the following type of tables:
  • Q = f(Hups, Hdws)
The arguments (RowHeader) and (ColumnHeader) will always contain water levels, while the output (Table) will be discharge values.
Valve Calculation of the flow through a valve
ValvedStructure Structure with valve regulation. The valve overrules the otherwise calculated flow.
VillemonteWeir The VillemonteWeir (Weir formula 1) class describes weir flow modelled with the Villemonte formula.
YarnellBridge Bridge structures, supporting 3 different types of tables:
  • Q = f(Hups, Hdws)
  • Hups = f(Hdws, Q)
  • Hdws = f(Hups, Q)
The first argument ([!:RowHeader]) will always contain water levels, while the second argument ([!:ColumnHeader] can be either water level or discharge values, and opposite for the output ([!:Table]), depending on the [!:CalculationMode].

Structures

ADComponentConstantInfo Struct for conversion of units for constants between Nwk11 structure bridge and Sim11 bridge.
ADComponentSensorDescriptionInfo Struct for recording errors between Nwk11 structure bridge and Sim11 bridge.

Interfaces

IBCWeir 
IBridgeStructure Bridge structure interface
IBroadCrestedWeir Interface for the special weir. Gives access to the Weir geometry data (Datum and LevelWidth) and to the cross section data for up- and down- stream cross sections.
IBroadCrestedWeirGeometry Specification of the weir geometry
ICompositStructure Collection of structures at the same location. Interface used by the engines.
ICompositStructures 
ICulvert Models the flow through typically longer pipe between limiting cross sections (up- and down- stream). The pipe my have any cross section geometry and may be either closed or open. The culvert such that critical flow conditions are calculated prior to calculation of the actual flow. The critical flow conditions are typically by activating the CalcCriticalConditions method from a user interface The result of this procedure is stored as part of the culvert specification.
ICulvertSectionBase Common data interface for culvert sections
ICulvertSectionCircular Describes a circular culvert section.
ICulvertSectionCrossSection Class handling a culvert geometry from cross section database.
ICulvertSectionGeometries Common interface containing data for all culvert geometry types.
ICulvertSectionRectangular Describes a rectangular culvert section.
ICulvertSectionTable A table section is either in level-width or depth-width format, decided by the CulvertSectionGeometries value.
IDamBreak 
IDamBreakBase Dambreak base parameters.
IDamBreakErosion Parameters for erosion based dam break.
IDamBreakNWS Dambreak data for the NWS dam break class.
IDischargeStructure Simple constant discharge structure, that may be controlled
IEnergyLoss Energy loss structure interface
IExtendedHonmaWeir Describes flow through a weir with and a set of formulas that is an extension of the formulas used for the HonmaWeir.
IFreeOverFlowData Represents the table of free overflow data for the special weir.
IFreeOverFlowLevelData Represents free over flow data for one level.
IGate Common interface for gate structures
IHeadLossStructure Interface implemented by structures that have head loss factors as part of their input.
IHonmaWeir The HonmaWeir (Weir formula 2) class describes weir flow modelled with the Honma formula.
IHydraulicParameters Table of corresponding depths, areas, hydraulic radi and conveyances.
IHydraulicParameterSet Represents the "Hydraulic Parameters" table of a culvert. The table stores relations between depth at invert, area, radius and conveyance. The table must be kept in sync with the QhFlowtypeRelation table.
IIteratingStructure Maximum number of iterations in a structure to obtain convergence of the discharge. Default value = 100
ILevelWidth Defines data for single level in a Level/Width table. Level/Width tables are used both for structure geometry and for cross section specifications for structures.
ILevelWidths Table of corresponding levels and widths. Can also be depths and widths.
ILinearZeroVariation Interface that must be implemented by all structures that uses the Linear zero variation approach. The interface allows setting of Delhs at the collection level.
IMinimumHeadlossStructure Interface that must be implemented by all structures that use a minimum headloss. The interface allows setting of the minimum headloss at the collection level.
INwk11StructureBridge The Nwk11 bridge is used for reading and writing data from the Mike11 network file.
IOrifice An orifice is a structure of arbitrary shape, that can include a gate of arbitrary shape.
IOrificeFlowCoefficients Table of orifice flow coefficients for culvert specification.
IOrificeFlowCoefficientSet Orifice flow coefficients for one water level. Part of culvert input specification.
IOverFlowFormula Sluice gate interface
IOverFlowGate Description of an overflow gate. An overflow gate is in this context a broad crested weir with a rectangular opening.

The over flow gate is a controlable structure. It allows the gate level to be varied.

IPlotableStructure A group of the structures supports structure plotting. Data associated with the plotting only are defined by this interface.
IPump Pump parameters.

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

IQhFlowTypeRelation Relation between depth, critical and flow type.
IQhFlowtypeRelations Represents a table that ties water depth above culvert inlet at upstream cross section to critical discharge and flow type.
IQHStructure QHStructure. A simple structure where discharge depends on upstream water level. The discharge is tabulated.
IRadialGate Description of an overflow gate. An overflow gate is in this context a broad crested weir with a rectangular opening. The over flow gate is a controlable structure. It allows the gate level to be varied.
ISideStructure Optional interface for an IStructure to implement, making it capable of being used as a side structure

A side structure is not put into the reach, but added on side of the reach.

A side structure with reservoir is handled in the engine by adding an additional side structure reach, with a reservoir node (basin) in the other end.

ISluiceGate Sluice gate interface
ISolvesEnergyEquation Interface that must be implemented if the structure solves the energy equation and if the structures are to be part of a parallel structure.
ISolvesHeadLossEquation Interface that must be implemented if the structure solves the energy equation and can provide a head loss
IStormwaterInlet Storm water inlet data interface.
IStructure Base interface for all structures.
IStructureBoundarySetup Additional interface for structures that requires boundary data
IStructureCollection Data access model for the structure module.
IStructureCollectionSetup Additional interface for structures that requires knowledge of other structures
IStructureCrossSectionSetup Additional interface for structures that requires cross section data

This is only in case cross section data is required for structure geometry. The default Initialize(ICrossSection, ICrossSection, Boolean, IDiagnostics) provides upstream and downstream cross sections, and should not be extracted using this method.

IStructureHasPreferredTimeStep Base interface for all structures.
IStructures List of structures.

This interface is explicitly defined for supporting COM interop

ITabulated Tabulated structure interface
ITimeStructure A structure that needs to know time.

This is usually required by controllable structures, in order to i.e. close gate, moving the gate with a specified speed.

IUnderFlowGate 
IValve Sluice gate interface
IValvedStructure Structure with valve regulation. The valve overrules the otherwise calculated flow.
IVillemonteWeir The VillemonteWeir (Weir formula 1) class describes weir flow modelled with the Villemonte formula.

Enumerations

BridgeSmoothType Enumeration describing Bridge Table smoothing filer, 0 - no filter, 1-3 different filters, -1 Max filter
BridgeTableType Enumeration indicating the bridge table type.
BridgeType Enumeration indicating the bridge type.
CompositeStructureSolverMethod Solver methods for composite structures.
CulvertSolverMethods Ways to solve the energy equations in the culvert
Obsolete
CulvertDerivativeCalculatorType Different ways to calculate Culvert discharge derivatives with respect to inflow and outflow water levels (h1 and h2)
CulvertFlowType Enumeration for clasification of culvert flow types.
CulvertQhSolverMethods Ways to solve the energy equations for the Qh relations
CulvertSectionTypes Enumeration indicating what flow regime the solution is in.
DamBreakFailureMode Method of how the dam break evolves
DamBreakFailureTrigger Method of how to trigger dam break failure
DisCoefType Enumeration describing Loss factor Ratio Dis Coef Type, 0 - Contraction m = (1-M), 1 - Opening m = M
EnergyEquationSolverMethod Solver methods for the energy equation structures.
EntranceType Enumeration indicating the bridge entrance type.
ErosionFailureModes Method of how to trigger dam break failure
ErosionFlowModes Method of how to trigger dam break failure
FHWAMode FHWABridgeGeometry
FlowDir FlowDir type. Used for readability of the code.
FlowRegimeTypes Enumeration indicating what flow regime the solution is in.
OrificeBladeType Orifice lade type. Mainly needed for initial conditions.
OverFlowFormulaCrestTypes Overflow weir crest types
OverflowType Enumeration indicating the bridge overflow type.
PumpState State of the pump
PumpType Type of pump
SideStructureBank Position of the side structure, on the left or right bank
SpurType Enumeration indicating the bridge spur type.
StructureTypes Type of structure
SubmergenceType Enumeration indicating the bridge UseSubmergence type.
ValveType Valve type.