BASEMENTBasic Simulation Environment for computation of environmental flow and natural hazard simulationLaboratory of Hydraulics, Hydrology and Glaciology (VAW)ETH Zurich |
You are not logged in.
Hi
My river has had sediment mining in the past and I would need to model the impact of this in 1D (e.g. did it cause aggradation downstream of the mining place, how did grain size distribution changed of the bed,...). I have a volume (560000m3) that was locally taken from the bed.
I understand the 'dredge' function cannot be used for simulating this, since it doesn't go below the fixed bed.
How could I do this in Basement? What about a negative sediment_discharge? It seems with that there is an option to include erode_below_fixed_bed. Would that work? I see there is a warning of this function that it might lead to unclear behaviour..
Thanks for your help
Alyssa
Last edited by Alyssa (2020-09-03 09:31:34)
Offline
Hi Alyssa,
do you need to simulate this process during the simulation, or could it be a pre-processing process?
In this case, you could modify your geometry to have the sediment removed. If you need to study the dynamic of the river during the extraction, you could set a deeper fixed bed where you need to dredge.
I would avoid the negative sediment discharge, because it could cause instabilities in the fluxes calculations!
Hope this helps,
Matteo
Offline
Hi Matteo
Thanks for the reply
I thought about changing the geometry as an option. What do you mean by setting a deeper fixed bed? I thought you can only do that by changing the geometry, isn't the fixed bed defined by that?
I have 1 soil with 2 layers (surface and subsurface which is very deep).
Bye
Alyssa
Offline
Hi Alyssa,
you can define a soil in the geometry and define different indeces for each soil using e.g. the slices. Then, you can use this definition under SOIL_ASSIGNMENT in the bmc file and define different soils based on the indeces. Each soil can have different layers and if you set a layer with bottom_elevation=0.0 you are basically defining a fixed bed layer!
Hope this helps,
Matteo
Offline
Hi Matteo
I have assigned a soil as you mentioned for the area of the active bed. In soil assignment I used 2 layers for this soil, a surface (-0.1m) and subsurface(until -5m). Still it tells me the fixed bed is at the top of the bed so dredging is not possible.
thanks
Alyssa
Offline
Hey Alyssa,
have you defined a soil over the entire width of the cross-section? If not, try to do that!
Cheers,
Matteo
Offline
Hi Matteo
I tried again with rectangular cross sections to make it easier, and the entire width of the section now has the same soil (consisting of 2 layers). The error remains however:
" Dredge level '122' is below the fixed bed elevation of '124.946' in cross section 'PK65'. Dredging of the fixed bed is not allowed. .."
What is also strange is that my bed level at this cross section is 124.53, so I don't know what is this value of 124.946. And why is it seen as fixed bed?
Thanks
Alyssa
Offline
Hi Alyssa,
it is hard to know without looking at the geometry. Would you mind pasting here the cross-section definition from the bmg file?
Or, if you solved the problem, woud you mind writing here how you did it?
Best
Matteo
Offline
Hi Matteo
No I never solved this issue, I just changed the geometry of the bed. But it would be nice to know how to use this function. The .bmg I had for this exercise is copied below. I'm using rectangular cross sections. I also copied the part of the code where I define the soil and layers.
Thanks
CROSS_SECTION {
name = PK52
distance_coord = 0
node_coords = ((0,151.4), (5,131.4), (155,131.4), (160,151.4))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK52_5
distance_coord = 0.5
node_coords = ((0,151.1), (5,131.2), (155,131.2), (160,151.1))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK53
distance_coord = 1
node_coords = ((0,150.8), (5,130.86), (155,130.86), (160,150.8))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK54
distance_coord = 2
node_coords = ((0,150.3), (5,130.32), (155,130.32), (160,150.3))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK55
distance_coord = 3
node_coords = ((0,149.8), (5,129.82), (155,129.82), (160,149.8))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK56
distance_coord = 4
node_coords = ((0,149.2), (5,129.25), (155,129.25), (160,149.2))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK57
distance_coord = 5
node_coords = ((0,148.7), (5,128.74), (155,128.74), (160,148.7))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK58
distance_coord = 6
node_coords = ((0,148.2), (5,128.22), (155,128.22), (160,148.2))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK59
distance_coord = 7
node_coords = ((0,147.7), (5,127.72), (155,127.72), (160,147.7))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK60
distance_coord = 8
node_coords = ((0,147.1), (5,127.15), (155,127.15), (160,147.1))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK60_50
distance_coord = 8.50
node_coords = ((0,147.1), (5,126.9), (155,126.9), (160,147.1))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK60_51
distance_coord = 8.51
node_coords = ((0,147.1), (5,126.9), (155,126.9), (160,147.1))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK61
distance_coord = 9
node_coords = ((0,146.6), (5,126.64), (155,126.64), (160,146.6))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK62
distance_coord = 10
node_coords = ((0,146.09), (5,126.11), (155,126.11), (160,146.09))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK63
distance_coord = 11
node_coords = ((0,145.6), (5,125.61), (155,125.61), (160,145.6))
bottom_range = (5,155)
SOIL_DEF {
index = 1
range = (5,155)
}
}
CROSS_SECTION {
name = PK64
distance_coord = 12
node_coords = ((0,145.0), (5,125.04), (235,125.04), (240,145.0))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK65
distance_coord = 13
node_coords = ((0,144.5), (5,124.53), (235,124.53), (240,144.5))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK66
distance_coord = 14
node_coords = ((0,144), (5,124.01), (235,124.01), (240,144))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK67
distance_coord = 15
node_coords = ((0,143.46), (5,123.48), (235,123.48), (240,143.46))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK68
distance_coord = 16
node_coords = ((0,142.9), (5,122.92), (235,122.92), (240,142.9))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK69
distance_coord = 17
node_coords = ((0,142.4), (5,122.42), (235,122.42), (240,142.4))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK70
distance_coord = 18
node_coords = ((0,141.8), (5,121.84), (235,121.84), (240,141.8))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK71
distance_coord = 19
node_coords = ((0,141.4), (5,121.41), (235,121.41), (240,141.4))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK72
distance_coord = 20
node_coords = ((0,140.83), (5,120.81), (235,120.81), (240,140.83))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK73
distance_coord = 21
node_coords = ((0,140.3), (5,120.33), (235,120.33), (240,140.3))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK74
distance_coord = 22
node_coords = ((0,139.7), (5,119.73), (235,119.73), (240,139.7))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK75
distance_coord = 23
node_coords = ((0,139.3), (5,119.31), (235,119.31), (240,139.3))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK76
distance_coord = 24
node_coords = ((0,138.7), (5,118.71), (235,118.71), (240,138.7))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK77
distance_coord = 25
node_coords = ((0,138.2), (5,118.23), (235,118.23), (240,138.2))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK78
distance_coord = 26
node_coords = ((0,137.7), (5,117.7), (235,117.7), (240,137.7))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK79
distance_coord = 27
node_coords = ((0,137.1), (5,117.15), (235,117.15), (240,137.1))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK80
distance_coord = 28
node_coords = ((0,136.6), (5,116.63), (235,116.63), (240,136.6))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK81
distance_coord = 29
node_coords = ((0,136.1), (5,116.12), (235,116.12), (240,136.1))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
CROSS_SECTION {
name = PK82
distance_coord = 30
node_coords = ((0,135.57), (5,115.57), (235,115.57), (240,135.57))
bottom_range = (5,235)
SOIL_DEF {
index = 2
range = (5,235)
}
}
----------------------------------------------
BEDMATERIAL {
GRAIN_CLASS {
diameters = (2.0 5.7 11.3 22.6 45.3 76.1 107.6 151.8 214.7 277.1)
}
MIXTURE {
name = surface
volume_fraction = (0.22 0.73 7.62 25.83 27.78 16.69 13.22 4.72 2.89 0.30)
}
MIXTURE {
name = subsurface
volume_fraction = (1.99 3.03 18.32 35.77 27.76 10.18 2.75 0.18 0.01 0.01)
}
SOIL_ASSIGNMENT {
index = (1)
soil = (soil1)
type = index_table
}
SOIL_DEF {
name = soil1
LAYER {
mixture = surface
bottom_elevation = -0.1
}
LAYER {
mixture = subsurface
bottom_elevation = -5
}
}
}
Offline
Hi Alyssa,
try also to set the active range same as the bottom range.
Cheers
Matteo
Offline