Learn R Programming

geophys (version 1.3-8)

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, 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 = 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