Changeset 4437
- Timestamp:
- May 15, 2007, 4:31:03 PM (18 years ago)
- Location:
- anuga_core/source/anuga
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/source/anuga/abstract_2d_finite_volumes/domain.py
r4376 r4437 827 827 828 828 if finaltime is not None and duration is not None: 829 print 'F', finaltime, duration829 #print 'F', finaltime, duration 830 830 msg = 'Only one of finaltime and duration may be specified' 831 831 raise msg … … 864 864 865 865 while True: 866 867 866 #Compute fluxes across each element edge 868 867 self.compute_fluxes() … … 983 982 timestep = min_timestep #Try enforcing min_step 984 983 985 #raise msg 984 985 print self.timestepping_statistics(track_speeds=True) 986 987 988 raise Exception 986 989 else: 987 990 #Try to overcome situation by switching to 1 order -
anuga_core/source/anuga/shallow_water/test_data_manager.py
r4419 r4437 43 43 domain = Domain(points, vertices, boundary) 44 44 domain.default_order = 2 45 46 45 47 46 #Set some field values … … 342 341 sww.store_connectivity() 343 342 sww.store_timestep('stage') 343 #self.domain.limit2007 = 1 344 344 self.domain.evolve_to_end(finaltime = 0.01) 345 345 sww.store_timestep('stage') … … 396 396 sww.store_connectivity() 397 397 sww.store_timestep('stage') 398 398 #self.domain.limit2007 = 1 399 399 self.domain.evolve_to_end(finaltime = 0.01) 400 400 sww.store_timestep('stage') … … 449 449 self.domain.store = True 450 450 self.domain.beta_h = 0 451 451 #self.domain.limit2007 = 1 452 452 453 453 #Evolution 454 454 for t in self.domain.evolve(yieldstep = 1.0, finaltime = 4.0): 455 455 456 #########self.domain.write_time(track_speeds=True) 456 457 stage = self.domain.quantities['stage'].vertex_values … … 459 460 fid = NetCDFFile(self.domain.writer.filename, 'r') 460 461 stage_file = fid.variables['stage'] 461 462 462 463 if t == 0.0: 463 464 assert allclose(stage, self.initial_stage) … … 491 492 sww.store_timestep('stage') 492 493 494 #self.domain.limit2007 = 1 493 495 self.domain.evolve_to_end(finaltime = 0.01) 494 496 sww.store_timestep('stage') … … 1118 1120 sww.store_timestep('stage') 1119 1121 1122 #self.domain.limit2007 = 1 1123 1120 1124 self.domain.evolve_to_end(finaltime = 0.01) 1121 1125 sww.store_timestep('stage') … … 1291 1295 sww.store_connectivity() 1292 1296 sww.store_timestep('stage') 1293 1297 1298 domain.limit2007 = 1 1294 1299 domain.evolve_to_end(finaltime = 0.01) 1295 1300 sww.store_timestep('stage') … … 1476 1481 sww.store_timestep('stage') 1477 1482 1483 #domain.limit2007 = 1 1478 1484 domain.evolve_to_end(finaltime = 0.01) 1479 1485 sww.store_timestep('stage') … … 1624 1630 sww.store_timestep('stage') 1625 1631 1632 #self.domain.limit2007 = 1 1626 1633 self.domain.evolve_to_end(finaltime = 0.01) 1627 1634 sww.store_timestep('stage') … … 1735 1742 sww.store_timestep('stage') 1736 1743 1744 #self.domain.limit2007 = 1 1737 1745 self.domain.evolve_to_end(finaltime = 0.01) 1738 1746 sww.store_timestep('stage') … … 1993 2001 sww.store_timestep('stage') 1994 2002 2003 #self.domain.limit2007 = 1 1995 2004 self.domain.evolve_to_end(finaltime = 0.01) 1996 2005 sww.store_timestep('stage') … … 2092 2101 sww.store_timestep('stage') 2093 2102 2103 #self.domain.limit2007 = 1 2094 2104 self.domain.evolve_to_end(finaltime = 0.01) 2095 2105 sww.store_timestep('stage') … … 2753 2763 self.domain.reduction = mean 2754 2764 self.domain.set_datadir('.') 2765 #self.domain.limit2007 = 1 2755 2766 2756 2767 … … 2775 2786 assert allclose(ymin, 0.0) 2776 2787 assert allclose(ymax, 1.0) 2777 assert allclose(stagemin, -0.85) 2788 assert allclose(stagemin, -0.85), 'stagemin=%.4f' %stagemin 2778 2789 assert allclose(stagemax, 0.15) 2779 2790 … … 2824 2835 domain.check_integrity() 2825 2836 #Evolution 2837 #domain.limit2007 = 1 2826 2838 for t in domain.evolve(yieldstep = yiel, finaltime = 0.05): 2827 2839 #domain.write_time() … … 6022 6034 pass 6023 6035 suite = unittest.makeSuite(Test_Data_Manager,'test') 6024 runner = unittest.TextTestRunner() #verbosity=2)6036 runner = unittest.TextTestRunner()#(verbosity=2) 6025 6037 runner.run(suite) 6026 6038 -
anuga_core/source/anuga/shallow_water/test_shallow_water_domain.py
r4376 r4437 4198 4198 4199 4199 4200 4201 def test_tight_slope_limiters(self): 4202 """Test that new slope limiters (Feb 2007) don't induce extremely 4203 small timesteps. This test actually reveals the problem as it 4204 was in March-April 2007 4205 """ 4206 4207 import time, os 4208 from Numeric import array, zeros, allclose, Float, concatenate 4209 from Scientific.IO.NetCDF import NetCDFFile 4210 from data_manager import get_dataobject, extent_sww 4211 from mesh_factory import rectangular 4212 4213 4214 #Create basic mesh 4215 points, vertices, boundary = rectangular(2, 2) 4216 4217 #Create shallow water domain 4218 domain = Domain(points, vertices, boundary) 4219 domain.default_order = 2 4220 domain.limit2007 = 1 4221 domain.H0 = 0.01 4222 4223 4224 4225 #Set some field values 4226 domain.set_quantity('elevation', lambda x,y: -x) 4227 domain.set_quantity('friction', 0.03) 4228 4229 4230 ###################### 4231 # Boundary conditions 4232 B = Transmissive_boundary(domain) 4233 domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B}) 4234 4235 4236 ###################### 4237 #Initial condition - with jumps 4238 4239 4240 bed = domain.quantities['elevation'].vertex_values 4241 stage = zeros(bed.shape, Float) 4242 4243 h = 0.3 4244 for i in range(stage.shape[0]): 4245 if i % 2 == 0: 4246 stage[i,:] = bed[i,:] + h 4247 else: 4248 stage[i,:] = bed[i,:] 4249 4250 domain.set_quantity('stage', stage) 4251 4252 4253 domain.distribute_to_vertices_and_edges() 4254 4255 4256 4257 domain.set_name('tight_limiters') 4258 domain.format = 'sww' 4259 domain.smooth = True 4260 domain.reduction = mean 4261 domain.set_datadir('.') 4262 domain.smooth = False 4263 domain.store = True 4264 domain.beta_h = 0 4265 4266 4267 #Evolution 4268 for t in domain.evolve(yieldstep = 0.1, finaltime = 0.3): 4269 4270 #domain.write_time(track_speeds=True) 4271 stage = domain.quantities['stage'].vertex_values 4272 4273 #Get NetCDF 4274 fid = NetCDFFile(domain.writer.filename, 'r') 4275 stage_file = fid.variables['stage'] 4276 4277 fid.close() 4278 4279 os.remove(domain.writer.filename) 4280 4281 4200 4282 def test_pmesh2Domain(self): 4201 4283 import os
Note: See TracChangeset
for help on using the changeset viewer.