Changeset 7980 for trunk/anuga_core/source/anuga/structures/inlet.py
- Timestamp:
- Aug 30, 2010, 5:53:45 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/anuga_core/source/anuga/structures/inlet.py
r7978 r7980 9 9 """ 10 10 11 def __init__(self, domain, polygon ):11 def __init__(self, domain, polygon, outward_culvert_vector=None): 12 12 13 13 self.domain = domain 14 14 self.domain_bounding_polygon = self.domain.get_boundary_polygon() 15 15 self.polygon = polygon 16 self.outward_culvert_vector = outward_culvert_vector 16 17 17 18 # FIXME (SR) Using get_triangle_containing_point which needs to be sped up … … 35 36 assert is_inside_polygon(point, bounding_polygon), msg 36 37 37 self.triangle_indices = inside_polygon(domain_centroids, self.inlet_polygon) 38 39 self.triangle_indices = inside_polygon(domain_centroids, self.inlet_polygon, verbose=True) 38 40 39 41 if len(self.triangle_indices) == 0: … … 42 44 msg += 'specified region: %s' % region 43 45 raise Exception, msg 46 47 44 48 45 49 … … 62 66 63 67 68 def get_area(self): 69 70 return self.area 71 72 64 73 def get_areas(self): 65 74 … … 74 83 75 84 def get_average_stage(self): 76 77 return num.sum(self.get_stages())/self.triangle_indices.size 78 85 86 return num.sum(self.get_stages()*self.get_areas())/self.area 79 87 80 88 def get_elevations(self): … … 84 92 def get_average_elevation(self): 85 93 86 return num.sum(self.get_elevations())/self.triangle_indices.size 94 95 return num.sum(self.get_elevations()*self.get_areas())/self.area 87 96 88 97 … … 93 102 94 103 def get_average_xmom(self): 95 96 return num.sum(self.get_xmoms() )/self.triangle_indices.size104 105 return num.sum(self.get_xmoms()*self.get_areas())/self.area 97 106 98 107 … … 104 113 def get_average_ymom(self): 105 114 106 return num.sum(self.get_ymoms())/self.triangle_indices.size 107 115 return num.sum(self.get_ymoms()*self.get_areas())/self.area 108 116 109 117 def get_heights(self): … … 115 123 116 124 return num.sum(self.get_heights()*self.get_areas()) 117 118 125 126 119 127 def get_average_height(self): 120 128 … … 124 132 def get_velocities(self): 125 133 126 depths = self.get_stages() - self.get_elevations()127 u = self.get_xmoms()/( depths + velocity_protection/depths)128 v = self.get_ymoms()/( depths + velocity_protection/depths)134 heights = self.get_heights() 135 u = self.get_xmoms()/(heights + velocity_protection/heights) 136 v = self.get_ymoms()/(heights + velocity_protection/heights) 129 137 130 138 return u, v 139 140 141 def get_xvelocities(self): 142 143 heights = self.get_heights() 144 return self.get_xmoms()/(heights + velocity_protection/heights) 145 146 def get_yvelocities(self): 147 148 heights = self.get_heights() 149 return self.get_ymoms()/(heights + velocity_protection/heights) 131 150 132 151 … … 135 154 u, v = self.get_velocities() 136 155 137 average_u = num.sum(u )/self.triangle_indices.size138 average_v = num.sum(v )/self.triangle_indices.size156 average_u = num.sum(u*self.get_areas())/self.area 157 average_v = num.sum(v*self.get_areas())/self.area 139 158 140 159 return math.sqrt(average_u**2 + average_v**2)
Note: See TracChangeset
for help on using the changeset viewer.