Changeset 6948


Ignore:
Timestamp:
May 5, 2009, 9:24:16 AM (11 years ago)
Author:
ole
Message:

Added velocity to culvert inputs

Location:
anuga_core/source/anuga/culvert_flows
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/source/anuga/culvert_flows/culvert_class.py

    r6299 r6948  
    1515
    1616import Numeric as num
    17 
     17from math import sqrt
    1818
    1919class Below_interval(Exception): pass
     
    137137                 manning=None,          # Mannings Roughness for Culvert
    138138                 sum_loss=None,
    139                  use_velocity_head=False,
     139                 use_velocity_head=False, # FIXME(Ole): Get rid of - always True
    140140                 use_momentum_jet=False, # FIXME(Ole): Not yet implemented
    141141                 label=None,
     
    464464            log_filename = self.log_filename
    465465           
    466         # Compute stage and energy at the
     466        # Compute stage, energy and velocity at the
    467467        # enquiry points at each end of the culvert
    468468        openings = self.openings
     
    474474            depth = h = stage-opening.elevation
    475475                                                           
    476                                                
     476           
     477            # Get velocity                                 
     478            xmomentum = dq['xmomentum'].get_values(location='centroids',
     479                                                   indices=[idx])[0]
     480            ymomentum = dq['xmomentum'].get_values(location='centroids',
     481                                                   indices=[idx])[0]
     482           
     483            if h > minimum_allowed_height:
     484                u = xmomentum/(h + velocity_protection/h)
     485                v = ymomentum/(h + velocity_protection/h)
     486            else:
     487                u = v = 0.0
     488               
     489            v_squared = u*u + v*v
     490           
    477491            if self.use_velocity_head is True:
    478                 xmomentum = dq['xmomentum'].get_values(location='centroids',
    479                                                        indices=[idx])[0]
    480                 ymomentum = dq['xmomentum'].get_values(location='centroids',
    481                                                        indices=[idx])[0]
    482            
    483                 if h > minimum_allowed_height:
    484                     u = xmomentum/(h + velocity_protection/h)
    485                     v = ymomentum/(h + velocity_protection/h)
    486                 else:
    487                     u = v = 0.0
    488                
    489                 velocity_head = 0.5*(u*u + v*v)/g   
     492                velocity_head = 0.5*v_squared/g   
    490493            else:
    491494                velocity_head = 0.0
     
    495498            opening.stage = stage
    496499            opening.depth = depth
     500            opening.velocity = sqrt(v_squared)
    497501           
    498502
     
    583587                    self.culvert_routine(inlet.depth,
    584588                                         outlet.depth,
     589                                         inlet.velocity,
     590                                         outlet.velocity,
    585591                                         inlet.specific_energy,
    586592                                         delta_total_energy,
  • anuga_core/source/anuga/culvert_flows/culvert_routines.py

    r6623 r6948  
    1919def boyd_generalised_culvert_model(inlet_depth,
    2020                                   outlet_depth,
     21                                   inlet_velocity,
     22                                   outlet_velocity,
    2123                                   inlet_specific_energy,
    2224                                   delta_total_energy,
  • anuga_core/source/anuga/culvert_flows/test_culvert_routines.py

    r6676 r6948  
    3131        inlet_depth=2.0
    3232        outlet_depth=0.0
     33       
     34        inlet_velocity=0.0,
     35        outlet_velocity=0.0,       
    3336
    3437        culvert_length=4.0
     
    4952        Q, v, d = boyd_generalised_culvert_model(inlet_depth,
    5053                                                 outlet_depth,
     54                                                 inlet_velocity,
     55                                                 outlet_velocity,
    5156                                                 inlet_specific_energy,
    5257                                                 delta_total_energy,
     
    8085        outlet_depth=0.0
    8186
     87        inlet_velocity=0.0,
     88        outlet_velocity=0.0,               
     89       
    8290        culvert_length=4.0
    8391        culvert_width=1.2
     
    97105        Q, v, d = boyd_generalised_culvert_model(inlet_depth,
    98106                                                 outlet_depth,
     107                                                 inlet_velocity,
     108                                                 outlet_velocity,
    99109                                                 inlet_specific_energy,
    100110                                                 delta_total_energy,
     
    189199        Q, v, d = boyd_generalised_culvert_model(inlet_depth,
    190200                                                 outlet_depth,
     201                                                 inlet_velocity,
     202                                                 outlet_velocity,
    191203                                                 inlet_specific_energy,
    192204                                                 delta_total_energy,
Note: See TracChangeset for help on using the changeset viewer.