- Timestamp:
- Mar 11, 2008, 8:43:22 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/source/anuga/shallow_water/shallow_water_domain.py
r5089 r5162 103 103 from anuga.config import alpha_balance 104 104 from anuga.config import optimise_dry_cells 105 from anuga.config import optimised_gradient_limiter 105 106 106 107 #--------------------- … … 176 177 self.minimum_storable_height = minimum_storable_height 177 178 self.quantities_to_be_stored = ['stage','xmomentum','ymomentum'] 178 179 180 # Limiters 181 self.use_old_limiter = True 182 183 self.optimised_gradient_limiter = optimised_gradient_limiter 179 184 180 185 … … 187 192 self.beta_w = beta 188 193 self.beta_w_dry = beta 194 self.quantities['stage'].beta = beta 195 189 196 self.beta_uh = beta 190 197 self.beta_uh_dry = beta 198 self.quantities['xmomentum'].beta = beta 199 191 200 self.beta_vh = beta 192 201 self.beta_vh_dry = beta 202 self.quantities['ymomentum'].beta = beta 203 193 204 self.beta_h = beta 194 205 … … 384 395 # Call correct module function 385 396 # (either from this module or C-extension) 386 distribute_to_vertices_and_edges(self) 397 if self.use_old_limiter: 398 distribute_to_vertices_and_edges(self) 399 else: 400 for name in self.conserved_quantities: 401 Q = self.quantities[name] 402 if self._order_ == 1: 403 Q.extrapolate_first_order() 404 elif self._order_ == 2: 405 Q.extrapolate_second_order_and_limit() 406 if name == 'stage': 407 Q.bound_vertices_below_by_quantity(self.quantities['elevation']) 408 else: 409 raise 'Unknown order' 410 387 411 388 412 … … 399 423 # self.check_integrity() 400 424 401 msg = 'Parameter beta_h must be in the interval [0, 1['402 assert 0 <= self.beta_h <= 1.0, msg403 msg = 'Parameter beta_w must be in the interval [0, 1['404 assert 0 <= self.beta_w <= 1.0, msg425 msg = 'Parameter beta_h must be in the interval [0, 2[' 426 assert 0 <= self.beta_h <= 2.0, msg 427 msg = 'Parameter beta_w must be in the interval [0, 2[' 428 assert 0 <= self.beta_w <= 2.0, msg 405 429 406 430 … … 737 761 """ 738 762 739 from anuga.config import optimised_gradient_limiter763 740 764 741 765 # Remove very thin layers of water … … 743 767 744 768 # Extrapolate all conserved quantities 745 if optimised_gradient_limiter:769 if domain.optimised_gradient_limiter: 746 770 # MH090605 if second order, 747 771 # perform the extrapolation and limiting on … … 764 788 Q.extrapolate_first_order() 765 789 elif domain._order_ == 2: 766 767 # Experiment768 #if name == 'stage':769 # #print name, 'second'770 # Q.extrapolate_second_order()771 # Q.limit()772 #else:773 # #print name, 'first'774 # Q.extrapolate_first_order()775 # #Q.extrapolate_second_order()776 # #Q.limit()777 778 790 Q.extrapolate_second_order() 779 791 Q.limit()
Note: See TracChangeset
for help on using the changeset viewer.