Changeset 7765 for trunk/anuga_core/source/anuga/shallow_water/eqf_v2.py
- Timestamp:
- Jun 1, 2010, 2:24:36 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/anuga_core/source/anuga/shallow_water/eqf_v2.py
r7276 r7765 32 32 dip, x0=0.0, y0=0.0, slip=1.0, rake=90.,\ 33 33 domain=None, verbose=False): 34 """ return a function representing a tsunami event 35 """ 34 36 35 37 from math import sin, radians … … 112 114 """ 113 115 114 from math import sin, cos, radians , exp, cosh116 from math import sin, cos, radians 115 117 #from okada import okadatest 116 118 … … 154 156 155 157 for i in range(N-1): 156 self.SRECTF(alp, xr[i]*.001,yr[i]*.001,depth*.001,zero,length,\157 zero, width,sd,cd,disl1,disl2,disl3)158 self.SRECTF(alp, xr[i]*.001, yr[i]*.001, depth*.001, zero, length,\ 159 zero, width, sd, cd, disl1, disl2, disl3) 158 160 159 161 z2[i] = self.U3 … … 202 204 if J == 2: XI=X-AL2 203 205 JK=J+K 204 if JK <>3:206 if JK != 3: 205 207 SIGN= F1 206 208 else: … … 236 238 def SRECTG(self,ALP,XI,ET,Q,SD,CD,DISL1,DISL2,DISL3): 237 239 """ 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 240 C 241 C********************************************************************* 242 C***** ***** 243 C***** INDEFINITE INTEGRAL OF SURFACE DISPLACEMENT,STRAIN,TILT ***** 244 C***** DUE TO RECTANGULAR FAULT IN A HALF-SPACE ***** 245 C***** CODED BY Y.OKADA ... JAN 1985 ***** 246 C***** ***** 247 C********************************************************************* 248 C 249 C***** INPUT 250 C***** ALP : MEDIUM CONSTANT MYU/(LAMDA+MYU)=1./((VP/VS)**2-1) 251 C***** XI,ET,Q : FAULT COORDINATE 252 C***** SD,CD : SIN,COS OF DIP-ANGLE 253 C***** (CD=0.D0, SD=+/-1.D0 SHOULD BE GIVEN FOR VERTICAL FAULT) 254 C***** DISL1,DISL2,DISL3 : STRIKE-, DIP- AND TENSILE-DISLOCATION 255 C 256 C***** OUTPUT 257 C***** U1, U2, U3 : DISPLACEMENT ( UNIT= UNIT OF DISL ) 258 C***** U11,U12,U21,U22 : STRAIN ( UNIT= UNIT OF DISL / 259 C***** U31,U32 : TILT UNIT OF XI,ET,Q ) 260 C 259 261 """ 260 262 … … 278 280 RRD=F1/(R*RD) 279 281 280 if Q <>F0:282 if Q != F0: 281 283 TT = atan( radians( XI*ET/(Q*R) )) 282 284 else: 283 285 TT = F0 284 286 285 if RET <>F0:287 if RET != F0: 286 288 RE = F1/RET 287 289 DLE= log(RET) … … 317 319 A5=F0 318 320 else: 319 A5= ALP*F2/CD*atan( radians((ET*(X+Q*CD)+X*(R+X)*SD) / (XI*(R+X)*CD) )) 321 A5= ALP*F2/CD*atan( radians((ET*(X+Q*CD)+X*(R+X)*SD) / \ 322 (XI*(R+X)*CD) )) 320 323 A4= ALP/CD*( log(RD) - SD*DLE ) 321 324 A3= ALP*(Y/RD/CD - DLE) + TD*A4 … … 341 344 U32=F0 342 345 343 if DISL1 <>F0:346 if DISL1 != F0: 344 347 #C====================================== 345 348 #C===== STRIKE-SLIP CONTRIBUTION ===== … … 353 356 U12=U12+ UN*( XI2*XI*( D/(ET2+Q2)/R3 - AET*SD ) - B2*SD ) 354 357 U21=U21+ UN*( XI*Q/R3*CD + (XI*Q2*AET - B2)*SD ) 355 U22=U22+ UN*( Y *Q/R3*CD + (Q*SD*(Q2*AET-F2*RRE) -(XI2+ET2)/R3*CD - B4)*SD ) 358 U22=U22+ UN*( Y *Q/R3*CD + (Q*SD*(Q2*AET-F2*RRE) - \ 359 (XI2+ET2)/R3*CD - B4)*SD ) 356 360 U31=U31+ UN*(-XI*Q2*AET*CD + (XI*Q/R3 - C1)*SD ) 357 361 U32=U32+ UN*( D*Q/R3*CD + (XI2*Q*AET*CD - SD/R + Y*Q/R3 - C2)*SD ) 358 362 359 if DISL2 <>F0:363 if DISL2 != F0: 360 364 #C=================================== 361 365 #C===== DIP-SLIP CONTRIBUTION ===== … … 373 377 U32=U32+ UN*( Y*D*Q*AXI - (F2*D*RRX + XI*SD*RRE)*SD + C1*SDCD ) 374 378 375 if DISL3 <>F0:379 if DISL3 != F0: 376 380 #C======================================== 377 381 #C===== TENSILE-FAULT CONTRIBUTION ===== … … 385 389 U12=U12- UN*(-D*Q/R3 - XI2*Q*AET*SD + B1*SDSD ) 386 390 U21=U21- UN*( Q2*(CD/R3 + Q*AET*SD) + B1*SDSD ) 387 U22=U22- UN*((Y*CD-D*SD)*Q2*AXI - F2*Q*SD*CD*RRX - (XI*Q2*AET - B2)*SDSD ) 391 U22=U22- UN*((Y*CD-D*SD)*Q2*AXI - F2*Q*SD*CD*RRX - \ 392 (XI*Q2*AET - B2)*SDSD ) 388 393 U31=U31- UN*( Q2*(SD/R3 - Q*AET*CD) + C3*SDSD ) 389 U32=U32- UN*((Y*SD+D*CD)*Q2*AXI + XI*Q2*AET*SD*CD - (F2*Q*RRX - C1)*SDSD ) 394 U32=U32- UN*((Y*SD+D*CD)*Q2*AXI + XI*Q2*AET*SD*CD - \ 395 (F2*Q*RRX - C1)*SDSD ) 390 396 391 397 self.DU1 = U1 … … 488 494 #====================================== 489 495 490 if POT1 <>F0:496 if POT1 != F0: 491 497 UN=POT1/PI2 492 498 QRX=QR*X … … 507 513 #====================================== 508 514 509 if POT2 <>F0:515 if POT2 != F0: 510 516 UN=POT2/PI2 511 517 SDCD=SD*CD … … 526 532 #======================================== 527 533 528 if POT3 <>F0:534 if POT3 != F0: 529 535 UN=POT3/PI2 530 536 SDSD=SD*SD
Note: See TracChangeset
for help on using the changeset viewer.