Click or drag to resize

SolverSettings Class

Various parameters and settings for the HD solver
Inheritance Hierarchy
SystemObject
  DHI.Mike1D.HDParameterDataAccessSolverSettings

Namespace:  DHI.Mike1D.HDParameterDataAccess
Assembly:  DHI.Mike1D.HDParameterDataAccess (in DHI.Mike1D.HDParameterDataAccess.dll) Version: 19.0.0.0 (11.1.1.1111)
Syntax
public class SolverSettings : IExtensibleDataObject

The SolverSettings type exposes the following members.

Constructors
  NameDescription
Public methodSolverSettings
Default constructor. Sets default solversettings.
Top
Properties
  NameDescription
Public propertyAllowOutletFreeOutflow
Flag specifying whether to allow free outflow at an outlet, i.e., that a natural or a critical flow conditions overrides the water level condition specified in the boundary condition.

Default: true.

Public propertyAlpha
The velocity distribution coefficient used in the convective acceleration term of the momentum equation. Default: 1 Historically: M11 default = 1, MU default = 1.1
Public propertyBottomSlotType
Artificial bottom slot. This is a small void introduced at the base of the section allowing a volume of water to remain in the section. Hereby instabilities at low flow are prevented. The slot is inserted at Delh above the river bottom and extends to 5*Delh below this level.

Default value is Classic

Public propertyDelh
The Delh factor controls several things:
  • The height of the artificial bottom 'slot', introduced to a cross section to handling 'drying out' of the section.
  • The start depth of the zero flow method.

Default: 0.1 Unit: [m]

Public propertyDelhRelative
Relative version of Delh. For closed cross section the value of delh is the smallest of Delh and DelhRelative * cross section height.

Default value: 0.01

Public propertyDiffusiveWaveEpsilon
Epsilon value for diffusive wave approximation
Public propertyExtensionData
Holds data from an extended DataContract
Public propertyFroudeExp
Parameter 'b' in the enhanced formulation of the suppression term. Default: -1 (Indicating that the enhanced formulation is off
Public propertyFroudeMax
Parameter 'a' in the enhanced formulation of the suppression term. Default: -1 (Indicating that the enhanced formulation is off
Public propertyFullyDynamicTheta
For the M11 Dynamic Wave scheme (not higher order), set the level of implicitness. Default is 1.0;
Public propertyFullyDynamicUseAlternativeConvectionSuppression
To increase the numerical stability of the algorithm an alternative method of applying the convective supression may be applied when using the fully dynamic or higher order fully dynamic wave approximtions. Default: false
Public propertyGlobalDelta
Time centering. Delta = 1 is fully implicit, i.e. x is estimated at n+1
Public propertyHeadlossCentering
Head loss centering. For _headlossCentering = 1, the headloss is calculated. For _headlossCentering = 0, the headloss (actual headloss, ie diff in water level from node to link) from the previous time step is used exclusively. Defaut value is 0.2
Public propertyHigherOrderFrictionFullyUpstream
For the higher order friction formulation it is possible always to use a fully upstream weighting of the friction term. In certain cases this is seen to stabilize the solution. Default: false
Public propertyMaximumWaterDepthAboveXSFactor
Maximum factor for relative water level (depth) compared to cross section height for open cross section. Given as a factor on the height of the cross section. If water depth exceeds
"factor" x "cross section height"
the simulation stops.

Set to 0 to disable. Then the water depth must always stay inside cross section height.

To enable, set larger than 1.

Public propertyMaximumWaterLevelAboveGroundInNodes
Throw an error is water level in nodes reaches this level above ground. Set to -1 to disable
Public propertyMinWaterDepth

Minimum water depth in a node/gridpoint. After every timestep the water level is corrected to be at least the minimum water depth.

For closed cross sections (circular, egg-shaped and o-shaped (MU circular types), rectangular etc.) the minimum water depth is the smallest of this value and MinWaterDepthRelative x cross section height (diameter).

If a gridpoint has a cross section with slot, the minimum water depth is also controlled by the slot, which is using Delh and MinWaterDepthFromBottomOfSlot(Double).

This must be less than Delh.

In M11 type setups this is set negative -1, effectively disabling this parameter and letting the slot functionality fully control the minimum water depth, and allowing water levels in the slot area.

Public propertyMinWaterDepthRelative

Relative version of MinWaterDepth, in case of closed cross sections the actual minimum water depth is the smallest of the MinWaterDepth and MinWaterDepthRelative * cross section height

This must be less than DelhRelative. TODO: Validate this

Public propertyNonReturnValveReopenTimeInSeconds
Time in seconds for non-return valves to fully open after having closed.
Public propertyNumberOfTimeStepIterations
The network engine iterates on each time step to solve the equation system with coefficients dependent on qauntities evaluated betweeen time step n and time step n+1. NumberOfTimeStepIterations limits the number of iterations that may be performed. A value of zero means that no iteration takes place, first values at time n+1 is used. Default: 1 Historically: M11 default 1, MU default 0 (no iteration)
Public propertyOscillationHChangeLimit
When oscillation detection is enabled (UseOscillationDamping), this is the relative change limit for water levels that will enable procedures for damping the solution.

Default value is 0.01, i.e. a 1% relative change in an oscillatory solution will trigger damping

Public propertyOscillationQChangeLimit
When oscillation detection is enabled (UseOscillationDamping), this is the relative change limit for discharges that will enable procedures for damping the solution.

Default value is 0.01, i.e. a 1% relative change in an oscillatory solution will trigger damping

Public propertySinkMomentumCorrection
Sink momentum correction term. When set to 1, a sink will also remove a similar amount of momentum, and hence remove strange artifacts around sink locations. Use 0 to disable the term.

Value must be between zero and one.

Public propertyStructureSetWaterLevelsAtTime
Decides which water level is used to control structures: WaterLevelN, WaterLevelNph, or WaterLevelNp1
Public propertyTopSlotAngle
Angle in degrees for artificial top slot, when using Angle.

Angle with vertical, angle out, ie, the angle is positive if the sides angle away from then center and negative if they angle in toward the center.

Public propertyTopSlotType
Artificial top slot. This is a small void introduced at the top of the section allowing a volume of water to run into the section. Hereby instabilities at high flow are prevented, and pressurized flow is handled.
Public propertyTopSlotTypeForCrossSectionTypes
Dictionary to infer top slot type from cross section type. Only used if TopSlotType == InferFromCrossSection
Public propertyUseOscillationDamping
Flag specifying whether oscillation damping is enabled.

Oscillations is often seen when the solution change is shifting sign from one time step ([n-1]->[n]) to the next time step ([n]->[n+1]), i.e. first decreasing and then increasing. The oscillation damping procedure will look for shifting in sign-change, but only apply actual damping when the two conditions in OscillationHChangeLimit or OscillationQChangeLimit is met.

Default is false.

Public propertyUseQZeroMethod
Flag specifying whether the QZero method is activated. The QZeroMethod makes sure that the flow goes towards zero when the river/link is drying out. Default: true.
Top
Methods
  NameDescription
Public methodDepthOfSlot
Depth of slot. Default: 5.0*delh
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 methodGetDelta
Time centering. Delta = 1 is fully implicit, i.e. x is estimated at n+1
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
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 methodMinWaterDepthFromBottomOfSlot
The minimum amount of water in a slot. Used after each time step to ensure that there is a minimum amount of water in the slot. Default: 0.01*delh
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also