Click or drag to resize

DHI.Mike1D.Engine Namespace

 
Classes
  ClassDescription
Public classCalendarConverter
Support class for conversions between DateTime objects and Modified Julian Dates Modified Julian Date is the number of days since November 17, 1858.
Public classCatchmentModifierInfo
Specification of where to apply a catchment value modifiers
Public classDistanceCalculator
Class to calculate distances from a location to any point in the network.

Use CalculateDistances(ILocation) to start a calculation, and extract data from Distances.

Public classEmptySourcePointProxy
The empty source point proxy. Use the static Instance property to get one.
Public classEngineEventArgs
Event data for a status changed event.
Public classEngineExtensions
Class with extensions methods for the engine classes
Public classEngineNet
The EngineNet holds the network that is used for the computations. It is the main entrance to module data/state.
Public classEngineNetFactory
Factory Class for creating engine classes.

NOTE: This should be the only component depending on the dataaccess components, especially the NetworkDataAccess classes.

If desired, this can be moved to another project, to remove dependencies from EngineNetwork to DataAccess components.

Public classEngineNetMPIFactory
Factory Class for creating engine classes.

NOTE: This should be the only component depending on the dataaccess components, especially the NetworkDataAccess classes.

If desired, this can be moved to another project, to remove dependencies from EngineNetwork to DataAccess components.

Public classEngineNode
A general node without volume (river node). TODO: Water-level-boundary: should this set natural/critical depth if larger than boundary data?
Public classEngineNodeBasin
Basin node
Public classEngineNodeManhole
The engine representation of a Manhole, specifying Diameter.
Public classEngineNodeOutlet
An Outlet is a volume free node where water flows out of the system.

An outlet is the only type of open boundary that does not need a boundary condition

An outlet can have a boundary condition (water level/QH), in which case the water can also flow into the system.

Public classEngineNodes
List of EngineNode's, providing functionality for fast searching on node id.

The list does not allow nodes with the same id.

Public classEngineNodeVolume
A node with volume. Usually it is where several sewer links are joining in the network.
Public classEngineReach
A reach is the common representation used for branch and links. A reach may hence be either a part of a river or a pipe.

Digipoints are found in the LocationSpan

Public classEngineReaches
List of EngineReaches.
Public classEngineReachMap
Helper class for fast searcing of enginereaches

If storing a large amount of data in each span, consider instead one of the NetworkDataT classes. This class is a light-weight version of the NetworkDataT implementation.

It does fast lookup in a dictionary of span-id's, containing a list of spans for each id, and it does linear searching in the chainages.

Public classEngineRoutingElement
A routing element spans from the previous element location to this element location, or if no previous element, then the start of the reach.

Within a routing element the incoming discharge can be routed by different methods specified in the RoutingMethod. All incoming discharge into the element is routed by the method (i.e. an inflow point source will have the same effect regardless of where in the routing element it is connected).

Public classEngineRoutingReach
A reach that calculates the flow based on some routing scheme instead of a dynamic scheme.

A routing reach contains a number of Elements which defines routing method, and optionally how to calculate water levels. It also contains a number of RoutingGridPoint in the GridPoints list. There may be more grid points than routing elements.

Public classEngineShadowReach
A shadowreach is a used during MPI execution to store reach state for the reaches that connects different subdomains.
Public classEngineTime
NetworkEngine time.
Public classEngineTimeCheckPointController
The check point controller contains functionality for limiting the time step to a set of check points in time.

It contains itself a list of check points, where check points can be added, CheckPoints.

It also contains a list of IEngineTimeCheckPointSet, CheckPointSets, in case a user implementation of a check point set is appropriate (e.g. constant equidistant check points)

All check points within the list of check points and the list of check point sets will be considered as check points.

