modelKPOpenChannel
Implementation of the KP functions for an open channel
Information
Here is example of using the KP function to solve hyperbolic PDE (here, model for openchannel is used).
All calculation of the variables that is used for defining eigenvalues, source term S and vector F are implemented inside this model.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | N | 100 | Number of segments |
| SI.Length | W | 194 | Channel width |
| SI.Length | L | 5000 | Channel length |
| SI.Height[2] | H | {16.7, 0} | Channel height, left and right side |
| SI.Height[N + 1] | b | linspace(H[1], H[2], N + 1) | Riverbed |
| SI.Height[N] | h_0 | vector([ones(5)*0.4; linspace(H[1] - 0.4 - 0.5*(b[6] + b[7]), H[1] - 0.4 - 0.5*(b[N] + b[N + 1]), N - 5)]) | Initial depth |
| SI.VolumeFlowRate | Vdot_0 | 120 | Initial flow rate |
| Real | f_n | 0.04 | Manning's roughness coefficient [s/m^1/3] |
| Boolean[2,2] | boundaryCondition | [false, true; false, true] | Boundary conditions considering [z_left, q_left; z_right, q_right] |
| Boolean | SteadyState | false | If true - starts from Steady State |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Data | data | Using standard data set | |
| Real[2,2] | boundaryValues | [h_0[1] + b[1], Vdot_0/W; h_0[N] + b[N + 1], Vdot_0/W] | Values for the boundary conditions [z_left, q_left; z_right, q_right] |
| SI.Length | dx | L/N | |
| SI.VolumeFlowRate[N] | Vdot | ||
| SI.Height[N] | z | ||
| SI.Height[N] | B | ||
| SI.Height[N,4] | z_ | ||
| SI.Height[N,4] | h_ | ||
| SI.Height[N] | h | ||
| SI.Velocity[N,4] | u_ | ||
| Real | q0 | Vdot_0/W | |
| Real[N] | q | ||
| Real[N,4] | q_ | ||
| Real | q_t | ||
| Real[2*N] | S_ | ||
| Real | theta | 1.3 | |
| Real[2*N,4] | F_ | ||
| Real[N,4] | lam1 | ||
| Real[N,4] | lam2 | ||
| Real[N] | F_f | ||
| Real[2*N] | U | ||
| Real[8,N] | U_ | ||
| Real[N] | U_mp | ||
| Real[N] | U_pm | ||
| Functions.KP07.KPmethod | KP | Specify all variables which is needed for using KP method for solve PDE |