source: trunk/anuga_core/demos/channel1.py @ 8729

Last change on this file since 8729 was 8728, checked in by steve, 12 years ago

Adding in usermanual and demos

File size: 1.9 KB
Line 
1"""Simple water flow example using ANUGA
2
3Water flowing down a channel
4"""
5
6#------------------------------------------------------------------------------
7# Import necessary modules
8#------------------------------------------------------------------------------
9
10# Import standard shallow water domain and standard boundaries.
11import anuga
12
13
14#------------------------------------------------------------------------------
15# Setup computational domain
16#------------------------------------------------------------------------------
17points, vertices, boundary = anuga.rectangular_cross(10, 5,
18                                               len1=10.0, len2=5.0) # Mesh
19
20domain = anuga.Domain(points, vertices, boundary)  # Create domain
21domain.set_name('channel1')                  # Output name
22
23#------------------------------------------------------------------------------
24# Setup initial conditions
25#------------------------------------------------------------------------------
26def topography(x, y):
27    return -x/10                             # linear bed slope
28
29domain.set_quantity('elevation', topography) # Use function for elevation
30domain.set_quantity('friction', 0.01)        # Constant friction
31domain.set_quantity('stage',                 # Dry bed
32                    expression='elevation') 
33
34#------------------------------------------------------------------------------
35# Setup boundary conditions
36#------------------------------------------------------------------------------
37Bi = anuga.Dirichlet_boundary([0.4, 0, 0])         # Inflow
38Br = anuga.Reflective_boundary(domain)             # Solid reflective wall
39
40domain.set_boundary({'left': Bi, 'right': Br, 'top': Br, 'bottom': Br})
41
42#------------------------------------------------------------------------------
43# Evolve system through time
44#------------------------------------------------------------------------------
45for t in domain.evolve(yieldstep=0.2, finaltime=40.0):
46    print domain.timestepping_statistics()
47
Note: See TracBrowser for help on using the repository browser.