Ignore:
Timestamp:
Aug 30, 2010, 5:53:45 PM (14 years ago)
Author:
steve
Message:

Added new tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/anuga_core/source/anuga/structures/inlet.py

    r7978 r7980  
    99    """
    1010
    11     def __init__(self, domain, polygon):
     11    def __init__(self, domain, polygon, outward_culvert_vector=None):
    1212
    1313        self.domain = domain
    1414        self.domain_bounding_polygon = self.domain.get_boundary_polygon()
    1515        self.polygon = polygon
     16        self.outward_culvert_vector = outward_culvert_vector
    1617
    1718        # FIXME (SR) Using get_triangle_containing_point which needs to be sped up
     
    3536                assert is_inside_polygon(point, bounding_polygon), msg
    3637
    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)
    3840
    3941        if len(self.triangle_indices) == 0:
     
    4244            msg += 'specified region: %s' % region
    4345            raise Exception, msg
     46
     47
    4448
    4549
     
    6266
    6367
     68    def get_area(self):
     69
     70        return self.area
     71
     72   
    6473    def get_areas(self):
    6574       
     
    7483       
    7584    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
    7987       
    8088    def get_elevations(self):   
     
    8492    def get_average_elevation(self):
    8593       
    86         return num.sum(self.get_elevations())/self.triangle_indices.size
     94
     95        return num.sum(self.get_elevations()*self.get_areas())/self.area
    8796   
    8897   
     
    93102       
    94103    def get_average_xmom(self):
    95        
    96         return num.sum(self.get_xmoms())/self.triangle_indices.size
     104
     105        return num.sum(self.get_xmoms()*self.get_areas())/self.area
    97106       
    98107   
     
    104113    def get_average_ymom(self):
    105114       
    106         return num.sum(self.get_ymoms())/self.triangle_indices.size
    107  
     115        return num.sum(self.get_ymoms()*self.get_areas())/self.area
    108116   
    109117    def get_heights(self):
     
    115123       
    116124       return num.sum(self.get_heights()*self.get_areas())
    117    
    118    
     125 
     126
    119127    def get_average_height(self):
    120128   
     
    124132    def get_velocities(self):
    125133       
    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)
    129137           
    130138            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)
    131150           
    132151           
     
    135154            u, v = self.get_velocities()
    136155           
    137             average_u = num.sum(u)/self.triangle_indices.size
    138             average_v = num.sum(v)/self.triangle_indices.size
     156            average_u = num.sum(u*self.get_areas())/self.area
     157            average_v = num.sum(v*self.get_areas())/self.area
    139158           
    140159            return math.sqrt(average_u**2 + average_v**2)
Note: See TracChangeset for help on using the changeset viewer.