Culvert Class |
See ICulvert for parameters for setting up a culvert.
The culvert such that critical flow conditions are calculated prior to calculation of the actual flow. The critical flow conditions are typically by activating the CalcCriticalConditions method from a user interface The result of this procedure is stored as part of the culvert specification. See CalculateFreeOverFlowQhRelation for more detail.
Namespace: DHI.Mike1D.StructureModule
The Culvert type exposes the following members.
Name | Description | |
---|---|---|
dDischargedDownStreamWaterLevel |
Calculated Discharge derivative with DownStreamWaterLevel. Downstream is relative to the direction of chainage.
The value is calculated by SetWaterLevels.
Unit: [m^2/s]
(Inherited from Structure.) | |
dDischargedUpStreamWaterLevel |
Calculated Discharge derivative with UpStreamWaterLevel. Upstream is relative to the direction of chainage.
The value is calculated by SetWaterLevels.
Unit: [m^2/s]
(Inherited from Structure.) | |
Delhs |
Linear flow variation.
For water level differences less than delhs use a linear Q variation
between h1-h2=delhs and h1-h2=0. This is to avoid stability problems
for small water level differences where dQdh goes to infinity.
Unit: [m]
Default: 0.01
| |
Discharge |
Calculated Discharge. The value is calculated by SetWaterLevels.
Unit: [m^3/s]
(Inherited from Structure.) | |
DownstreamCrossSection |
Downstream cross section data. The cros section data is the processed level, with, area.
| |
DownstreamInvertLevel |
The invert level downstream.
Unit: [m]
Default: 0
| |
DownstreamWaterLevel |
Downstream water level.Downstream refers to the direction of chainage. The water level is set by use of
SetWaterLevels
Unit: [m]
(Inherited from Structure.) | |
ExtensionData |
Property used by (de)serializer, when it can not find proper target for
a data field. Support of forward compatible data contracts.
(Inherited from Structure.) | |
FlowArea |
Flow area through structure. Used by most (but not all) structures.
(Inherited from Structure.) | |
FlowAreaOutflow | Flow area for outflow of culvert. | |
FlowFactor |
The discharge (and discharge derivatives) are scaled by the flow factor.
(Inherited from Structure.) | |
Geometry |
The geometry of the culvert section.
| |
HeadLossBendsNegativeFlow |
Bends head loss factor for negative flow.
Unit: []
Default value = 0.
| |
HeadLossBendsPositiveFlow |
Bends head loss factor for positive flow.
Unit: []
Default value = 0.
| |
HeadLossFreeOverflowNegativeFlow |
Free overflow factor for negative flow.
Default value = 1.
| |
HeadLossFreeOverflowPositiveFlow |
Free overflow factor for positive flow.
Default value = 1.
| |
HeadLossInflowNegativeFlow |
Inflow head loss factor for positive flow.
Default value = 0.5.
| |
HeadLossInflowPositiveFlow |
Inflow head loss factor for positive flow.
Default value = 0.5.
| |
HeadLossOutflowNegativeFlow |
Free overflow factor for negative flow.
Default value = 1.
| |
HeadLossOutflowPositiveFlow |
Outflow head loss factor for positive flow.
Default value = 1.
| |
HorizontalOffSetFromMarker2 |
Horizontal offset relative to up- and down- stream cross sections. Used when doing structure plotting.
| |
HydraulicParameters |
Hydraulic parameters for the given geometry.
| |
ID |
Structure ID
(Inherited from Structure.) | |
IDInUserUnit |
Used to get a consistent description of the structure. The ID comes in user units. Used e.g. when
reporting errors, warnings and hints.
(Inherited from Structure.) | |
Implicit |
Flag to control if the structure is implicit or explicit. If the structure is explicit
(Implicit == false) then the derivatives of the dicharge are always zero.
Default value: true
(Inherited from Structure.) | |
InvertLevelDownstream |
Invert level down stream
(Overrides StructureInvertLevelDownstream.) | |
InvertLevelUpstream |
Invert level up stream
(Overrides StructureInvertLevelUpstream.) | |
Length |
Length of the culvert.
Unit: [m]
Default: 0
(Overrides StructureLength.) | |
Location |
Location property.
(Inherited from Structure.) | |
Mannings_n |
Mannings n.
Unit: [s/m^(1/3)]
Default: 0.013
| |
MaximumIterations |
Maximum number of iterations in a structure to obtain convergence of the discharge.
Default value = 100
Currently this is set for all structures from the MaximumIterationsInStructure, but it is prepared for individual structure values. | |
Multiplicator |
Multiplicator or "number of culverts". Used for modelling more culverts in one go.
Unit: []
Default: 1
| |
MultiplicatorDischarge | Obsolete.
Multiplicator or "number of culverts", that are multiplied by the discharge.
This is set if CalculateFlowConditions(Int32) is executed, since
the returned tables does not take Multiplicator into account.
| |
NonConvergedIterations |
Total number of iterations in culvert structure.
| |
OrificeFlowCoefficientsNegativeFlow |
Orifice flow coefficients for negative flow
| |
OrificeFlowCoefficientsPositiveFlow |
Orifice flow coefficients for positive flow
| |
PartOfCompositeFlow |
When the culvert is part of a composite structure Q1=Q2 will differ from Qs.
Qs=Q1*_partOfCompositeFlow;
| |
QhFlowtypeRelationsNegativeFlow |
Q/h relations for negative flow
| |
QhFlowtypeRelationsPositiveFlow |
Q/h relations for positive flow
| |
RunTimeDiagnostics |
The getter is used to get a list of errors.
(Inherited from Structure.) | |
SideStructureBank |
Bank side that side-structure is located on
(Inherited from Structure.)If side structure contains reservoir, and has the Coordinate set, this is not used (and should be set to Undefined). | |
SideStructureReservoir |
Reservoir at end of side structure. Null if not side structure, or no reservoir is defined
(Inherited from Structure.) | |
SolverMethod |
How to solve the energy equation.
| |
StructureIterationCentering |
Used when making relaxation when iterating to find the subcritical solution for structures solved using the energy equation.
When it equals 1 no relaxation is made.
| |
StructureType |
Type of structure
(Inherited from Structure.) | |
TopoID |
String used to identified cross sections
(Inherited from Structure.) | |
TotalIterations |
Total number of iterations in culvert structure.
| |
Type |
Structure type, unique for each structure.
(Overrides StructureType.) | |
UpstreamCrossSection |
Upstream cross section data. The cros section data is the processed level, with, area.
| |
UpstreamInvertLevel |
The invert level upstream.
Unit: [m]
Default: 0
| |
UpstreamWaterLevel |
Upstream water level. Upstream refers to the direction of chainage. The water level is set by use of
SetWaterLevels
Unit: [m]
(Inherited from Structure.) | |
Valve |
Type of the valve
Default: None
(Inherited from ValvedStructure.) |
Name | Description | |
---|---|---|
Accepts |
List of data types that is accepted, i.e., that you can get a ValueSetter for.
(Inherited from Structure.) | |
ApplyFlowFactor |
Applies flow factor to discharge and it's derivatives
(Inherited from Structure.) | |
CalculateFlowConditions |
Call this method to produce Q-h relations and hydraulic parameters from culvert data.
| |
ControlSetFlowFactor |
Set flow factor to specified value
(Inherited from Structure.) | |
Description |
Return a string that describes this structure. Includes structure type and ID
(Inherited from Structure.) | |
Dispose |
Frees the licenses held.
(Inherited from Structure.) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
ExplicitStructureSupport |
DEBUG: This method is called from Validate() if _implitcit == false to check if
the structure supports being Explicit.
Once all structures support explicit operation this method can be deleted.
(Inherited from Structure.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetControlAction |
Get control action for the specified id. It always returns one of
the ActionControl delegates. It will return null if
controlActionId is not valid.
(Inherited from Structure.)Base implementation for IControllable | |
GetCurrentValue |
Get the current value of the control for the specified id.
(Inherited from Structure.)Base implementation for IControllable | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Initialize(IDiagnostics) |
Set up structure and set runtime diagnostics object
(Inherited from Structure.) | |
Initialize(ICrossSection, ICrossSection, Boolean, IDiagnostics) |
Prepare the weir: Set the cross sections on each side of the weir.
(Overrides StructureInitialize(ICrossSection, ICrossSection, Boolean, IDiagnostics).) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
Offers |
A list of quantities available from this structure
(Inherited from Structure.) | |
Prepare(HDParameterData, IDiagnostics) |
Set up structure and set runtime diagnostics object
(Overrides StructurePrepare(HDParameterData, IDiagnostics).) | |
Prepare(DateTime, HDParameterData, IDiagnostics) |
Set up structure and set runtime diagnostics object
(Inherited from Structure.) | |
ResetControlledState |
Reset internal state (if any) used by controlling class.
Called after a controlling class has performed a control sequence,
and simulation is restarted.
(Inherited from Structure.)Base implementation for IControllable | |
SetControlStrategyId |
Set control strategy ID manually.
(Inherited from Structure.)Base implementation for IControllable | |
SetInputWaterLevels | (Inherited from Structure.) | |
Setup | ||
SetWaterLevels(Double, Double) |
Sets up- and down- stream water level and forces the calculation of the discharge and its derivatives.
(Overrides StructureSetWaterLevels(Double, Double).) | |
SetWaterLevels(Double, Double, Double, Double) |
Sets up- and down-stream water level and forces the calculation of the discharge and its derivatives.
| |
SetZeroFlow |
Sets the conditions for zero flow
(Inherited from Structure.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
UpdatedWaterLevels |
After a time step (or iteration) has finished, update the discharge to the actual value, based
on the final water levels and the discharge derivatives.
(Inherited from Structure.) | |
Validate |
Writes errors, warnings and hints into their respective member classes. The member objects are initially cleared.
(Overrides StructureValidate.) | |
ValueGetter |
Get value setter for the specified data quantity
(Overrides StructureValueGetter(Int32).) | |
ValueSetter |
Get value setter for the specified data type
(Inherited from Structure.) | |
ValveDecidesFlow |
Decides whether the valve will decide the flow and sets the flow to zero in case the valve
forbids flow.
(Inherited from ValvedStructure.) | |
ZeroFlowDueToValve |
Decides wheather the valve will prevent flow given the flow direction.
(Inherited from ValvedStructure.) |
Name | Description | |
---|---|---|
_accepts |
List of quantities that are accepted
(Inherited from Structure.) | |
_controlStategyId |
If the structure is being controlled, then _controlStategyId contains the ID of the
active control strategy
(Inherited from Structure.) | |
_downstreamWaterLevel |
Downstream water level, as set by SetWaterLevels(Double, Double)
Unit: [m]
(Inherited from Structure.) | |
_dqdhDownstream |
The derivative of flow through the structure with downstream water level. The flow is
calculated in the derived classes when the SetWaterLevels method is called.
Unit: [m2/sec]
(Inherited from Structure.) | |
_dqdhUpstream |
The derivative of flow through the structure with upstream water level. The flow is
calculated in the derived classes when the SetWaterLevels method is called.
Unit: [m2/sec]
(Inherited from Structure.) | |
_flowArea |
Flow area through structure. Used by most (but not all) structures.
(Inherited from Structure.) | |
_flowDir |
FlowDir is used to determine which parameters to use for the flow calculations.
Derived by the SetWaterLevels(Double, Double).
(Inherited from Structure.) | |
_id |
Identification name of the structure
(Inherited from Structure.) | |
_implicit |
If _implicit == false, then the derivatives are always zero.
Default value: true.
(Inherited from Structure.) | |
_location |
Location in the network
(Inherited from Structure.) | |
_offers |
List of quantities that are offered
(Inherited from Structure.) | |
_q |
Flow through the structure. The flow is calculated in the derived classes when the
SetWaterLevels method is called.
Unit: [m3/sec]
(Inherited from Structure.) | |
_runTimeDiagnostics |
Diagnostics are written into this Diagnostics during calculations.
Set during Initialize(IDiagnostics) (Inherited from Structure.) | |
_topoID |
Identification used to find referenced cross sections
(Inherited from Structure.) | |
_upstreamWaterLevel |
Upstream water level, as set by SetWaterLevels(Double, Double)
Unit: [m]
(Inherited from Structure.) | |
_valveType |
Type of the valve
Default: None
(Inherited from ValvedStructure.) | |
UpstreamExternalEnergyLevel |
Flag indicating whether to use external energy level upstream, or whether to
calculate it as part of the internal solution.
It is more stable to use set to true. | |
UseNewCulvert |
Flag specifying whether to use new or old culvert iteration procedure
|
Name | Description | |
---|---|---|
Getter | From the proxy, return an FuncTResult for the specified quantity. It returns the first quantity of that type that is offered, and null if the quantity is not offered. | |
Getters |
Returns a set of FuncTResult for the quantity.
We can return several quantities with the same id (usually they will differ in their description).
If the quantity is not offerent, an empty list is returned.
(Defined by ProxyExtensions.) | |
GettersFraction |
Returns a set of FuncT, TResult for the quantity.
We can return several quantities with the same id (usually they will differ in their description).
If the quantity is not offerent, an empty list is returned.
(Defined by ProxyExtensions.) | |
GetterUnboxed | From the proxy, return an FuncTResult for the specified quantity. It returns the first quantity of that type that is offered, and null if the quantity is not offered. | |
Initialize(CrossSectionData, Boolean, IDiagnostics) | Overloaded.
Helper function for some unit tests. Do not use.
(Defined by StructureExtensions.) | |
Initialize(BoundaryData, CrossSectionData, Boolean, IDiagnostics) | Overloaded.
Helper function for some unit tests. Do not use.
(Defined by StructureExtensions.) | |
IsSideStructure |
Returns true if the structure is a side structure
(Defined by StructureExtensions.) | |
Setter | From the proxy, return an IDoubleGetSet for the specified quantity. It returns the first quantity of that type that is accepted, and null if the quantity is not accepted. |