Learn R Programming

geophys (version 1.2-1)

okada85: Okada Fault Deformation Model

Description

Calculate the deformation due to a fault based on Okada 1985 code.

Usage

okada85(e = 0, n = 0, depth = 0, strike = 20, dip = 20, L = 5, W = 3, rake = 20, slip = 1, U3 = 1, nu = 0.25)

Arguments

e
vector or matrix, Easting Observation, km
n
vector or matrix, Northing Observation, km
depth
depth of fault
strike
degrees, strike of fault, measured from north
dip
degrees, strike of fault, measured from horizontal
L
Length, km
W
Width, km
rake
rake (degrees)
slip
slip
U3
dilitation (m)
nu
Poisson's ration, default=0.25

Value

  • list:
  • uEEast deformation
  • uNNorth deformation
  • uZVertical deformation
  • uZEtilt vertical east
  • uZNtilt vertical north
  • uNNhorizontal strains North-North
  • uNEhorizontal strains North-East
  • uENhorizontal strains East-North
  • uEEhorizontal strains East-East

Details

Computes displacements, tilts and strains at the surface of an elastic half-space, due to a dislocation defined by RAKE, SLIP, and OPEN on a rectangular fault defined by orientation STRIKE and DIP, and size LENGTH and WIDTH. The fault centroid is located (0,0,-DEPTH).

R-Code is a translation of original Matlab code by Francois Beauducel. UNC student Lan Ngo worked on the first version and J. M. Lees tested, verified and finalized the package.

References

Aki K., and P. G. Richards, Quantitative seismology, Freemann & Co, New York, 1980. Okada Y., Surface deformation due to shear and tensile faults in a half-space, Bull. Seismol. Soc. Am., 75:4, 1135-1154, 1985.

Acknowledgments: Francois Beauducel, Dmitry Nicolsky, University of Alaska

See Also

mogi1, mogiM

Examples

Run this code
library(RPMG)

EX = seq(from=-10, to=10, length=50)
WHY = seq(from=-10, to=10, length=50)
M = meshgrid(EX, WHY )

OKout  = okada85(M$x, M$y,2,30,70,5,3,-45,1,1) 
old.par <- par(no.readonly = TRUE) 

par(mfrow=c(2, 2))

image(EX, WHY, OKout$uN, col=terrain.colors(100) , asp=1, main="uN" );contour(EX, WHY, OKout$uN, add=TRUE)

image(EX, WHY, OKout$uE, col=terrain.colors(100) , asp=1 , main="uE" );contour(EX, WHY, OKout$uE, add=TRUE)

image(EX, WHY, OKout$uZ, col=terrain.colors(100) , asp=1, main="uZ" );contour(EX, WHY, OKout$uZ,  add=TRUE)

plot(EX, OKout$uZ[, 25 ])


par(old.par)

Run the code above in your browser using DataLab