Learn R Programming

geophys (version 1.4-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:

uE

East deformation

uN

North deformation

uZ

Vertical deformation

uZE

tilt vertical east

uZN

tilt vertical north

uNN

horizontal strains North-North

uNE

horizontal strains North-East

uEN

horizontal strains East-North

uEE

horizontal 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 (1980) (ISBN-13: 978-1891389634) Quantitative seismology, Freemann & Co, New York.

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
# NOT RUN {
library(RPMG)

EX = seq(from=-10, to=10, length=50)
WHY = seq(from=-10, to=10, length=50)
M = RPMG::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