DHI.Mike1D.Engine.ModuleHD Namespace

HD Module

Classes

AdaptiveTSCheckSolutionConstraints Apply constraints on time steps
HDDataItems Class that contains data items (HD add-ons) that can be reused.
HDModule HDModule solves the HD equations on a EngineNet, and keeps track of state for the HDModule.

The HDModule also implements the IGraph interface, defining only the part of the HD network in the graph.

HeadLossCalculator Standard head loss calculation class
InfiltrationCalculator Standard infiltration calculator, implementing bottom and box infiltration
ModuleHDExtensions Class with extension methods for the HD module
NodeDischargeAvailable Helper class calculating discharge available in node.

this is not intended for parallel pumps - if there are more than one pump connected to a node, this will not do as intended, reporting total available volume to both/all pumps.

This is used in the parallel part of the code, in the loop over reaches, and this may access data in other reaches (which other threads can be working on), so it is important that this class only accesses properties of the reach that does not change - especially calling hdh-gridpoint cross section functionality is not allowed (race condition on the cross section buffer values / hdReachConnection.ReachNodeFlowType)

Structures

AdaptiveTSCheckSolutionConstraintsAdaptiveTSBoundary Structure containing boundaries and reference value. Used with adaptive time stepping

Interfaces

IHDHGridPoint HD Storage point. Represents the volume between the Q-points before and after.

The HD H grid point contains water level (state) and volume.

IHDNode HD node contains HD state for a node.
IHDQGridPoint HD flow/discharge point. Represents the discharge between two H points.

The HD Q grid point contains discharge.

IHDReach HD reach contains HD state for a reach. The actual state is present in a series of grid points.
IHDReachConnection A HD reach connection is used by the nodes, when listing which reaches that is connected to a node.
IHDStructureGridPoint A Q grid point containing a structure.
IHDStructureNode HD structure node contains an EngineNodeStructure with a INodeStructure.
IHeadLossCalculator General interface for head loss calculations
IInfiltrationCalculator Base interface for an infiltration calculator.

Delegates

HDModuleApplyExternalIntervalSource Event for applying external sources. Called once for each time step.
HDModuleApplyExternalSources Event for applying external sources. Called once for each time step.
HDModuleIterationDelegate Delegate that is used when triggering a PreIterationEvent event.

Enumerations

ReachNodeFlowTypes Enumeration defining the flow between a node and a reach.