File Exchange

image thumbnail

OKUBO: Gravity change due to shear and tensile faults

version 1.1 (4.82 KB) by

Okubo's 1992 model for gravity change due to finite rectangular source in elastic half-space.



View License

The Okubo [1992] model calculates analytical solution for gravity changes due to shear and tensile faults in an elastic half-space (as Okada [1985] does for deformations). This model can be used to simulate gravity anomalies produced by local perturbation like tectonic faults (earthquakes) or volcanic dykes (magmatic intrusion). Given rectangular fault geometry (length, width, depth, strike, dip) and 3-component dislocation amplitude (rake, slip and open), it computes the total gravity change (potential, cavity filling and free-air) at the free-surface.

The proposed Matlab script is a literal transcription of the Okubo's equations, except for the fault geometry that it is transposed in a geographical referential (East, North, Up), where the fault is defined by a strike angle relative to the North, and dislocation parameters are given by: rake, slip and opening (instead of U1, U2, U3), following Aki & Richards [1980] definition. All coordinates and depth are relative to fault centroid.

The equations are also vectorized for (x,y) coordinates and all parameters except dip angle.

Type "doc okubo92" for help, syntax and example, and see script comments for details.

Comments and Ratings (4)

Taco Broerse

Dear François Beauducel,

I added code to allow for potential changes computations. I checked these against figures from the Okubo paper and agains FEM solutions.

If you are interested I can provide you with the code.

Dear Martin,
Thanks for your feedback. The modification you made makes the function compatible with older version of Matlab (before 2009b, probably yours ?), but it adds warnings of the code analyser message indicator for any newer versions...
Anyway, I prefer to extend the backward compatibility so I will include your update.
Thanks again.

Martin Fuchs

I modified the scrip, now it works also for mee:
remove all ~ add dummy parameter:

function u=Sg(xi,eta,q,dip,nu) % dip,~)
function u=Dg(xi,eta,q,dip,nu) % dip,~)
function u=Tg(xi,eta,q,dip,nu) % dip,~)
function u=Cg(xi,eta,q,dip,nu) % dip,~)
function I=I2(xi,eta,q,R,nu) % dip,~)

regards Martin


Martin Fuchs

I have problems using the code it says:

?? Error: File: okubo92.m Line: 249 Column: 28
Unexpected MATLAB operator.

When I look at this line I see:
function u=Tg(xi,eta,q,dip,~)

maybe the ~ is problematical



- correction of a sign error on filling cavity effect
- BETA input parameter now usable...

MATLAB Release
MATLAB 7.14 (R2012a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video