Click or drag to resize

CrossSectionLocated Class

A cross section with a location (ZLocation). Has a pointer to an BaseCrossSection. The BaseCrossSection can be reused by many CrossSectionLocated.

Contains ZLocation, Coordinates, Info, MinWaterDepth, DHI_ID. Rest is extracted from the BaseCrossSection.

Buffering of previous water level is handled here.

Also does translation from water level to depth (BaseCrossSection can be depth based.). The levels in the BaseCrossSection uses Location.Z as zero level.

Inheritance Hierarchy
SystemObject
  DHI.Mike1D.CrossSectionModuleCrossSectionLocated

Namespace:  DHI.Mike1D.CrossSectionModule
Assembly:  DHI.Mike1D.CrossSectionModule (in DHI.Mike1D.CrossSectionModule.dll) Version: 19.0.0.0 (11.1.1.1111)
Syntax
public class CrossSectionLocated : ICrossSection, 
	IComparable, ICloneable

The CrossSectionLocated type exposes the following members.

Constructors
  NameDescription
Public methodCrossSectionLocated
Initializes a new instance of the CrossSectionLocated class
Top
Properties
  NameDescription
Public propertyApplyCoordinates
Flag specifying whether the Coordinates is to be applied or ´not
Public propertyBaseCrossSection
Get cross section which this location points to
Public propertyBottomLevel
The minimum value of Z in the cross section (bottom level)
Public propertyCoordinates
Gets or sets the cross section coordinates, i.e., the geographical coordinates of line that the cross section follows.
Public propertyDHI_ID
a unique ID allowing tracing of ICrossSection objects' histories in code flow. Persistent in xns11 files only through a hack, by prepending it to the Info (name) field. The xns11 bridge will filter this out, but not other xns11 readers.
Public propertyHeight
Height of the cross section
Public propertyInfo
Generel info on this cross section, user specified. Can be empty. In Mike11 XNS editor called cross section ID (though it does not identify the cross section)
Public propertyInterpolated
Returns true if the CrossSection is interpolated from other cross sections
Public propertyIsOpen
Return true if the cross section is open
Public propertyLocation
Defines the location of the current cross section. The Z-coordinate is the bottom level of the cross section (unless defined by the raw data (the open cross sections)).
Public propertyMaximumWidth
Height of the cross section
Public propertyMinWaterDepth
Minimum water depth of the cross section This can be negative
Public propertyResistanceFactorProportionality
A proportionality factor that is always multiplied to the tabulated or constant resistance factor. The ProportionalityFactor is used by the resistance factor boundaries to adjust the resistance factor during the simulation. This is not a state variable. Default value: 1.0
Public propertyResistanceFormulation
The ResistanceFormulation that is used for this crossSection and stored in the processed data.

This may differ from the ones specified in the Formulation, which is the formulation for the raw data.

Public propertyTopoID
The TopoID set that this cross section belongs to. TODO: See where for details?
Public propertyZMax
The maximum value of Z in the cross section.
Public propertyZMin
The minimum value of Z in the cross section.

It can differ from the BottomLevel when sediments are present and added in the bottom of the cross section.

Top
Methods
  NameDescription
