Okada: Surface deformation due to a finite rectangular source
Updated 28 May 2014
The Okada  model calculates analytical solution for surface deformation due to shear and tensile faults in an elastic half-space. This model is widely used to simulate ground deformation 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 displacements, tilts and strains at the free-surface.
The proposed Matlab script is a literal transcription of the Okada's equations, except 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  definition. All coordinates and depth are relative to fault centroid. Lamé's constants λ and μ are replaced by Poisson's ratio ν (with a default value of 0.25 for isotropic medium), since the equations are independent of other elastic parameters. The equations are also vectorized for (x,y) coordinates and all input parameters except dip angle.
To check the consistency of numerical calculations, run the script okada85_checklist.m, a transcription of table 2 cases 2, 3, and 4 checklist from [Okada, 1985] paper (needs also the roundsd.m function).
See help for further details, syntax, example, and script comments for technical details.
François Beauducel (2023). Okada: Surface deformation due to a finite rectangular source (https://www.mathworks.com/matlabcentral/fileexchange/25982-okada-surface-deformation-due-to-a-finite-rectangular-source), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
fixes a problem with K1 function (tilt) when DIP=90. Thanks to Halldor Geirsson.
- allows vectorization of RAKE, SLIP and OPEN
Corrects another bug in the plot figure.
Bug correction on fault centroid exact position. Add optional plot and example.
Coordinates are now relative to fault centroid (instead of middle top edge). This is more convenient for earthquake hypocenter use.
ATTENTION: correction of 3 errors in some equations (functions I1, K2 and uyy_tf) affecting some component values. Now the function fits all the numerical values of Okada's checklist cases 2, 3 and 4. Thanks to Dmitry Nikolski for his contribution.
Corrects some output arguments description in the help (inversion of uN and uE), and better explanation of input arguments.