From: Stefan Kummer <stefan_kum.mer@we...>  20130226 09:24:11
Attachments:
Message as HTML

Hi, I try to use ANUGA for river flooding simulation in small areas (about 1000 x 500 m) with some buildings and different vegetation in it and have a few questions: 1) Boundary conditions To setup a typical model I use boundary conditions as follows: * inflow boundary: Reflective_boundary * left and right model boundary: Reflective_boundary * interior holes (buildings): Reflective_boundary * outflow boundary: Dirichlet_discharge_boundary or Dirichlet_boundary * inflow created by: Inlet_operator(domain, line, Q) Is this a suitable choise or should there be any changes? What is exactly the difference between "Dirichlet_discharge_boundary" and "Dirichlet_boundary"? In case the the left and right boundary fall in dry areas: is it possible to set these boundaries to a neutral boundary, e.g. Dirichlet_boundary([0, 0, 0])? 2) Flow algorithm i could not find a description of the different flow algorithm. Whats the difference between the flow algorithm flags '1_0' , '1_5' , '1_75' , '2_0' , '2_5' , 'tsunami' in "domain.set_flow_algorithm()"? Which one should I prefer for river flooding? 3) Method of computing fluxes Same questions as for flow algorithm: what is the difference between the compute fluxes methods ('original','wb_1','wb_2','wb_3','tsunami') in domain.set_compute_fluxes_method()? Which one should be choosen for river flooding? 4) Wet and dry calculation I get results where in a dry area is a (small) wet area (for example one finite volume cell) with no obvious connection to the main flooded area. First of all i thought it was an interpolation problem while creating the plots with matplotlib. But the output of the swwfile (plot_utils.read_output) gives a wet centroid surrounded by dry centroids. Is there a way to set the depth in this single wet cells to zero or smaller than the minimum allowed hight to get a realistic flood area? How do large dry areas compared to the entire model area affect the calculation result? Is it better to adapt the modell boundaries to avoid large dry areas? Thanks, Stefan 
From: Stephen Roberts <stephen.roberts@an...>  20130226 12:07:11
Attachments:
Message as HTML

On 26/02/2013 8:22 PM, Stefan Kummer wrote: > > Hi, > > > I try to use ANUGA for river flooding simulation in small areas (about > 1000 x 500 m) with some buildings and different vegetation in it and > have a few questions: > > > 1) Boundary conditions > > To setup a typical model I use boundary conditions as follows: > > * > > inflow boundary: Reflective_boundary > > * > > left and right model boundary: Reflective_boundary > > * > > interior holes (buildings): Reflective_boundary > > * > > outflow boundary: Dirichlet_discharge_boundary or Dirichlet_boundary > > * > > inflow created by: Inlet_operator(domain, line, Q) > > Is this a suitable choise or should there be any changes? What is > exactly the difference between "Dirichlet_discharge_boundary" and > "Dirichlet_boundary"? > Your choices look good. The Dirichlet BC specifically sets stage, xmom, ymom The Dirichlet_discharge_boundary specifically sets stage, and a given discharge normal to the edge where the BC is applied. Unfortunately this doesn't mean that the specified discharge will equate to the flux calculated in the code. > In case the the left and right boundary fall in dry areas: is it > possible to set these boundaries to a neutral boundary, e.g. > Dirichlet_boundary([0, 0, 0])? > > Yes, but remember that the first entry is the stage, not the depth of water. > 2) Flow algorithm > > i could not find a description of the different flow algorithm. Whats > the difference between the flow algorithm flags '1_0' , '1_5' , '1_75' > , '2_0' , '2_5' , 'tsunami' in "domain.set_flow_algorithm()"? Which > one should I prefer for river flooding? > These flags are probably not the best notation, but 1_0 First order timestepping (Euler method) with piecewise constant reconstruction of stage, xmom,ymom (though the elevation is piecewise linear). Very diffusive 1_5 First order timestepping, piecewise linear stage, xmom, ymom, with limiting beta = 1. less diffusive. 1_75 Same as 1_5 but with beta large (less limiting), less diffusive. 2_0 Second order timestepping, same limiting as 1_75. even less diffusive. 2_5 Second order timestepping, even less limiting than 1_75 tsunami Second order timestepping, same limiting as 1_75, well balanced scheme to method to deal with wet dry interface. though problems with combination of thin flows over terrain (rain on terrain) combined with deeper flow, say down rivers. > > 3) Method of computing fluxes > > Same questions as for flow algorithm: what is the difference between > the compute fluxes methods ('original','wb_1','wb_2','wb_3','tsunami') > in domain.set_compute_fluxes_method()? Which one should be choosen for > river flooding? > > wb_1, wb_2 and wb_3 are three variants of the flux pressure calculation to ensure flat serface doesn't generate unphysical flows (well balanced) tsumami has yet a fourth method to ensure well balancing Suggest not using domain.set_compute_fluxes_method() and just use the domain.set_flow_algorithm() The default is '1_5' so I would suggest that for river floods. This algorithm is quite diffusive, so oscillations tend to be damped. The velocity profile across a river will tend to be smoothed out, though structures such as hydraulic jumps are still well resolved. For estuary modelling over a longer time, the 2_0 or 2_5 flow_algorithms are better. For mostly flat problems (tsunamis) use the 'tsunami' flow_algorithm > 4) Wet and dry calculation > > I get results where in a dry area is a (small) wet area (for example > one finite volume cell) with no obvious connection to the main flooded > area. First of all i thought it was an interpolation problem while > creating the plots with matplotlib. But the output of the swwfile > (plot_utils.read_output) gives a wet centroid surrounded by dry > centroids. Is there a way to set the depth in this single wet cells to > zero or smaller than the minimum allowed hight to get a realistic > flood area? > > How do large dry areas compared to the entire model area affect the > calculation result? Is it better to adapt the modell boundaries to > avoid large dry areas? > > You could manually set the stage (using domain.set_quantity) inside a polygonal region (using a Polygon_function) to some value below the elevation. There can be situations where the algorithms let the water creep up a hill. So probably it is better to minimize the dry areas. Also this will reduce the number of triangles and so the code will run faster. Cheers Steve > > Thanks, > > Stefan > > > >  > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_feb > > > _______________________________________________ > Anugauser mailing list > Anugauser@... > https://lists.sourceforge.net/lists/listinfo/anugauser  ++  Steve Roberts  My Office: (61)(2) 6125 4445   Department of Mathematics  Math Office: (61)(2) 6125 2908   Mathematical Sciences Institute Fax: (61)(2) 6125 4984   John Dedman Building #27  mailto:stephen.roberts@...   Australian National University  http://www.maths.anu.edu.au/~steve  Canberra ACT 0200 AUSTRALIA  ANU CRICOS # 00120C  ++ 