DHI.Mike1D.Engine Namespace |
Class | Description | |
---|---|---|
CalendarConverter |
Support class for conversions between DateTime objects and Modified Julian Dates
Modified Julian Date is the number of days since November 17, 1858.
| |
CatchmentModifierInfo |
Specification of where to apply a catchment value modifiers
| |
DistanceCalculator |
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. | |
EmptySourcePointProxy |
The empty source point proxy. Use the static Instance property
to get one.
| |
EngineEventArgs |
Event data for a status changed event.
| |
EngineExtensions |
Class with extensions methods for the engine classes
| |
EngineFindExtensions |
Extension methods for searching in the engine classes
| |
EngineNet |
The EngineNet holds the network that is used for the computations.
It is the main entrance to module data/state.
| |
EngineNetBoundaryConnector |
Class for connecting boundaries to EngineNet (HD).
It can also connect boundaries to XXX, for creating an LTS job list where EngineNet and HD is not required. | |
EngineNetCatchmentConnector |
Class connecting catchments to HD
It handles both live catchment values and values from RR result files. | |
EngineNetFactory |
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. | |
EngineNetMPIFactory |
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. | |
EngineNetSimple |
Engine net simple
| |
EngineNetSimpleFactory |
Factory for creating EngineNetSimple
| |
EngineNode |
A general node without volume (river node).
| |
EngineNodeBasin |
Basin node
| |
EngineNodeManhole |
The engine representation of a Manhole, specifying Diameter.
| |
EngineNodeOutlet |
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. | |
EngineNodes |
List of EngineNode's, providing functionality for fast searching on node id.
The list does not allow nodes with the same id. | |
EngineNodeStructure |
A node without volume, but with INodeStructure functionality.
| |
EngineNodeVolume |
A node with volume. Usually it is where several sewer links are joining in the network.
| |
EngineReach |
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 | |
EngineReaches |
List of EngineReaches.
| |
EngineReachMap |
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. | |
EngineRoutingElement |
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). | |
EngineRoutingReach |
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. | |
EngineSewerJunctionNode |
A sewer junction node. It does not have any volume
| |
EngineShadowReach |
A shadowreach is a used during MPI execution to store reach state for the reaches that connects different subdomains.
| |
EngineTime |
NetworkEngine time.
| |
EngineTimeCheckPointController |
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 ITimeCheckPointSet, 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. | |
EngineTimeSteppingAdaptive |
Class handling adaptive time stepping
| |
EngineTimeSteppingConstant |
Class handling constant time stepping
| |
EngineTimeSteppingDecoupledFile |
Class handling time stepping when running AD based on a
HD decoupled file
| |
EngineTimeSteppingTabulated |
Class handling tabulated time stepping
| |
EquidistantTimeCheckPointSet |
Class implementing a check point set with equidistant time check points.
| |
GridPoint |
Base class for all gridpoints
| |
GridPoints |
List of gridpoints
| |
HGridPoint |
Storage point where water level is defined.
Represents the water level and the volume between
prev and next Q-point.
| |
LateralLinkCrestLevels |
Crest levels of lateral link, river model and surface model.
Can store the crest level as cross section data. | |
LeapingWeir |
A leaping weir is a junction node which connects three reaches.
The third reach is connected through a bottom opening, named
a Leaping Weir. If the water runs fast, the water may leap
over the weir, i.e. the speed of the water will effect
the flow through the weir.
The weir is characterised by a length (WeirLength) and a width (WeirWidth). Based on the article of Oliveto, Giuseppe. (1998). "Sewerage overflows: new researches on bottom openings and side weirs". Excerpta. 12. 251-281. | |
LinkRegulationStructure |
Link regulation structure, specific for link regulation reaches.
| |
NetworkDataStateReader |
Extension class handling network state reading
| |
NetworkStateReaderTNode, TReach |
Helper class for applying a network state to the network module.
| |
NetworkStateWriter | ||
NetworkStateWriterTReach |
Helper class for writing network state to state file.
| |
NetworkStateWriterTNode, TReach |
Helper class for writing network state to state file.
| |
NodeCover |
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)
| |
NodeCoverExpanding |
An expanding cover on top of EngineNodeSewer.
Covers are connected to EngineNodeSewer with a Bridge Pattern (EngineNodeSewer as a reference to a NodeCover)
| |
NodeCoverSealed |
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)
| |
NodeCoverSpilling |
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)
| |
NodeMaxInflowReservoir |
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. Excess catchment runoff (larger than the MaxInflowFromSurface) is retained in the WaterVolumeInReservoir ([m3]). When a surface model is present, the coupling procedure must transfer the reservoir volume to 2D model and empty this reservoir by calling EmptyReservoir. The net inflow to the combined system is CatchmentQ. On top of that there may be an exchange of water between 1D and 2D. The CatchmentQ is split into three parts CatchmentQ = <see cref="P:DHI.Mike1D.Engine.NodeMaxInflowReservoir.ActualCatchmentInflow" /> + <see cref="P:DHI.Mike1D.Engine.NodeMaxInflowReservoir.CatcmentQRoutedToSurface" /> + <see cref="P:DHI.Mike1D.Engine.NodeMaxInflowReservoir.WaterVolumeInReservoir" />/dt Inflow to MIKE 1D: q_in_1D = <see cref="P:DHI.Mike1D.Engine.NodeMaxInflowReservoir.ActualSurfaceInflow" /> + <see cref="P:DHI.Mike1D.Engine.NodeMaxInflowReservoir.ActualCatchmentInflow" /> q_in_2D = -<see cref="P:DHI.Mike1D.Engine.NodeMaxInflowReservoir.ActualSurfaceInflow" /> + <see cref="P:DHI.Mike1D.Engine.NodeMaxInflowReservoir.CatcmentQRoutedToSurface" /> + <see cref="P:DHI.Mike1D.Engine.NodeMaxInflowReservoir.WaterVolumeInReservoir" />/dt | |
ProxyUtil | Class for easing handling of proxies, and providing proxy functionality for the entire EngineNet, spanning quantities from all its modules. | |
QGridPoint |
Grid point where discharge is defined.
Represents the discharge from the
prev to the next H-point.
| |
ResultDataEngineNetChecker |
Checks whether an IResultData exactly matches an enginenet.
| |
RoutingGridPoint |
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. | |
SourceProxyExtensions |
Extension class for ISourcePointProxy implementations
| |
SourceProxySetWrapperTSourceProxy |
Class that wraps a number of source proxies in one proxy.
| |
StructureGridPoint |
Grid point containing one or more structures. Structure GridPoints replaces Q-points
in the scheme.
|
Structure | Description | |
---|---|---|
ComponentValues |
Class containing value for a component
| |
EngineNodeReachConnection |
Structure containing enginereach and which end that it is
connected to (start or end)
|
Interface | Description | |
---|---|---|
IComponentSourcePoint |
A component point where a component source contribution can be added.
| |
IEngineTimeCheckPointSet |
Interface for a check point set. It must be able to provide the next
check point from some specified time.
A checkpoint is a point in time which the engine must hit exactly. | |
IEngineTimeStep |
Interface for controlling the size of the time step
| |
IEngineTimeStepAdaptive |
Interface for controlling the size of the time step adaptively
| |
IExternalForcing |
Interface where you can add a contribution to
the forcing of the system.
| |
IGridPoint |
Interface to GridPoint. If access to GridPoint is needed from outside the network engine,
then it should happen through this interface.
| |
IModule |
Interface to Engine modules
| |
IModuleNetwork |
Interface extending the IModule interface with
network features.
| |
IModuleNetworkTNode, TReach |
Interface extending the IModule interface with
network features.
| |
IModuleNode |
Node in an IModuleNetwork | |
IModulePointState |
Interface for the state of a point. NOT USED.
| |
IModuleReach |
Reach in an IModuleNetwork | |
IModuleReachState |
Interface for a module reach state
| |
INodeStructure |
Interface for a node structure.
A node structure must have three reaches connected, and the 3rd reach is a special reach where the discharge into the reach is controlled by the CalculateDischarge(DateTime) method. | |
IProxyProvider |
Interface for a proxy provider on a network
| |
IQGridPoint |
Interface to QGridPoint. If access to QGridPoint is needed from outside the network engine,
then it should happen through this interface.
| |
ISedimentSourcePoint |
A point where a sediment source contribution can be added.
| |
ISourcePoint |
A point where a source contribution can be added.
| |
ISourcePointImplicit |
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). | |
ISourcePointProxy |
Interface providing quantities and source points.
| |
ISourcePointProxyProvider |
Interface that provides source point proxies for different parts
of the network.
| |
ISourcePointStatistics |
Statistic on a source point. Contains total inflow and total outflow.
|
Delegate | Description | |
---|---|---|
EngineNetTimeDelegate |
Delegate that is used when triggering a PostTimeStepEvent event.
| |
EngineNetTimeStepDelegate |
Delegate that is used when triggering a PreTimeStepEvent or ApplyExternalSourcesEvent.
|
Enumeration | Description | |
---|---|---|
EngineReachEnd |
Enumeration specifying an end of the reach.
| |
EngineStatus |
State of the simulation
| |
GridPointTypes |
Enumeration of grid point types.
Defined as flag so they can be used as selection, i.e. GridPointTypes allow = HGridPoint | QGridPoint | |
OpenBoundarySubType |
Sub type of open boundary
| |
OpenBoundaryType |
Types of open boundaries
|