Changeset 8475
- Timestamp:
- Jul 23, 2012, 11:47:26 AM (13 years ago)
- Location:
- trunk/anuga_core/source/anuga/operators
- Files:
-
- 1 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/anuga_core/source/anuga/operators/run_set_elevation.py
r8474 r8475 30 30 31 31 32 output_file = 'set_ stage'32 output_file = 'set_bed' 33 33 domain.set_name(output_file) 34 34 … … 58 58 # Setup Operators 59 59 #------------------------------------------------------------------------------ 60 from anuga.operators.set_ value_operators import Circular_set_stage_operator60 from anuga.operators.set_bed_operators import Circular_set_bed_operator 61 61 62 62 import math 63 63 64 stage1 = lambda t: h0 +20.0 * math.sin(t/3.0)65 cop1 = Circular_set_ stage_operator(domain, stage=stage1, center=(0.0, 0.0), radius=100.0 )64 bed1 = lambda t: 20.0 * math.sin(t/3.0) 65 cop1 = Circular_set_bed_operator(domain, bed=bed1, center=(0.0, 0.0), radius=100.0 ) 66 66 67 stage2 = lambda t: h0 + 30.0 * math.sin(t/6.0)68 cop2 = Circular_set_stage_operator(domain, stage=stage2, center=(2000.0, 1000.0), radius=100.0 )67 #stage2 = lambda t: h0 + 30.0 * math.sin(t/6.0) 68 #cop2 = Circular_set_stage_operator(domain, stage=stage2, center=(2000.0, 1000.0), radius=100.0 ) 69 69 70 70 #print cop1.statistics() … … 75 75 #------------------------------------------------------------------------------ 76 76 77 for t in domain.evolve(yieldstep = 1.0, finaltime = 120.0):77 for t in domain.evolve(yieldstep = 1.0, finaltime = 20.0): 78 78 #print domain.timestepping_statistics(track_speeds=True) 79 79 domain.print_timestepping_statistics() -
trunk/anuga_core/source/anuga/operators/run_set_stage.py
r8472 r8475 58 58 # Setup Operators 59 59 #------------------------------------------------------------------------------ 60 from anuga.operators.set_ value_operators import Circular_set_stage_operator60 from anuga.operators.set_stage_operators import Circular_set_stage_operator 61 61 62 62 import math … … 75 75 #------------------------------------------------------------------------------ 76 76 77 for t in domain.evolve(yieldstep = 1.0, finaltime = 120.0):77 for t in domain.evolve(yieldstep = 1.0, finaltime = 20.0): 78 78 #print domain.timestepping_statistics(track_speeds=True) 79 79 domain.print_timestepping_statistics() -
trunk/anuga_core/source/anuga/operators/set_elevation_operators.py
r8474 r8475 1 1 """ 2 Set bedoperators2 Set elevation operators 3 3 4 4 … … 23 23 24 24 25 class Set_ bed_operator(Operator):26 """ 27 Set the bed in a region (careful to maintain continuitiy of bed)25 class Set_elevation_operator(Operator): 26 """ 27 Set the elevation in a region (careful to maintain continuitiy of elevation) 28 28 29 29 indices: None == all triangles, Empty list [] no triangles … … 35 35 def __init__(self, 36 36 domain, 37 bed=None,37 elevation=None, 38 38 indices=None, 39 39 description = None, … … 48 48 # Local variables 49 49 #------------------------------------------ 50 self. bed = bed50 self.elevation = elevation 51 51 self.indices = indices 52 52 … … 64 64 return 65 65 66 bed = self.get_bed()66 elevation = self.get_elevation() 67 67 68 68 if self.verbose is True: 69 69 log.critical('Bed of %s at time = %.2f = %f' 70 % (self.quantity_name, domain.get_time(), bed))70 % (self.quantity_name, domain.get_time(), elevation)) 71 71 72 72 if self.indices is None: 73 self. bed_c[:] = bed73 self.elevation_c[:] = elevation 74 74 else: 75 self. bed_c[self.indices] = bed76 77 78 def get_ bed(self, t=None):79 """Get value of bedat time t.80 If t not specified, return bedat current domain time75 self.elevation_c[self.indices] = elevation 76 77 78 def get_elevation(self, t=None): 79 """Get value of elevation at time t. 80 If t not specified, return elevation at current domain time 81 81 """ 82 82 … … 84 84 t = self.domain.get_time() 85 85 86 if callable(self. bed):86 if callable(self.elevation): 87 87 try: 88 stage = self.bed(t)88 elevation = self.elevation(t) 89 89 except Modeltime_too_early, e: 90 90 raise Modeltime_too_early(e) … … 95 95 raise Modeltime_too_late(msg) 96 96 else: 97 bed = self.bed98 99 100 if bedis None:101 msg = ('Attribute bedmust be specified in '+self.__name__+97 elevation = self.elevation 98 99 100 if elevation is None: 101 msg = ('Attribute elevation must be specified in '+self.__name__+ 102 102 ' before attempting to call it') 103 103 raise Exception(msg) 104 104 105 return bed105 return elevation 106 106 107 107 … … 115 115 def statistics(self): 116 116 117 message = self.label + ': Set_ bed_operator'117 message = self.label + ': Set_elevation_operator' 118 118 message = message + ' on triangles '+ str(self.indices) 119 119 return message … … 122 122 def timestepping_statistics(self): 123 123 124 message = indent + self.label + ': Set_ bed = ' + str(self.get_bed())124 message = indent + self.label + ': Set_elevation = ' + str(self.get_elevation()) 125 125 message += ' at center '+str(self.center) 126 126 return message … … 132 132 # Specific Bed Operators for circular region. 133 133 #=============================================================================== 134 class Circular_set_ bed_operator(Set_bed_operator):135 """ 136 Set bedover a circular region134 class Circular_set_elevation_operator(Set_elevation_operator): 135 """ 136 Set elevation over a circular region 137 137 138 138 """ 139 139 140 140 def __init__(self, domain, 141 bed=0.0,141 elevation=0.0, 142 142 center=None, 143 143 radius=None, … … 180 180 181 181 182 Set_ bed_operator.__init__(self,182 Set_elevation_operator.__init__(self, 183 183 domain, 184 bed=bed,184 elevation=elevation, 185 185 indices=indices, 186 186 verbose=verbose) … … 193 193 # Specific Bed Operators for polygonal region. 194 194 #=============================================================================== 195 class Polygonal_set_ stage_operator(Set_stage_operator):195 class Polygonal_set_elevation_operator(Set_elevation_operator): 196 196 """ 197 197 Add water at certain rate (ms^{-1} = vol/Area/sec) over a … … 203 203 204 204 def __init__(self, domain, 205 bed=0.0,205 elevation=0.0, 206 206 polygon=None, 207 207 verbose=False): … … 220 220 221 221 222 Set_ bed_operator.__init__(self,222 Set_elevation_operator.__init__(self, 223 223 domain, 224 bed=bed,224 elevation=elevation, 225 225 indices=indices, 226 226 verbose=verbose)
Note: See TracChangeset
for help on using the changeset viewer.