Changeset 2206
- Timestamp:
- Jan 13, 2006, 4:43:01 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
inundation/pyvolution/shallow_water.py
r2205 r2206 58 58 from region import *# 59 59 60 Generic_ domain = Domain #Rename60 Generic_Domain = Domain #Rename 61 61 62 62 #Shallow water domain 63 class Domain(Generic_ domain):63 class Domain(Generic_Domain): 64 64 65 65 def __init__(self, coordinates, vertices, boundary = None, … … 69 69 conserved_quantities = ['stage', 'xmomentum', 'ymomentum'] 70 70 other_quantities = ['elevation', 'friction'] 71 Generic_ domain.__init__(self, coordinates, vertices, boundary,71 Generic_Domain.__init__(self, coordinates, vertices, boundary, 72 72 conserved_quantities, other_quantities, 73 73 tagged_elements, geo_reference, use_inscribed_circle) … … 101 101 102 102 103 #Establish shortcuts to relevant quantities (for efficiency)104 #self.w = self.quantities['stage']105 #self.uh = self.quantities['xmomentum']106 #self.vh = self.quantities['ymomentum']107 #self.z = self.quantities['elevation']108 #self.eta = self.quantities['friction']109 103 110 104 def initialise_visualiser(self,scale_z=1.0,rect=None): … … 112 106 if self.visualiser is None: 113 107 from realtime_visualisation_new import Visualiser 114 #from vtk_realtime_visualiser import Visualiser115 108 self.visualiser = Visualiser(self,scale_z,rect) 116 109 self.visualiser.setup['elevation']=True … … 120 113 self.visualiser.coloring['stage'] = True 121 114 self.visualiser.qcolor['stage'] = (0.0, 0.0, 0.8) 115 print 'initialise visualiser' 116 print self.visualiser.setup 117 print self.visualiser.updating 122 118 123 119 def check_integrity(self): 124 Generic_ domain.check_integrity(self)120 Generic_Domain.check_integrity(self) 125 121 126 122 #Check that we are solving the shallow water wave equation … … 205 201 #and or visualisation 206 202 self.distribute_to_vertices_and_edges() 207 #s = '''for x in range(5):208 # self.distribute_to_vertices_and_edges()'''209 # global profiler210 # profiler = profiler.runctx(s, globals(), locals())211 203 212 204 #Initialise real time viz if requested 213 if self.visualise is True and self.time == 0.0 and self.visualiser is None: 214 #pass 215 #import realtime_visualisation_new as visualise 216 #visualise.create_surface(self) 217 self.initialise_visualiser() 218 #self.visualiser.update_timer() 219 print "Warning: Enabling the visualiser with domain.visualise is not" 220 print "recommended. Controlling the visualiser manually allows for much better" 221 print "control over visualiser parameters." 222 223 if self.visualise is True: 224 self.visualiser.start() 205 if self.visualise is True and self.time == 0.0: 206 if self.visualiser is None: 207 self.initialise_visualiser() 208 209 self.visualiser.update_timer() 210 self.visualiser.setup_all() 225 211 226 212 #Store model data, e.g. for visualisation … … 236 222 237 223 #Call basic machinery from parent class 238 for t in Generic_ domain.evolve(self, yieldstep, finaltime,224 for t in Generic_Domain.evolve(self, yieldstep, finaltime, 239 225 skip_initial_step): 240 226 #Real time viz 241 227 if self.visualise is True: 242 #pass 243 #Obseleted by the VTK-Visualiser 244 #self.visualiser.update_all() 245 #self.visualiser.update_timer() 246 self.visualiser.request_redraw() 228 self.visualiser.update_all() 229 self.visualiser.update_timer() 230 247 231 248 232 #Store model data, e.g. for subsequent visualisation … … 255 239 #Pass control on to outer loop for more specific actions 256 240 yield(t) 257 import pypar 258 profiler.dump_stats("distrib_profile." + str(pypar.size()) + "." + str(pypar.rank()) + ".dat") 241 259 242 def initialise_storage(self): 260 243 """Create and initialise self.writer object for storing data. … … 280 263 281 264 282 ####################MH 090605 new extrapolation function belonging to domain class 283 def extrapolate_second_order_sw(domain): 284 """extrapolate conserved quntities to the vertices of the triangles 285 Python version to be written after the C version 286 """ 287 msg = 'Method extrapolate_second_order_sw should be implemented in C' 288 raise msg 289 ####################MH 090605 ########################################### 290 291 def initialise_visualiser(self,scale_z=1.0,rect=None): 292 #Realtime visualisation 293 if self.visualiser is None: 294 from realtime_visualisation_new import Visualiser 295 from Numeric import array, Float 296 297 if rect is None: 298 rect = array(self.xy_extent, Float) 299 300 self.visualiser = Visualiser(self,scale_z,rect) 301 self.visualise = True 265 #=============== End of Shallow Water Domain =============================== 266 302 267 303 268
Note: See TracChangeset
for help on using the changeset viewer.