Changeset 5244


Ignore:
Timestamp:
Apr 27, 2008, 2:30:49 PM (15 years ago)
Author:
herve
Message:
 
Location:
anuga_core/source/anuga/shallow_water
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/source/anuga/shallow_water/test_tsunami_okada.py

    r5239 r5244  
    11import unittest
    22from Numeric import allclose
    3 from tsunami_okada_V2 import earthquake_tsunami,Okada_func
     3from tsunami_okada import earthquake_tsunami,Okada_func
    44
    55class Test_eq(unittest.TestCase):
     
    4141            width =0
    4242            strike = 0.0
    43             depth = 15000.0
     43            depth = 15.0
    4444            slip = 10.0
    4545            dip =15.0
     
    5656            width =6.0
    5757            strike = 0.0
    58             depth = 15000.0
     58            depth = 15.0
    5959            slip = 10.0
    6060            dip =15.0
     
    7373            width =[6.0,6.0]
    7474            strike = [0.0,0.0]
    75             depth = [15000.0,15000.0]
     75            depth = [15.0,15.0]
    7676            slip = [10.0,10.0]
    7777            dip = [15.0,15.0]
     
    116116        zrec0.set_values(topography)
    117117        zrec=zrec0.get_vertex_values(xy=True)
    118         print zrec
    119118        # call okada
    120119        Ts= Okada_func(ns=ns, NSMAX=NSMAX,length=length, width=width, dip=dip, \
     
    138137                stage.append(Z[0])
    139138            k=k+4000
    140 
    141            
     139       
    142140        assert allclose(stage,tmp,atol=1.e-8)
    143 
    144 
     141        print stage
     142        print 'c est fini'
    145143
    146144    def test_earthquake_tsunami(self):
     
    153151        from anuga.utilities.system_tools import get_pathname_from_package
    154152        """
    155         Pick the test you want to dop; T= 0 test a point source,
     153        Pick the test you want to do; T= 0 test a point source,
    156154        T= 1  test single rectangular source, T= 2 test multiple
    157155        rectangular sources
    158156        """
    159        
     157        print 'ca commence'
    160158        #get path where this test is run
    161159        path= get_pathname_from_package('anuga.shallow_water')
     
    174172            width =0
    175173            strike = 0.0
    176             depth = 15000.0
     174            depth = 15.0
    177175            slip = 10.0
    178176            dip =15.0
     
    189187            width =6.0
    190188            strike = 0.0
    191             depth = 15000.0
     189            depth = 15.0
    192190            slip = 10.0
    193191            dip =15.0
     
    206204            width =[6.0,6.0]
    207205            strike = [0.0,0.0]
    208             depth = [15000.0,15000.0]
     206            depth = [15.0,15.0]
    209207            slip = [10.0,10.0]
    210208            dip = [15.0,15.0]
     
    242240        domain.set_name('test')
    243241        domain.set_quantity('elevation',topography)
    244         zrec0 = Quantity(domain)
    245         zrec0.set_values(topography)
    246         zrec=zrec0.get_vertex_values(xy=True)
    247242        Ts = earthquake_tsunami(ns=ns,NSMAX=NSMAX,length=length, width=width, strike=strike,\
    248243                                depth=depth,dip=dip, xi=x0, yi=y0, slip=slip, rake=rake,\
    249                                 zrec=zrec,domain=domain, verbose=False)
     244                                domain=domain, verbose=True)
    250245       
    251246        #create a variable to store vertical displacement throughout the domain
     
    263258            k=k+4000
    264259
    265            
    266         assert allclose(stage,tmp,atol=1.e-8)
     260        print tmp
     261        print 'hello'
     262        print stage   
     263        assert allclose(stage,tmp,atol=1.e-3)
    267264
    268265       
    269266#-------------------------------------------------------------
    270267if __name__ == "__main__":
    271     suite = unittest.makeSuite(Test_eq,'test_Okada_func')
    272     #suite = unittest.makeSuite(Test_eq,'test_earthquake_tsunami')
     268    #suite = unittest.makeSuite(Test_eq,'test_Okada_func')
     269    suite = unittest.makeSuite(Test_eq,'test_earthquake_tsunami')
    273270    runner = unittest.TextTestRunner()
    274271    runner.run(suite)
  • anuga_core/source/anuga/shallow_water/tsunami_okada.py

    r5240 r5244  
    2121 slip    metres of fault slip (1)
    2222 rake    angle of slip (w.r.t. horizontal) in fault plane (90 degrees)
    23  zrec    elevation(km)
     23 zrec    elevation(m)
    2424         obtained as followed:
    2525         zrec0 = Quantity(domain)
     
    3535def earthquake_tsunami(ns,NSMAX,length, width, strike, depth,\
    3636                       dip, xi, yi, slip, rake,\
    37                        zrec,domain=None, verbose=False):
    38 
     37                       domain=None, verbose=False):
     38
     39   
    3940    from math import sin, radians
    4041    from Numeric import zeros, Float
     42
     43    #zrec0 = Quantity(domain)
     44    zrec0=domain.get_quantity('elevation')
     45    zrec=zrec0.get_vertex_values(xy=True)
     46
     47   
    4148    x0= zeros(ns,Float)
    4249    y0= zeros(ns,Float)
     
    213220                if zrec[0][i]==yrec and zrec[1][i]==xrec:
    214221                    Z=zrec[2][i]
     222                    Z=0.001*Z
    215223                    break
    216224                else: continue
     
    242250                X=0.001*((xrec[irec]-xs[ist])*csst+(yrec[irec]-ys[ist])*ssst)
    243251                Y=0.001*((xrec[irec]-xs[ist])*ssst-(yrec[irec]-ys[ist])*csst)
    244                 DEPTH=depths[ist]*0.001
     252                DEPTH=depths[ist]
    245253                DIP=dips[ist]
    246254                if lengths[ist]==0 and widths[ist]== 0 :                 
Note: See TracChangeset for help on using the changeset viewer.