Setting small tolerances for very low slope conditions
I am trying to study overland flows on low-sloped planes using Shallow Water physics of FLOW-3D. I tested FLOW-3D for an overland flow with 2% slope on concrete surface with rainfall source and it showed a very good match with the observed data. However when I test the same surface changing the slope to 0.005% and keeping all other parameter same, the simulation shows very high volume conservation error. Hence I suspect I have to change the detention or dry-wet or similar tolerance which differentiates the flow depth as dry or wet. I mean there should be some minimum error tolerance below which the flow depth is simply ignored. Or is there a minimum limiting value of slope set in FLOW-3D below which the slope calculated is simply ignored? I also did play with setting minimum and maximum time step to low values which also didnít help. What is the correct tolerance that has to be changed? Any suggestion is highly appreciated.
There are a few things you might try:
1) use smaller cells in x and y directions: does this reduce the conservation error?
2) be careful with multiple mesh blocks (if you are using multi-blocks): the boundaries between the blocks should be in regions of very smooth flow, not in places where rapid accelerations occur.
3) try switching from implicit shallow water solver to explicit, or vice versa, and see if that reduces the conservation error.
4) make sure your .stl files (if using any) are fully closed and have no reversed normals, bad edges, or holes: I recommend netfabb Studio Basic as a good free tool for this.
The cells in x and y directions were already finer. The same model but higher slope produced well matched discharge with the observed one. As per your suggestion I tried switching implicit shallow water solver to explicit or implicit which didn't help either. The problem is when the bed slope is very low (So=0.00005) and when the discharge reaches around equilibrium discharge due to uniform rainfall, then the model shows larger conservation error which keeps on increasing. Can you think of any other tolerance, coefficients that I can tweak? I just have single block mesh which is like inclined plane with very small bed slope and I don't use .stl files too. The source is rainfall which is provided as source from component properties.
I also use my fortran program to model the simulation, in which I tweak the detention tolerance, minm timestep and Courant number.
|All times are GMT -4. The time now is 16:41.|