source: trunk/anuga_work/development/mem_time_tests/parameters/friction/ex1.py @ 8326

Last change on this file since 8326 was 8326, checked in by pittj, 12 years ago

formatted the experiment scripts

  • Property svn:executable set to *
File size: 2.9 KB
Line 
1"""Simple water flow example using ANUGA
2Water flowing down a channel
3"""
4#------------------------------------------------------------------------------
5# Import necessary modules
6#------------------------------------------------------------------------------
7# Import standard shallow water domain and standard boundaries.
8import anuga
9import time
10import os
11from anuga.abstract_2d_finite_volumes.util import add_directories
12from anuga.utilities import log
13
14home = os.getenv('INUNDATIONHOME')
15scenariodir = add_directories(home, ["data","mem_time_test", "parameters",
16                                     "friction"])
17
18
19#store = 'store.txt'
20#file_path_store = os.path.join(scenariodir, store)
21
22f = open(os.path.join(scenariodir, "store.txt"),'r+') # SQRT extent this is set
23friction = float(f.readline())
24f.close()
25
26scenariodirV = add_directories(home, ["data","mem_time_test", "parameters",
27                                     "friction","friction-" + str(friction)])
28
29log.log_filename = os.path.join(scenariodirV, "anuga.log")
30log._setup = False
31
32log.resource_usage_timing(prefix = 'BeforeSimulation')
33
34#------------------------------------------------------------------------------
35# Setup computational domain
36#------------------------------------------------------------------------------
37points, vertices, boundary = anuga.rectangular_cross(100,300,len1=1000.0, len2=500.0) # Mesh
38domain = anuga.Domain(points, vertices, boundary) # Create domain
39domain.set_datadir(scenariodirV)
40domain.set_name('channel1') # Output name
41
42log.resource_usage_timing(prefix = 'AfterMesh')
43   
44#------------------------------------------------------------------------------
45# Setup initial conditions
46#------------------------------------------------------------------------------
47def topography(x, y):
48    return -x/10 # linear bed slope
49
50log.resource_usage_timing(prefix = 'BeforeInitial')
51domain.set_quantity('elevation', topography) # Use function for elevation
52domain.set_quantity('friction', friction) # Constant friction
53domain.set_quantity('stage', # Dry bed
54                           expression='elevation')
55log.resource_usage_timing(prefix = 'AfterInitial')
56
57#------------------------------------------------------------------------------
58# Setup boundary conditions
59#------------------------------------------------------------------------------
60log.resource_usage_timing(prefix = 'BeforeBoundary')
61Bi = anuga.Dirichlet_boundary([0.4, 0, 0]) # Inflow
62Br = anuga.Reflective_boundary(domain) # Solid reflective wall
63domain.set_boundary({'left': Bi, 'right': Br, 'top': Br, 'bottom': Br})
64log.resource_usage_timing(prefix = 'AfterBoundary')
65
66#------------------------------------------------------------------------------
67# Evolve system through time
68#------------------------------------------------------------------------------
69for t in domain.evolve(yieldstep=0.2, finaltime=40.0):
70    print domain.timestepping_statistics()
71
72log.resource_usage_timing(prefix = 'AfterSimulation')
Note: See TracBrowser for help on using the repository browser.