Click or drag to resize

XSBase Methods

The XSBase type exposes the following members.

Methods
  NameDescription
Public methodAdjustProcessedLevels(Double)
Adjust the processed levels. Used to ensure that _processedLevels[0] has a certain value
Public methodStatic memberAdjustProcessedLevels(Double, Double)
Adjust the processed levels, subtract delta. Used to ensure that _processedLevels[0] has a certain value
Public methodAdjustProcessedLevelSpecs
Adjust the processed level specification.
Public methodBottomLevelFromCenter
Return the bottom level of the cross section at a distance dx from the center of the cross section. Throws an exception if dx is larger than half the cross section width.
Public methodCalculateProcessedData
Calculate processed data
Public methodCalculateProcessedDataIfNeeded
Calculate the processed levels, storage areas, radii, etc, ie, fill in all ProcessedXXX properties if they are not up to date. Also called by getters for these properties if needed, so usually, this method doesn't have to be called explicitly.
Public methodCheckProcessedData
Validates that this cross sections is set up correctly.
Public methodClearOriginalProcessedData
Clear any stored processed data arrays
Public methodClone
Creates a new object that is a copy of the current instance.
Protected methodConvertModifiedResistanceFactorsIfNecessary
Converts the modified resistance data to another formulation. Returns false if the conversion could be performed. Note: so far only few conversions are supported: - from Manningsn to ManningsM;
Public methodConvertRelativeResistanceMultiZones
Converts the ProcessedResistanceFactors according to a multizone set of absolute resistance values. Each input factor is applied between each level seperator, the first factor from -infinity to the first level, the second factor from the first level to the second level, and the last factor from the last level to infinity, i.e., the levelSeperators defines where one factor takes over from the previous. The factors array must be one longer than the levelSeperators array. The relative resistance factor is taken into account also. Results are stored in the ModifiedResistanceFactors and those are used in the calculation.
Public methodCreateAllProcessedArrays
Creates all processed data arrays with the given number of levels.
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 methodGetActualMorphologicalDivision
Get actual morphological division or top of cross section if not defined.
Public methodGetAdditionalSurfaceArea
Additional storage area is a volume 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, for index and fraction into the processed data.
Public methodGetAreaByIntegratingWidths
Return the cross sectional geometric area, integrating the storage widths
Public methodGetCriticalDepth
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(Int32)
Return the cross sectional flow area, for index and fraction into the processed data. This can be the total areas or the effective flow area hence the area does not necessarily correspond to the amount of water in the system (volume)
Public methodGetFlowArea(Int32, Double)
Return the cross sectional flow area, for index and fraction into the processed data. This can be the total areas or the effective flow area hence the area does not necessarily correspond to the amount of water in the system (volume)
Public methodGetFlowAreaDerivative
Get storagewidth as dA/dh from neighboring values in processed XS areas at waterLevel.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetHydraulicRadius(Int32)
Returns the hydraulic radius for index and fraction into the processed data
Public methodGetHydraulicRadius(Int32, Double)
Returns the hydraulic radius for index and fraction into the processed data
Public methodGetHydraulicRadiusDerivative
Get the derivate of the hydraulic radius for index and fraction into the processed data.
Public methodGetLevelFromArea
For a given area, find the level.
Public methodGetMaximumValues
Set maximum area, maximum hydraulic radius and maximum storage width.
Public methodGetNaturalDepthOld Obsolete.
Get the natural depth at a given discharge and slope
Public methodGetResistanceFactor
Returns the resistance factor.
Public methodGetResistanceFactorsDerivative
Get the derivative of the resistance factor at the given water level
Public methodGetStorageWidth(Int32)
Returns the width from left bank to right bank for index and fraction into the processed data
Public methodGetStorageWidth(Int32, Double)
Returns the width from left bank to right bank for index and fraction into the processed data
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 methodInheritProcessedDataFrom
Makes all processed data arrays point to the same arrays as in the other. (reference copy, not value copy)
Public methodInitialize
Calculate processed data if needed
Public methodLevel
Get the actual processed level at the given index. Works regardless of the _equidistantLevels flag, i.e., also when ProcessedLevels are not present. Index must be between 0 and NumberOfProcessedLevels-1 otherwise it will fail or give incorrect results
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodPrepare
Ensures that the resistance fomulation is not relative. If the resistance fomulation 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 methodProcessedLevel
Get the raw processed level at the given index. Works regardless of the _equidistantLevels flag, i.e., also when ProcessedLevels are not present. Index must be between 0 and NumberOfProcessedLevels-1 otherwise it will fail or give incorrect results
Public methodRestoreModifiedResistanceFactors
if Multiply... or Convert... or similar was called earlier, reset the modified resistance factors to the original processed resistance factors
Public methodRestoreOriginalProcessedData
Restores any stored processed data arrays previously stored.
Public methodSaveOriginalProcessedData
Store the current processed data arrays (shallow copy). If a set of original processed data already exists, the original set is kept and not overwritten.

Updating the ProcessedLevels will still update the original processed data, unless new processed data has been provided, i.e. by using CreateAllProcessedArrays(Int32) or SetAllProcessedValues(Double, Double, Double, Double, Double, Double), due to the shallow copy.

The original processed data arrays are kept when setting new processed data, using e.g. SetAllProcessedValues(Double, Double, Double, Double, Double, Double)

Public methodSetAllProcessedValues
set all the processed data (references to the member array). All values are in SI.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodValidate
Validates that this cross sections is set up correctly.
Top
Extension Methods
  NameDescription
Public Extension MethodGetConveyance
Get the conveyance at the specified processed level
(Defined by CrossSectionExtensions.)
Top
See Also