Skip to content

Latest commit

 

History

History
65 lines (49 loc) · 2.32 KB

BedResistanceToolbox.md

File metadata and controls

65 lines (49 loc) · 2.32 KB

Bed Resistance Toolbox Script

The Bed Resistance Toolbox Script offers a possibility to make MIKE 1D engine calculate the bed resistance as a function of the various hydraulic parameters during the simulation after every time step by applying a user defined Bed Resistance Equation. In the present script it is assumed that all equations provide the bed resistance using the Manning's M resistance formulation.

This script is a replacement of the Bed Resistance Toolbox available for MIKE 11 engine.

Usage Example

The wanted bed resistance calculators need to be added in the method CreateBedResistanceCalculators(). For example, to add 1/M=a*Vb bed resistance velocity V dependence (with a=0.05, b=1.0, minimum resistance Mmin=10, and maximum resistance Mmax=40) on a reach with name MyReach from chainage 1000 to 2000 add a line:

AddFormula(FormulaType.Velocity, 0.05, 1.0, 10, 40, "MyReach", 1000, 2000);

To apply the same formula on the whole reach use a simplified method:

AddFormula(FormulaType.Velocity, 0.05, 1.0, 10, 40, "MyReach");

If the formula needs to be applied globally then add a line:

AddFormula(FormulaType.Velocity, 0.05, 1.0, 10, 40);

As in MIKE 11 there are three predefined formula types are:

  • FormulaType.VelocityHydraulicRadius [1/M=a*ln(V*R)+b]
  • FormulaType.HydraulicDepth [1/M=a*Db]
  • FormulaType.Velocity [1/M=a*Vb]

where V is velocity, R is hydraulic radius, and D is hydraulic depth. Note that hydraulic depth is defined as an average depth to avoid local deep parts of a section to control the resistance for the entire cross section. Hydraulic depth is therefore calculated as: D=Area/Width.

The velocity dependence of bed resistance using a velocity-resistance table can be done using:

double[] velocityValues = { 0.0, 1.0, 2.0 };
double[] resistanceValues = { 15.0, 20.0, 40.0 };
AddTable(velocityValues, resistanceValues, "MyReach", 1000, 2000);

As the name suggests the array velocityValues contains velocity values in unit m/s and the array resistanceValues contains Manning's M resistance values in unit m1/3/s. Outside the bounds of the velocityValues array, the nearest resistanceValues is used.