XSCircularPreprocessed Methods

Methods

AdjustProcessedLevels(Double) Adjust the processed levels. Used to ensure that _processedLevels[0] has a certain value
(Inherited from XSBase)
AdjustProcessedLevelSpecs Adjust the processed level specification.
(Inherited from XSBase)
BottomLevelFromCenter 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.
(Overrides XSBaseBottomLevelFromCenter(Double))
CalculateProcessedData Calculate processed data
(Inherited from XSBase)
CalculateProcessedDataIfNeeded 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.
(Inherited from XSBase)
CheckProcessedData Validates that this cross sections is set up correctly.
(Inherited from XSBase)
ClearOriginalProcessedData Clear any stored processed data arrays
(Inherited from XSBase)
Clone Returns a deep clone. Note: Does not clone any children
(Overrides XSBaseClone)
ConvertModifiedResistanceFactorsIfNecessary 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;
(Inherited from XSBase)
ConvertRelativeResistanceMultiZones 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.
(Inherited from XSBase)
CreateAllProcessedArrays Creates all processed data arrays with the given number of levels.
(Inherited from XSBase)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetActualMorphologicalDivision Get actual morphological division or top of cross section if not defined.
(Inherited from XSBase)
GetAdditionalSurfaceArea 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.
(Inherited from XSBase)
GetArea Gets the flow area, calculated so that the area derivative is smooth
(Overrides XSBaseGetArea(Int32, Double))
GetAreaByIntegratingWidths Return the cross sectional geometric area, integrating the storage widths
(Inherited from XSBase)
GetCriticalDepth 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.
(Overrides XSBaseGetCriticalDepth(Double))
GetCriticalDischarge 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.
(Overrides XSBaseGetCriticalDischarge(Double))
GetFlowArea(Int32) Gets the flow area
(Overrides XSBaseGetFlowArea(Int32))
GetFlowArea(Int32, Double) Gets the flow area
(Overrides XSBaseGetFlowArea(Int32, Double))
GetFlowAreaDerivative Get storagewidth as dA/dh from neighboring values in processed XS areas at waterLevel.
(Inherited from XSBase)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetHydraulicRadius(Int32) Gets the radius;
(Overrides XSBaseGetHydraulicRadius(Int32))
GetHydraulicRadius(Int32, Double) Gets the radius;
(Overrides XSBaseGetHydraulicRadius(Int32, Double))
GetHydraulicRadiusDerivative Get the derivate of the hydraulic radius for index and fraction into the processed data.
(Inherited from XSBase)
GetLevelFromArea For a given area, find the level.
(Overrides XSBaseGetLevelFromArea(Double))
GetLocalFlowDistributionDepthFactor Calculates a local flow distribution factor for a given x along the cross sectional profile. The result must be divided by GetFlowDistributionConveyance(Double).

The calculation is based on a parallel canal analysis, and if integrated up, matches the total discharge through the cross section.


(Inherited from XSBase)
GetMaximumValues Set maximum area, maximum hydraulic radius and maximum storage width.
(Overrides XSBaseGetMaximumValues(Double, Double, Double))
GetNaturalDepthBase Same results as GetNaturalDepthOld(Double, Double, HDParameterData), when manning is uniform (no depth dependence). Otherwise results will differ slightly. This version is more "correct", since calculate the max conveyance based on MAR23 and limits the value of MAR23, while the GetNaturalDepthOld(Double, Double, HDParameterData) does it only on AR23. Hence results will differ when manning varies with depth. However, with the _relativeAR23 table it is possible to do binary search (currently linear search)
GetNaturalDepthOld Get the natural depth at a given discharge and slope
(Overrides XSBaseGetNaturalDepthOld(Double, Double, HDParameterData))
GetResistanceFactor Returns the resistance factor.
(Inherited from XSBase)
GetResistanceFactorsDerivative Get the derivative of the resistance factor at the given water level
(Overrides XSBaseGetResistanceFactorsDerivative(Int32, Double))
GetStorageWidth(Int32) Returns the storage width
(Overrides XSBaseGetStorageWidth(Int32))
GetStorageWidth(Int32, Double) Returns the storage width
(Overrides XSBaseGetStorageWidth(Int32, Double))
GetTypeGets the Type of the current instance.
(Inherited from Object)
GetVolumeFromAdditionalSurfaceArea Return the integrated additional surface area from the bottom of the top slot to waterLevel
(Inherited from XSBase)
InheritProcessedDataFrom Makes all processed data arrays point to the same arrays as in the other. (reference copy, not value copy)
(Inherited from XSBase)
Initialize Calculate processed data if needed
(Inherited from XSBase)
Level
(Overrides XSBaseLevel(Int32))
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Prepare
(Overrides XSBasePrepare(Diagnostics, HDParameterData, ILocation))
ProcessedLevel 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
(Inherited from XSBase)
RemoveAllProcessedData Removes all processed data arrays.
(Inherited from XSBase)
RestoreModifiedResistanceFactors if Multiply... or Convert... or similar was called earlier, reset the modified resistance factors to the original processed resistance factors
(Inherited from XSBase)
RestoreOriginalProcessedData Restores any stored processed data arrays previously stored.
(Inherited from XSBase)
SaveOriginalProcessedData 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)


(Inherited from XSBase)
SetAllProcessedValues set all the processed data (references to the member array). All values are in SI.
(Inherited from XSBase)
ToStringReturns a string that represents the current object.
(Inherited from Object)
Validate Validates that this cross sections is set up correctly.
(Overrides XSBaseValidate)

Extension Methods

GetConveyance Get the conveyance at the specified processed level
(Defined by CrossSectionExtensions)

See Also