SolverSettings Class

Various parameters and settings for the HD solver

Definition

Namespace: DHI.Mike1D.HDParameterDataAccess
Assembly: DHI.Mike1D.HDParameterDataAccess (in DHI.Mike1D.HDParameterDataAccess.dll) Version: 24.0.0.0 (11.1.1.1111)
C#
public class SolverSettings : IExtensibleDataObject
Inheritance
Object    SolverSettings
Implements
IExtensibleDataObject

Constructors

SolverSettings Default constructor. Sets default solversettings.

Properties

AllowOutletFreeOutflow 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.

Alpha The velocity distribution coefficient used in the convective acceleration term of the momentum equation. Default: 1 Historically: M11 default = 1, MU default = 1.1
BottomSlotType 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

Delh 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]

DelhRelative 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

DiffusiveWaveEpsilon Epsilon value for diffusive wave approximation
ExtensionData Holds data from an extended DataContract
FroudeExp Parameter 'b' in the enhanced formulation of the suppression term. Default: -1 (Indicating that the enhanced formulation is off
FroudeMax Parameter 'a' in the enhanced formulation of the suppression term. Default: -1 (Indicating that the enhanced formulation is off
FullyDynamicTheta For the M11 Dynamic Wave scheme (not higher order), set the level of implicitness. Default is 1.0;
FullyDynamicUseAlternativeConvectionSuppression 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
GlobalDelta Time centering. Delta = 1 is fully implicit, i.e. x is estimated at n+1
HeadlossCentering 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
HigherOrderFrictionFullyUpstream 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
ID Solver settings ID string.
MaximumWaterDepthAboveXSFactor 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.

MaximumWaterLevelAboveGroundInNodes Throw an error is water level in nodes reaches this level above ground. Set to -1 to disable
MinWaterDepth

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.

MinWaterDepthRelative

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

NonReturnValveReopenTimeInSeconds Time in seconds for non-return valves to fully open after having closed.
NumberOfTimeStepIterations 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)
OscillationHChangeLimit 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

OscillationQChangeLimit 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

SinkMomentumCorrection 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.

StructureSetWaterLevelsAtTime Decides which water level is used to control structures: WaterLevelN, WaterLevelNph, or WaterLevelNp1
TopSlotAngle 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.

TopSlotType 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.
TopSlotTypeForCrossSectionTypes Dictionary to infer top slot type from cross section type. Only used if TopSlotType == InferFromCrossSection
UseOscillationDamping 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.

UseQZeroMethod 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.

Methods

DepthOfSlot Depth of slot. Default: 5.0*delh
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)
GetDelta Time centering. Delta = 1 is fully implicit, i.e. x is estimated at n+1
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
MinWaterDepthFromBottomOfSlot 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
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also