source: trunk/anuga_work/development/mem_time_tests/parameters/timelen-over-timestep/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: 3.0 KB
Line 
1#------------------------------------------------------------------------------
2# Import necessary modules
3#------------------------------------------------------------------------------
4import anuga
5import time
6import random
7import os
8from anuga.abstract_2d_finite_volumes.util import add_directories
9from anuga.utilities import log
10
11#set up variables to store the temporary data
12home = os.getenv('INUNDATIONHOME')
13scenariodir = add_directories(home, ["data","mem_time_test", "parameters",
14                                     "timelen-over-timestep"])
15store ='store.txt'
16file_path_store = os.path.join(scenariodir, store)
17storen ='storen.txt'
18file_path_storen = os.path.join(scenariodir, storen)
19
20#get the time length and time step from the text files
21f = open(file_path_store,'r+') 
22g = float(f.readline())
23f.close()
24f = open(file_path_storen,'r+')
25h = float(f.readline())
26f.close()
27
28#set up variables to store the data and the log files
29scenariodirV = add_directories(home, ["data","mem_time_test", "parameters",
30                                       "timelen-over-timestep", "TT-" + str(g) +"-"+ str(h)])
31log.log_filename = os.path.join(scenariodirV, "anuga.log")
32log._setup = False
33
34
35log.resource_usage_timing(prefix = 'BeforeSimulation') #get memory usage here
36
37#------------------------------------------------------------------------------
38#Create Domain and Mesh
39#------------------------------------------------------------------------------
40points, vertices, boundary = anuga.rectangular_cross(100,300,len1=1000.0, len2=500.0) # Mesh
41domain = anuga.Domain(points, vertices, boundary) # Create domain
42domain.set_name('channel1') # Output name
43domain.set_datadir(scenariodirV) 
44
45log.resource_usage_timing(prefix = 'AfterMesh')  #get memory usage here
46
47#------------------------------------------------------------------------------
48# Setup initial conditions
49#------------------------------------------------------------------------------
50def topography(x, y):
51    return -x/10 # linear bed slope
52
53domain.set_quantity('elevation', topography) # Use function for elevation
54domain.set_quantity('friction', 0.01) # Constant friction
55domain.set_quantity('stage', expression='elevation')
56log.resource_usage_timing(prefix='afterinitialconditions')  #get memory usage here
57
58#------------------------------------------------------------------------------
59# Setup boundary conditions
60#------------------------------------------------------------------------------
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')  #get memory usage here
65#------------------------------------------------------------------------------
66# Evolve system through time
67#------------------------------------------------------------------------------
68for t in domain.evolve(yieldstep=h, finaltime=g):
69    print domain.timestepping_statistics()
70
71log.resource_usage_timing(prefix='aftersimulation')  #get memory usage here
Note: See TracBrowser for help on using the repository browser.