Public methodClone
Creates a new object that is a copy of the current instance.
Public methodStatic memberCompareBy(String, String)
Predicate to find ICrossSection by ID/BranchName and Topo_ID
Public methodStatic memberCompareBy(ILocation, String)
Predicate to find ICrossSection by Location and topo_id.
Public methodStatic memberCompareBy(ILocationSpan, String)
Predicate to find ICrossSection by LocationSpan and Topo_ID. Uses StrictlyContains
Public methodCompareTo
IComparable implementation. Calls IComparable on the members, if that returns 0, if that returns 0 calls CompareTo on the Topo_ID, calls CompareTo on the DHI_ID members,.
Public methodDeepClone
Creates a new object that is a copy of the current instance.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodExtrapolate
Returns an extrapolated CrossSection, i.e., a copy of this cross section at the new location.
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 methodGetAdditionalSurfaceArea
Additional storage area is a surface area that the mass equation takes into account, but it does not influence the momentum equation. It could be a small pond next to the river that is filled/emptied as the water level in the river raises/falss.
Public methodGetArea
Return the cross sectional geometric area
Public methodGetChild
Returns a Clone of the CrossSection, where the parent keeps a reference to the child. If a property is changed on the parent it will reflect in the child.
Public methodGetConveyance
Get the conveyance at the specified water level
Public methodGetCriticalDepthOld
Gets the Critical depth for a given discharge - [m3/s] The critical depth is the depth where the flow changes from supercritical to subcritical flow.
Public methodGetCriticalDischarge
Gets the Critical discharge for a given water level The critical discharge is the discharge where the flow changes from supercritical to subcritical flow.
Public methodGetFlowArea
Return the cross sectional flow area, which may differ from the geometrical area due to water not being part of the flow
Public methodGetFlowAreaDerivative
Get storagewidth as dA/dh from neighboring values in processed XS areas at waterLevel This is how M11 does it - ONLY USED IN M11 SCHEME WHEN COMPARING DIRECTLY WITH M11 RESULTS Only implemented in XSOpen for now
Public methodGetFrictionValues(Double)
Values required to calculate friction factor for higher order friction term
Public methodGetFrictionValues(Double, Double, Double, Double, Double)
Values required to calculate friction factor for higher order friction term
Public methodGetGeoReferencedCoords
If cross section coordinates are valid, returns the geographic (in the landscape's plane) coordinates of all points, otherwise null. Raw data must be present.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetHydraulicRadius
Returns the hydraulic radius for the given water level. The radius is calculated as one of: Resistance radius, effective area hydraulic radius, or total area hydraulic radius
Public methodGetHydraulicRadiusDerivative
Get the derivate of the hydraulic radius at the given water level.
Public methodGetNaturalDepthOld Obsolete.
Gets the Natural depth for a given discharge [m3/s] and slope [dimensionless] The natural depth is the depth where the flow resistance and velocity balances, i.e., the Manning formula is fullfilled: Q = M*A*R^(2/3)*sqrt(I)
Public methodGetResistanceFactor
Resistance factor for the given water level. This will always return absolute resitance values.
Public methodGetResistanceFactorDerivative
Get the derivative of the resistance factor at the given water level
Public methodGetStorageWidth
Returns the width from left bank to right bank at the given water level.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetVolumeFromAdditionalSurfaceArea
Return the integrated additional surface area from the bottom of the top slot to waterLevel
Public methodInitialize
Initialize cross section. Calculates processed data if needed.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodPrepare
Ensures that the resistance formulation is not relative. If the resistance formulation is Mannings n it is changed to Mannings M and the data are changed accordingly if the resistance formulation is Darcy Weisbach formulation and data are changed to Chezy.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUpdateDatum
Update datum for cross section
Public methodValidate
Validates that this cross sections is set up correctly.
Public methodZMinFromCenter
The minimum value of Z in the cross section (bottom level)
Top
Extension Methods
  NameDescription
Public Extension MethodCalculateNaturalDepth
Gets the Natural depth for a given discharge [m3/s] and slope [dimensionless] The natural depth is the depth where the flow resistance and velocity balances, i.e., for Manning resistance formulation when Manning formula is fullfilled:
Q = M*A*R^(2/3)*sqrt(I)
(Defined by CrossSectionExtensions.)
Public Extension MethodGetCapacity
Get the capacity=conveyance*sqrt(slope) at the specified water level and slope.
(Defined by CrossSectionExtensions.)
Public Extension MethodGetConveyance
Get the conveyance at the specified water level and slope.

The slope must be postive

(Defined by CrossSectionExtensions.)
Public Extension MethodGetDelh
Return delh for the cross section.
(Defined by CrossSectionExtensions.)
Top
See Also