Ignore:
Timestamp:
Oct 4, 2016, 4:13:00 PM (9 years ago)
Author:
steve
Message:

Commit svn after a lot of git updates

Location:
trunk/anuga_core/anuga/structures
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/anuga_core/anuga/structures/boyd_box_operator.py

    r9598 r9737  
    2626                 domain,
    2727                 losses,
    28                  width,
    29                  height=None,
     28                 width,                                   
     29                 height=None,                       
     30                 blockage=0.0,  # added by DPM 24/7/2016
    3031                 z1=0.0,
    31                  z2=0.0,
     32                 z2=0.0,                 
    3233                 end_points=None,
    3334                 exchange_lines=None,
     
    5455                                          width=width,
    5556                                          height=height,
    56                                           diameter=None,
     57                                          blockage=blockage,  # added by DPM 24/7/2016
     58                                          diameter=None,                                         
    5759                                          apron=apron,
    5860                                          manning=manning,
     
    8183        self.culvert_width = self.get_culvert_width()
    8284        self.culvert_height = self.get_culvert_height()
     85        self.culvert_blockage = self.get_culvert_blockage()#added DPM 24/7/2016
    8386
    8487        #FIXME SR: Why is this hard coded!
     
    193196                print 'width ',self.culvert_width
    194197                print 'depth ',self.culvert_height
     198                print 'culvert blockage ',self.culvert_blockage #added DPM 24/7/2016
    195199                print 'flow_width ',self.culvert_width
    196200                print 'length ' ,self.culvert_length
     
    207211                              boyd_box_function(width               =self.culvert_width,
    208212                                                depth               =self.culvert_height,
     213                                                blockage            =self.culvert_blockage,#added DPM 24/7/2016
    209214                                                flow_width          =self.culvert_width,
    210                                                 length              =self.culvert_length,
     215                                                length              =self.culvert_length,                                               
    211216                                                driving_energy      =self.driving_energy,
    212217                                                delta_total_energy  =self.delta_total_energy,
     
    234239
    235240        else:
    236              Q = barrel_velocity = outlet_culvert_depth = 0.0
    237              case = 'Inlet dry'
     241            Q = barrel_velocity = outlet_culvert_depth = 0.0
     242            case = 'Inlet dry'
    238243
    239244
     
    256261def boyd_box_function(width,
    257262                        depth,
     263                        blockage,  # added by DPM 24/7/2016
    258264                        flow_width,
    259                         length,
     265                        length,                        
    260266                        driving_energy,
    261267                        delta_total_energy,
     
    269275
    270276    local_debug = False
    271    
    272     Q_inlet_unsubmerged = 0.544*anuga.g**0.5*width*driving_energy**1.50 # Flow based on Inlet Ctrl Inlet Unsubmerged
    273     Q_inlet_submerged = 0.702*anuga.g**0.5*width*depth**0.89*driving_energy**0.61  # Flow based on Inlet Ctrl Inlet Submerged
     277           
     278    Q_inlet_unsubmerged = 0.544*anuga.g**0.5*(1-blockage)*width*driving_energy**1.50 # Flow based on Inlet Ctrl Inlet Unsubmerged
     279    Q_inlet_submerged = 0.702*anuga.g**0.5*(1-blockage)**2*width*depth**0.89*driving_energy**0.61  # Flow based on Inlet Ctrl Inlet Submerged
    274280
    275281    # FIXME(Ole): Are these functions really for inlet control?
    276282    if Q_inlet_unsubmerged < Q_inlet_submerged:
    277283        Q = Q_inlet_unsubmerged
    278         dcrit = (Q**2/anuga.g/width**2)**0.333333
     284        dcrit = (Q**2/anuga.g/((1-blockage)*width)**2)**0.333333
    279285        if dcrit > depth:
    280286            dcrit = depth
    281             flow_area = width*dcrit
    282             perimeter= 2.0*(width+dcrit)
     287            flow_area = (1-blockage)*width*dcrit
     288            perimeter= 2.0*(1-blockage)*(width+dcrit)
    283289        else: # dcrit < depth
    284             flow_area = width*dcrit
    285             perimeter= 2.0*dcrit+width
     290            flow_area = (1-blockage)*width*dcrit
     291            perimeter= 2.0*(1-blockage)*dcrit+(1-blockage)*width
    286292        outlet_culvert_depth = dcrit
    287293        case = 'Inlet unsubmerged Box Acts as Weir'
    288294    else: # Inlet Submerged but check internal culvert flow depth
    289295        Q = Q_inlet_submerged
    290         dcrit = (Q**2/anuga.g/width**2)**0.333333
     296        dcrit = (Q**2/anuga.g/((1-blockage)*width)**2)**0.333333
    291297        if dcrit > depth:
    292298            dcrit = depth
    293             flow_area = width*dcrit
    294             perimeter= 2.0*(width+dcrit)
     299            flow_area = (1-blockage)*width*dcrit
     300            perimeter= 2.0*(1-blockage)*(width+dcrit)
    295301        else: # dcrit < depth
    296             flow_area = width*dcrit
    297             perimeter= 2.0*dcrit+width
     302            flow_area = (1-blockage)*width*dcrit
     303            perimeter= 2.0*(1-blockage)*dcrit+(1-blockage)*width
    298304        outlet_culvert_depth = dcrit
    299305        case = 'Inlet submerged Box Acts as Orifice'
    300306
    301     dcrit = (Q**2/anuga.g/width**2)**0.333333
     307    dcrit = (Q**2/anuga.g/((1-blockage)*width)**2)**0.333333
     308   
    302309    # May not need this .... check if same is done above
    303310    outlet_culvert_depth = dcrit
     311   
    304312    if outlet_culvert_depth > depth:
    305313        outlet_culvert_depth = depth  # Once again the pipe is flowing full not partfull
    306         flow_area = width*depth  # Cross sectional area of flow in the culvert
    307         perimeter = 2*(width+depth)
     314        flow_area = (1-blockage)*width*depth  # Cross sectional area of flow in the culvert
     315        perimeter = 2*(1-blockage)*(width+depth)
    308316        case = 'Inlet CTRL Outlet unsubmerged PIPE PART FULL'
    309317    else:
    310         flow_area = width * outlet_culvert_depth
    311         perimeter = width+2*outlet_culvert_depth
     318        flow_area = (1-blockage)*width * outlet_culvert_depth
     319        perimeter = (1-blockage)*width+2*(1-blockage)*outlet_culvert_depth
    312320        case = 'INLET CTRL Culvert is open channel flow we will for now assume critical depth'
    313321    # Initial Estimate of Flow for Outlet Control using energy slope
    314322    #( may need to include Culvert Bed Slope Comparison)
     323   
    315324    hyd_rad = flow_area/perimeter
     325   
    316326    culvert_velocity = math.sqrt(delta_total_energy/((sum_loss/2/anuga.g) \
    317327                                                          +(manning**2*length)/hyd_rad**1.33333))
     
    325335        if outlet_enquiry_depth > depth:        # The Outlet is Submerged
    326336            outlet_culvert_depth=depth
    327             flow_area=width*depth       # Cross sectional area of flow in the culvert
    328             perimeter=2.0*(width+depth)
     337            flow_area=(1-blockage)*width*depth       # Cross sectional area of flow in the culvert
     338            perimeter=2.0*(1-blockage)*(width+depth)
    329339            case = 'Outlet submerged'
    330340        else:   # Here really should use the Culvert Slope to calculate Actual Culvert Depth & Velocity
    331             dcrit = (Q**2/anuga.g/width**2)**0.333333
     341            dcrit = (Q**2/anuga.g/((1-blockage)*width)**2)**0.333333
    332342            outlet_culvert_depth=dcrit   # For purpose of calculation assume the outlet depth = Critical Depth
    333343            if outlet_culvert_depth > depth:
    334344                outlet_culvert_depth=depth
    335                 flow_area=width*depth
    336                 perimeter=2.0*(width+depth)
     345                flow_area=(1-blockage)*width*depth
     346                perimeter=2.0*(1-blockage)*(width+depth)
    337347                case = 'Outlet is Flowing Full'
    338348            else:
    339                 flow_area=width*outlet_culvert_depth
    340                 perimeter=(width+2.0*outlet_culvert_depth)
     349                flow_area=(1-blockage)*width*outlet_culvert_depth
     350                perimeter=((1-blockage)*width+2.0*(1-blockage)*outlet_culvert_depth)
    341351                case = 'Outlet is open channel flow'
    342 
     352       
    343353        hyd_rad = flow_area/perimeter
    344354
     
    371381
    372382    return Q, barrel_velocity, outlet_culvert_depth, flow_area, case
    373 
    374 
    375 
    376 
    377 
    378 
    379 
    380 
  • trunk/anuga_core/anuga/structures/riverwall.py

    r9602 r9737  
    3333    # 1947),
    3434    #      Q1 = 2/3*headwater_head*sqrt(g*2/3*headwater_head)*Qfactor
    35     #      Q2 = 2/3*tailwater_head*sqrt(g*2/3*headwater_head)*Qfactor
    36     # ID = Q1*(1-Q2/Q1)**0.385
     35    #      Q2 = 2/3*tailwater_head*sqrt(g*2/3*tailwater_head)*Qfactor
     36    #      ID = Q1*(1-Q2/Q1)**0.385
    3737    #
    3838    # Denote SW as the 'shallow-water' weir flux, computed from the approximate
  • trunk/anuga_core/anuga/structures/structure_operator.py

    r9734 r9737  
    3333                 z1=None,#added by PM 4/10/2013
    3434                 z2=None,#added by PM 4/10/2013
     35                 blockage=None,#added by PM 24/7/2016 
    3536                 apron=None,
    3637                 manning=None,
     
    8586        self.diameter = diameter
    8687        self.z1 = z1 #added by PM 4/10/2013
    87         self.z2 = z2 #added by PM 4/10/2013
     88        self.z2 = z2 #added by PM 4/10/2013
     89        self.blockage = blockage #added by PM 24/7/2016 
    8890        self.apron  = apron
    8991        self.manning = manning
     
    367369
    368370        self.culvert_z2 = z2 #added by PM 4/10/2013
     371       
     372    def set_culvert_blockage(self, blockage): #added by PM 24/7/2016 
     373
     374        self.culvert_blockage = blockage  #added by PM 24/7/2016 
    369375
    370376    def __process_non_skew_culvert(self):
     
    642648        return self.z2 #added by PM 4/10/2013
    643649
     650    def get_culvert_blockage(self): #added by PM 24/7/2016
     651               
     652        return self.blockage #added by PM 24/7/2016
     653       
    644654    def get_culvert_apron(self):
    645655
  • trunk/anuga_core/anuga/structures/tests/test_boyd_box_operator.py

    r9440 r9737  
    352352        culvert_width=3.6
    353353        culvert_height=1.20
     354        culvert_blockage = 0.00
    354355       
    355356        culvert_type='box'
     
    371372            print 'width ',culvert_width
    372373            print 'depth ',culvert_height
     374            print 'blockage',culvert_blockage
    373375            print 'flow_width ',culvert_width
    374376            print 'length ' ,culvert_length
     
    378380            print 'sum_loss ',sum_loss
    379381            print 'manning ',manning
    380 
    381 
     382           
    382383        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    383                                                     culvert_height,
     384                                                    culvert_height,
     385                                                    culvert_blockage,
    384386                                                    culvert_width,
    385387                                                    culvert_length,
     
    528530        culvert_width=3.60
    529531        culvert_height=1.20
    530        
     532        culvert_blockage = 0.00
     533               
    531534        culvert_type='box'
    532535        manning=0.013
     
    548551            print 'width ',culvert_width
    549552            print 'depth ',culvert_height
     553            print 'blockage',culvert_blockage
    550554            print 'flow_width ',culvert_width
    551555            print 'length ' ,culvert_length
     
    555559            print 'sum_loss ',sum_loss
    556560            print 'manning ',manning
    557        
     561           
    558562        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    559                                                     culvert_height,
     563                                                    culvert_height,
     564                                                    culvert_blockage,
    560565                                                    culvert_width,
    561566                                                    culvert_length,
     
    702707        culvert_width=3.60
    703708        culvert_height=1.20
    704        
     709        culvert_blockage = 0.00
     710               
    705711        culvert_type='box'
    706712        manning=0.013
     
    723729            print 'width ',culvert_width
    724730            print 'depth ',culvert_height
     731            print 'blockage',culvert_blockage
    725732            print 'flow_width ',culvert_width
    726733            print 'length ' ,culvert_length
     
    730737            print 'sum_loss ',sum_loss
    731738            print 'manning ',manning
    732        
     739           
    733740        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    734                                                     culvert_height,
     741                                                    culvert_height,
     742                                                    culvert_blockage,
    735743                                                    culvert_width,
    736744                                                    culvert_length,
     
    881889        inlet_velocity=1.0
    882890        outlet_velocity=0.5
     891       
    883892        culvert_length=10.0
    884893        culvert_width=3.60
    885894        culvert_height=1.20
    886        
     895        culvert_blockage = 0.00
     896               
    887897        culvert_type='box'
    888898        manning=0.013
     
    907917            print 'width ',culvert_width
    908918            print 'depth ',culvert_height
     919            print 'blockage',culvert_blockage
    909920            print 'flow_width ',culvert_width
    910921            print 'length ' ,culvert_length
     
    914925            print 'sum_loss ',sum_loss
    915926            print 'manning ',manning
    916 
     927           
    917928        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    918                                                     culvert_height,
     929                                                    culvert_height,
     930                                                    culvert_blockage,
    919931                                                    culvert_width,
    920932                                                    culvert_length,
     
    10571069        outlet_depth=2.5
    10581070        outlet_velocity=0.5
     1071       
    10591072        culvert_length=10.0
    10601073        culvert_width=3.60
    10611074        culvert_height=1.20
    1062        
     1075        culvert_blockage = 0.00
     1076               
    10631077        culvert_type='box'
    10641078        manning=0.013
     
    10801094            print 'width ',culvert_width
    10811095            print 'depth ',culvert_height
     1096            print 'blockage',culvert_blockage
    10821097            print 'flow_width ',culvert_width
    10831098            print 'length ' ,culvert_length
     
    10871102            print 'sum_loss ',sum_loss
    10881103            print 'manning ',manning
    1089 
     1104           
    10901105        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    1091                                                     culvert_height,
     1106                                                    culvert_height,
     1107                                                    culvert_blockage,
    10921108                                                    culvert_width,
    10931109                                                    culvert_length,
     
    12341250        outlet_depth=0.80
    12351251        outlet_velocity=4.0
     1252       
    12361253        culvert_length=10.0
    12371254        culvert_width=3.60
    12381255        culvert_height=1.20
    1239        
     1256        culvert_blockage = 0.00
     1257               
    12401258        culvert_type='box'
    12411259        manning=0.013
     
    12571275            print 'width ',culvert_width
    12581276            print 'depth ',culvert_height
     1277            print 'blockage',culvert_blockage
    12591278            print 'flow_width ',culvert_width
    12601279            print 'length ' ,culvert_length
     
    12661285           
    12671286        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    1268                                                     culvert_height,
     1287                                                    culvert_height,
     1288                                                    culvert_blockage,
    12691289                                                    culvert_width,
    12701290                                                    culvert_length,
     
    14111431        culvert_width=3.6
    14121432        culvert_height=1.20
    1413        
     1433        culvert_blockage = 0.00
     1434               
    14141435        culvert_type='box'
    14151436        manning=0.013
     
    14341455            print 'width ',culvert_width
    14351456            print 'depth ',culvert_height
     1457            print 'blockage',culvert_blockage
    14361458            print 'flow_width ',culvert_width
    14371459            print 'length ' ,culvert_length
     
    14431465           
    14441466        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    1445                                                     culvert_height,
     1467                                                    culvert_height,
     1468                                                    culvert_blockage,
    14461469                                                    culvert_width,
    14471470                                                    culvert_length,
     
    16001623        culvert_width=3.60
    16011624        culvert_height=1.20
    1602        
     1625        culvert_blockage = 0.00
     1626               
    16031627        culvert_type='box'
    16041628        manning=0.013
     
    16211645            print 'width ',culvert_width
    16221646            print 'depth ',culvert_height
     1647            print 'blockage',culvert_blockage
    16231648            print 'flow_width ',culvert_width
    16241649            print 'length ' ,culvert_length
     
    16301655           
    16311656        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    1632                                                     culvert_height,
     1657                                                    culvert_height,
     1658                                                    culvert_blockage,
    16331659                                                    culvert_width,
    16341660                                                    culvert_length,
     
    17821808        culvert_width=3.60
    17831809        culvert_height=1.20
    1784        
     1810        culvert_blockage = 0.00
     1811               
    17851812        culvert_type='box'
    17861813        manning=0.013
     
    18031830            print 'width ',culvert_width
    18041831            print 'depth ',culvert_height
     1832            print 'blockage',culvert_blockage
    18051833            print 'flow_width ',culvert_width
    18061834            print 'length ' ,culvert_length
     
    18121840           
    18131841        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    1814                                                     culvert_height,
     1842                                                    culvert_height,
     1843                                                    culvert_blockage,
    18151844                                                    culvert_width,
    18161845                                                    culvert_length,
     
    19631992        outlet_depth=0.8
    19641993        inlet_velocity=1.0
    1965         outlet_velocity=0.5
     1994        outlet_velocity=0.5
     1995       
    19661996        culvert_length=10.0
    19671997        culvert_width=3.60
    19681998        culvert_height=1.20
     1999        culvert_blockage = 0.0
    19692000       
    19702001        culvert_type='box'
     
    19892020            print 'width ',culvert_width
    19902021            print 'depth ',culvert_height
     2022            print 'blockage',culvert_blockage
    19912023            print 'flow_width ',culvert_width
    19922024            print 'length ' ,culvert_length
     
    19982030           
    19992031        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    2000                                                     culvert_height,
     2032                                                    culvert_height,
     2033                                                    culvert_blockage,
    20012034                                                    culvert_width,
    20022035                                                    culvert_length,
     
    21502183        outlet_depth=1.3
    21512184        outlet_velocity=0.5
     2185       
    21522186        culvert_length=10.0
    21532187        culvert_width=3.60
    21542188        culvert_height=1.20
     2189        culvert_blockage = 0.00
    21552190       
    21562191        culvert_type='box'
     
    21742209            print 'width ',culvert_width
    21752210            print 'depth ',culvert_height
     2211            print 'blockage',culvert_blockage
    21762212            print 'flow_width ',culvert_width
    21772213            print 'length ' ,culvert_length
     
    21832219           
    21842220        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    2185                                                     culvert_height,
     2221                                                    culvert_height,
     2222                                                    culvert_blockage,
    21862223                                                    culvert_width,
    21872224                                                    culvert_length,
     
    23352372        outlet_depth=0.8
    23362373        outlet_velocity=4.0
     2374       
    23372375        culvert_length=10.0
    23382376        culvert_width=3.60
    23392377        culvert_height=1.20
     2378        culvert_blockage = 0.00
    23402379       
    23412380        culvert_type='box'
     
    23592398            print 'width ',culvert_width
    23602399            print 'depth ',culvert_height
     2400            print 'blockage',culvert_blockage
    23612401            print 'flow_width ',culvert_width
    23622402            print 'length ' ,culvert_length
     
    23682408           
    23692409        Q, v, d, flow_area, case= boyd_box_function(culvert_width,
    2370                                                     culvert_height,
     2410                                                    culvert_height,
     2411                                                    culvert_blockage,
    23712412                                                    culvert_width,
    23722413                                                    culvert_length,
  • trunk/anuga_core/anuga/structures/weir_orifice_trapezoid_operator.py

    r9598 r9737  
    5252                                          width=width,
    5353                                          height=height,
    54                                           culvert_slope=culvert_slope,
     54                                          #culvert_slope=culvert_slope,
    5555                                          z1=z1,
    5656                                          z2=z2,
Note: See TracChangeset for help on using the changeset viewer.