Public classEngineTimeSteppingAdaptive
Class handling adaptive time stepping
Public classEngineTimeSteppingConstant
Class handling constant time stepping
Public classEngineTimeSteppingDecoupledFile
Class handling time stepping when running HD based on a HD decoupled file
Public classEngineTimeSteppingTabulated
Class handling tabulated time stepping
Public classEquidistantTimeCheckPointSet
Class implementing a check point set with equidistant time check points.
Public classGridPoint
Base class for all gridpoints
Public classGridPoints
List of gridpoints
Public classHGridPoint
Storage point where water level is defined. Represents the water level and the volume between prev and next Q-point.
Public classNodeCover
A cover on top of EngineNodeSewer. Covers can be expanding, sealed (contracting until a narrow tube) or spilling. Spilling covers will spill water out of the cover above a certain water level. Covers are connected to EngineNodeSewer with a Bridge Pattern (EngineNodeSewer as a reference to a NodeCover)
Public classNodeCoverExpanding
An expanding cover on top of EngineNodeSewer. Covers are connected to EngineNodeSewer with a Bridge Pattern (EngineNodeSewer as a reference to a NodeCover)
Public classNodeCoverSealed
A cover on top of EngineNodeSewer. Covers can be expanding, sealed (contracting until a narrow tube) or spilling. Spilling covers will spill water out of the cover above a certain water level. Covers are connected to EngineNodeSewer with a Bridge Pattern (EngineNodeSewer as a reference to a NodeCover)
Public classNodeCoverSpilling
A spilling cover on top of EngineNodeSewer. Spilling covers will spill water out of the cover above a certain water level. Covers are connected to EngineNodeSewer with a Bridge Pattern (EngineNodeSewer as a reference to a NodeCover)
Public classNodeMaxInflowReservoir
A functionality to node to limit total inflow from surface. Total inflow in m3/s, from multiple sources.

The class handles two types of inflow, surface inflow and catchment runoff inflow. The procedure models that the catchment runoff inflow "runs through" the surface model before entering the node.

Public classProxyExtensions

Extension methods for easing handling of proxies.

It provides some static convenience functions for proxies

Public classProxyUtil

Class for easing handling of proxies, and providing proxy functionality for the entire EngineNet, spanning quantities from all its modules.

Public classQGridPoint
Grid point where discharge is defined. Represents the discharge from the prev to the next H-point.
Public classResultDataEngineNetChecker
Checks whether an IResultData exactly matches an enginenet.
Public classRoutingGridPoint
Routing grid point, where discharge is defined. Can also contain a water level, and a cross section.

There is a routing grid point in the end of every EngineRoutingElement.

Public classSourceProxySetWrapperTSourceProxy
Class that wraps a number of source proxies in one proxy.
Public classStructureGridPoint
Grid point containing one or more structures. Structure GridPoints replaces Q-points in the scheme.
Structures
  StructureDescription
Public structureComponentValues
Class containing value for a component
Public structureEngineNodeReachConnection
Structure containing enginereach and which end that it is connected to (start or end)
Interfaces
  InterfaceDescription
Public interfaceIComponentSourcePoint
A component point where a component source contribution can be added.
Public interfaceIEngineTimeCheckPointSet
Interface for a check point set. It must be able to provide the next check point from some specified time.
Public interfaceIEngineTimeStep
Interface for controlling the size of the time step
Public interfaceIEngineTimeStepAdaptive
Interface for controlling the size of the time step adaptively
Public interfaceIExternalForcing
Interface where you can add a contribution to the forcing of the system.
Public interfaceIGridPoint
Interface to GridPoint. If access to GridPoint is needed from outside the network engine, then it should happen through this interface.
Public interfaceIModule
Interface to Engine modules
Public interfaceIModulePointState
Interface for the state of a point. NOT USED.
Public interfaceIModuleReachState
Interface for a module reach state
Public interfaceIProxyProvider
Interface for a proxy provider on a network
Public interfaceIQGridPoint
Interface to QGridPoint. If access to QGridPoint is needed from outside the network engine, then it should happen through this interface.
Public interfaceISourcePoint
A point where a source contribution can be added.
Public interfaceISourcePointImplicit
A point where a source contribution can be added, containing an implicit term in the form of a derivative with respect to the state variable.

Current usage is adding a source that depends on the water level, and including a water level derivative to take the change of water level into account, i.e.

Q_s = Q_s^n + dQdh * (H^{n+1} - H^n)

The actual source added can be calculated using the Evaluate method after the time step has finished (at the PostTimeStepEvent).

Public interfaceISourcePointProxy
Interface providing quantities and source points.
Public interfaceISourcePointProxyProvider
Interface that provides source point proxies for different parts of the network.
Public interfaceISourcePointStatistics
Statistic on a source point. Contains total inflow and total outflow.
Delegates
  DelegateDescription
Public delegateEngineNetTimeDelegate
Delegate that is used when triggering a PostTimeStepEvent event.
Public delegateEngineNetTimeStepDelegate
Delegate that is used when triggering a PreTimeStepEvent or ApplyExternalSourcesEvent.
Enumerations
  EnumerationDescription
Public enumerationEngineReachEnd
Enumeration specifying an end of the reach.
Public enumerationEngineStatus
State of the simulation
Public enumerationOpenBoundaryType
Types of open boundaries