Click or drag to resize

EngineReach Class

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

Inheritance Hierarchy

Namespace:  DHI.Mike1D.Engine
Assembly:  DHI.Mike1D.Engine (in DHI.Mike1D.Engine.dll) Version: 19.0.0.0 (11.1.1.1111)
Syntax
public class EngineReach : INetworkReach

The EngineReach type exposes the following members.

Constructors
  NameDescription
Public methodEngineReach
Initializes a new instance of the EngineReach class
Top
Properties
  NameDescription
Public propertyDigiPoints
Public propertyEndNode
End node
Public propertyGridPoints
List of gridpoints within reach, in order from start to end of reach.
Public propertyHasStructures
True if reach contains structures.
Public propertyIndexListH
Indices of H grid points in reach
Public propertyIndexListQ
Indices of Q grid points in reach
Public propertyIsPressureReach
A pressure reach is a reach that is always under pressure. Pressure reaches have zero slope. Sections of the network can consist of pressure reaches. Downstream of these sections there are pumps, and upstream there are special tail nodes that function as a weir at the boundary to the normal reaches.
Public propertyIsRegulatedReach
Regulate reach with a discharge structure on first q-grid point. This is used for MU setups to limit Q to a QMax(H) and QMax(dH). QMax is set by a control in the control module
Public propertyIsStructureReach
A structure reach is an h-q-h reach where the q point is a structure point.

A structure reach does not contain any volume, and the h points have no cross sections.

Public propertyLocationSpan
Location span that covers this reach.
Public propertyMaximumDx
The maximal allowed distance between two points of the same type?
Public propertyNonReturn
Restrict flow in the first q-grid point to be positive only. Default is false
Public propertyReverseDirection
Reverse the positive flow direction of the reach. Default is false
Public propertyStartNode
Start node
Public propertyTopoID
Id for the cross section topologi that is to be used for the reach If no TopoID is used, set to empty string (null will be handled as the empty string).
Top
Methods
  NameDescription
Protected methodCreateNewReach
Create a new empty EngineReach of the correct type. Used by the DivideAt(ILocation, EngineNode, IDiagnostics) method.

Override to return a specialized version of the EngineReach

Public methodDivideAt
Divide reach at location, cut away the piece of the reach that is after location and returns the cut away piece as a new reach. node is used for connecting the two.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
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 methodGetClosestDownstreamGridPoint(Double, PredicateGridPoint, Boolean)
Find the specified type of gridpoint which is closest to the given location upstream.

It is assumed that the EngineReach max and min chainages are containing the given chainage, otherwise null is returned.

Public methodGetClosestDownstreamGridPointT(ILocation) Obsolete.
Find the specified type of gridpoint which is closest to the given location downstream. It is assumed that the EngineReach max and mean chainages are containing the given location (same location ID and overlapping chainage).
Public methodGetClosestGridPointT
Find the specified type of gridpoint which is closest to the given location. It is assumed that the EngineReach max and mean chainages are containing the given location (same location ID and overlapping chainage).
Public methodGetClosestUpstreamGridPoint(Double, PredicateGridPoint, Boolean)
Find the specified type of gridpoint which is closest to the given location upstream.

It is assumed that the EngineReach max and min chainages are containing the given chainage, otherwise null is returned.

Public methodGetClosestUpstreamGridPointT(ILocation) Obsolete.
Find the specified type of gridpoint which is closest to the given location upstream. It is assumed that the EngineReach max and mean chainages are containing the given location (same location ID and overlapping chainage).
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetHPointToHPointLocationSpans
Returns the location span from HGridPoint[0] to HGridPoint[1], HGridPoint[1] to HGridPoint[2] and so on. They are returned as ZLocationSpan to provide linear interpolation in Z between the two h-points
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodPrepare
Called as a part of the prepare step. Calls on to each gridpoint in the reach.
Public methodToString
Returns a String that represents the current Object.
(Overrides ObjectToString.)
Top
Fields
  NameDescription
Public fieldReachListIndex
Index of this reach in the list of reaches. Optimization for fast lookup in the lists (instead of using find).
Top
Extension Methods
  NameDescription
Public Extension MethodDigipointsOverloaded.
Get the digipoints of the reach
(Defined by EngineExtensions.)
Public Extension MethodDigipoints(Int32)Overloaded.
Get the ith digipoint of the reach
(Defined by EngineExtensions.)
Public Extension MethodDirectionUnitVector
Calculates the direction vector of the reach at the given gridpoint, as the average from the last to the next gridpoint.
(Defined by EngineExtensions.)
Public Extension MethodGridPointSpanChainageEnd
End-chainage of the span of the grid point in the index.
(Defined by EngineFindExtensions.)
Public Extension MethodGridPointSpanChainageStart
Start-chainage of the span of the grid point in the index.
(Defined by EngineFindExtensions.)
Public Extension MethodIsHdReach
Returns true if the engine reach is a HD reach
(Defined by EngineExtensions.)
Public Extension MethodIsRoutingReach
Returns true if the engine reach is a routing reach
(Defined by EngineExtensions.)
Top
See Also