XSOpen Methods |
The XSOpen type exposes the following members.
Name | Description | |
---|---|---|
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.
(Inherited from XSBaseRaw.) | |
CalculateProcessedData |
Calculate processed data
(Inherited from XSBaseRaw.) | |
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.) | |
ClearZones |
clear section from vegetation and dead water, setting all zone info to Normal
(Inherited from XSBaseRaw.) | |
Clone |
ICloneable implementation. deep clone, including owner
(Overrides XSBaseRawClone.) | |
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.) | |
CopyValuesToOther |
Copy the values of this cross section to another cross section
(Inherited from XSBaseRaw.) | |
CreateAllProcessedArrays |
Creates all processed data arrays with the given number of levels.
(Inherited from XSBase.) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows 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 |
Return the cross sectional geometric area,
for index and fraction into the processed data.
(Inherited from XSBase.) | |
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.
(Inherited from XSBase.) | |
GetCriticalDischarge |
Gets the Critical discharge for a given water level
The critical discharge is the discharge where the flow changes
from supercritical to subcritical flow.
(Inherited from XSBase.) | |
GetFlowArea(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)
(Inherited from XSBase.) | |
GetFlowArea(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)
(Inherited from XSBase.) | |
GetFlowAreaDerivative |
Get storagewidth as dA/dh from neighboring values in processed XS areas at waterLevel.
(Inherited from XSBase.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetHydraulicRadius(Int32) |
Returns the hydraulic radius for index and fraction into the processed data
(Inherited from XSBase.) | |
GetHydraulicRadius(Int32, Double) |
Returns the hydraulic radius for index and fraction into the processed data
(Inherited from XSBase.) | |
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.
(Inherited from XSBase.) | |
GetLocalVelocity |
Calculates a local velocity for a given x along the cross sectional profile. The result must
be divided by GetLocalVelocityFactor().
(Inherited from XSBaseRaw.)The calculation is based on a parallel canal analysis, and if integrated up, matches the total discharge through the cross section. | |
GetLocalVelocityFactor |
Calculate a local velocity factor for the provided water depth. This factor
is used when calculating a transversally distributed flow velocity.
(Inherited from XSBaseRaw.) | |
GetLocalVelocityFactorFromIntegral |
Calculates the local velocity factor for use in GetLocalVelocity(Double, Double, Double).
(Inherited from XSBaseRaw.)The method is seperated from the GetLocalVelocity(Double, Double, Double) method, since this can be an expensive method (integrating over the entire cross section), to be called once, and the result used many times by the GetLocalVelocity(Double, Double, Double) method. | |
GetMarkerIndex |
Return index of a marker
(Inherited from XSBaseRaw.) | |
GetMarkerSequence |
Returns a sequence of markers and their indices.
(Inherited from XSBaseRaw.) | |
GetMarkersOfPoint |
For a given cross section point (at some index), return all markers on that point.
(Inherited from XSBaseRaw.) | |
GetMaximumValues |
Set maximum area, maximum hydraulic radius and maximum storage width.
(Inherited from XSBase.) | |
GetNaturalDepthOld | Obsolete.
Get the natural depth at a given discharge and slope
(Inherited from XSBase.) | |
GetResistanceFactor |
Returns the resistance factor.
(Inherited from XSBase.) | |
GetResistanceFactorsDerivative |
Get the derivative of the resistance factor at the given water level
(Inherited from XSBase.) | |
GetStorageWidth(Int32) |
Returns the width from left bank to right bank for index and fraction into the processed data
(Inherited from XSBase.) | |
GetStorageWidth(Int32, Double) |
Returns the width from left bank to right bank for index and fraction into the processed data
(Inherited from XSBase.) | |
GetType | Gets 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 XSBaseRaw.) | |
Level |
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
(Inherited from XSBase.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
Prepare |
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.
(Inherited from XSBase.) | |
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.) | |
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.
(Inherited from XSBase.)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) | |
SetAllProcessedValues |
set all the processed data (references to the member array).
All values are in SI.
(Inherited from XSBase.) | |
SetMarkerAt |
Set a particular marker to a given 0-BASED index (within the list of points),
or remove it (call with -1). If any other point had this marker before, it gets
removed from that point.
Throws IndexOutOfRangeException if list of points is empty or index is invalid.
(Inherited from XSBaseRaw.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
UpdateMarkersToDefaults |
clears the indicated existing markers and sets them to their default x location.
(LeftLeveeBank: smallest x, RightLeveeBank: largest x, LowestPoint: x with
the smallest z). Doesn't do anything for Circular, Rectangular.
(Inherited from XSBaseRaw.) | |
UpdatePointMarkerString |
Update the MarkerString for
all cross section points with a marker. Used by the GUI.
(Inherited from XSBaseRaw.) | |
UpdatePointResistance | (Inherited from XSBaseRaw.) | |
Validate |
Validates the data. The constraints are that the levels and the areas after sorting must be monotonically increasing.
(Inherited from XSBaseRaw.) |
Name | Description | |
---|---|---|
GetConveyance |
Get the conveyance at the specified processed level
(Defined by CrossSectionExtensions.) |