- Timestamp:
- Jan 30, 2013, 2:32:05 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/anuga_core/source/anuga/structures/structure_operator.py
r8219 r8680 37 37 logging, 38 38 verbose): 39 40 """ 41 exchange_lines define the input lines for each inlet. 42 43 If end_points = None, then the culvert_vector is calculated in the 44 directions from the centre of echange_line[0] to centre of exchange_line[1} 45 46 If end_points != None, then culvert_vector is unit vector in direction 47 end_point[1] - end_point[0] 48 """ 39 49 40 50 anuga.Operator.__init__(self,domain) … … 89 99 else: 90 100 raise Exception, 'Define either exchange_lines or end_points' 101 91 102 92 103 self.inlets = [] 93 104 line0 = self.exchange_lines[0] #self.inlet_lines[0] 94 105 enquiry_point0 = self.enquiry_points[0] 95 outward_vector0 =self.culvert_vector106 #outward_vector0 = - self.culvert_vector 96 107 self.inlets.append(inlet_enquiry.Inlet_enquiry(self.domain, line0, 97 enquiry_point0, outward_vector0, self.verbose))108 enquiry_point0, self.outward_vector_0, self.verbose)) 98 109 99 110 line1 = self.exchange_lines[1] 100 111 enquiry_point1 = self.enquiry_points[1] 101 outward_vector1 = - self.culvert_vector112 #outward_vector1 = - self.culvert_vector 102 113 self.inlets.append(inlet_enquiry.Inlet_enquiry(self.domain, line1, 103 enquiry_point1, outward_vector1, self.verbose))114 enquiry_point1, self.outward_vector_1, self.verbose)) 104 115 105 116 self.set_logging(logging) … … 200 211 201 212 self.culvert_vector /= self.culvert_length 213 self.outward_vector_0 = self.culvert_vector 214 self.outward_vector_1 = - self.culvert_vector 215 202 216 203 217 culvert_normal = num.array([-self.culvert_vector[1], self.culvert_vector[0]]) # Normal vector … … 235 249 centre_point0 = 0.5*(self.exchange_lines[0][0] + self.exchange_lines[0][1]) 236 250 centre_point1 = 0.5*(self.exchange_lines[1][0] + self.exchange_lines[1][1]) 237 238 if self.end_points is None: 251 252 n_exchange_0 = len(self.exchange_lines[0]) 253 n_exchange_1 = len(self.exchange_lines[1]) 254 255 assert n_exchange_0 == n_exchange_1, 'There shoiuld be the same number of points in both exchange_lines' 256 257 if n_exchange_0 == 2: 258 259 if self.end_points is None: 260 self.culvert_vector = centre_point1 - centre_point0 261 else: 262 self.culvert_vector = self.end_points[1] - self.end_points[0] 263 264 self.outward_vector_0 = self.culvert_vector 265 self.outward_vector_1 = - self.culvert_vector 266 267 268 elif n_exchange_0 == 4: 269 270 self.outward_vector_0 = self.exchange_lines[0][3] - self.exchange_lines[0][2] 271 self.outward_vector_1 = self.exchange_lines[1][3] - self.exchange_lines[1][2] 272 239 273 self.culvert_vector = centre_point1 - centre_point0 240 else: 241 self.culvert_vector = self.end_points[1] - self.end_points[0] 242 274 275 else: 276 raise Exception, 'n_exchange_0 != 2 or 4' 277 278 243 279 self.culvert_length = math.sqrt(num.sum(self.culvert_vector**2)) 244 280 assert self.culvert_length > 0.0, 'The length of culvert is less than 0' 245 281 self.culvert_vector /= self.culvert_length 282 283 outward_vector_0_length = math.sqrt(num.sum(self.outward_vector_0**2)) 284 assert outward_vector_0_length > 0.0, 'The length of outlet_vector_0 is less than 0' 285 self.outward_vector_0 /= outward_vector_0_length 286 287 outward_vector_1_length = math.sqrt(num.sum(self.outward_vector_1**2)) 288 assert outward_vector_1_length > 0.0, 'The length of outlet_vector_1 is less than 0' 289 self.outward_vector_1 /= outward_vector_1_length 290 291 246 292 if self.enquiry_points is None: 247 293 248 self.culvert_vector /= self.culvert_length249 294 gap = (self.apron + self.enquiry_gap)*self.culvert_vector 250 295
Note: See TracChangeset
for help on using the changeset viewer.