Menu Close


The developed routine calculates P-wave, S-wave, SH-wave and SV-wave radiation pattern using shear-tensile source model. Original, it is a part of my paper “Assessment of P and S wave energy radiated from very small shear-tensile seismic events in a deep South African mine” published in Journal of Geophysical Research [Kwiatek and Ben-Zion, 2013].  Therefore, if you use the script below and find it useful, please provide an appropriate reference.

All input angles (strike, dip, rake of the fault, tensile angle gamma, takeoff angle TKO and azimuth from the source to the observation point AZM) should be provided in degrees. The takeoff angle is measure from bottom. The azimuth to the observation point is measured from north to east. The function returns matrices of the same size as input TKO and AZM matrices which should be of the same size and denote a set of observation points specified by takeoff angles and azimuth.

The function is available at MATLAB file exchange:


Below is the simple script that creates a double-couple radiation pattern “flower” using the rpgen.m routine.

AZIMUTH = (0:4:360)*pi/180; 
TAKEOFF = (0:2:180)*pi/180; 

strike = 50; 
dip = 60; 
rake = -90; 
sigma = 0.25; 
gamma = 0; 

[GP, GS, GSH, GSV] = rpgen(strike,dip,rake,gamma,sigma, TAKEOFF*180/pi, AZIMUTH*180/pi);
scale = abs(GP); 
YP = scale.*cos(AZIMUTH) .* sin(TAKEOFF); 
XP = scale.*sin(AZIMUTH) .* sin(TAKEOFF); 
ZP = scale.*-cos(TAKEOFF);

axis equal; box on;

After execution, the following figure should appear:

Example of script that is using the rpgen.m routine.
Example of script that is using the rpgen.m routine.



Bonus example :-)

I created two boot animations for Nexus 4 phones using the RPGEN routine. Although I had Nexus 4 in mind, the boot animations should work on most rooted android phones. Here is a nice tutorial I used to create the boot animation.


Disclaimer: I take no responsibility for damaging your phone!

The created animations are zipped and you must simply put them manually into an appropriate folder (i.e. you must NOT use rom manager/recovery manager such as TWRP or ClockWorkMod Recovery). Just download the ZIP file to your phone and put it in appropriate folder. In case of Nexus 4, the appropriate folder is /system/media. Keep in mind your phone must be rooted and /system partition must be writable. I normally use root browser app to do this task. The existing can be overwritten (make a backup first!).

First boot animation:

Boot animation #1
Boot animation #1

Second boot animation:

Boot animation #2
Boot animation #2

Download links (after downloading, please change the ZIP name to

File size: 7.4 MB | File version: 1.0 | Downloaded: 63
File size: 7.8 MB | File version: 1.0 | Downloaded: 81


Kwiatek, G. and Y. Ben-Zion (2013). Assessment of P and S wave energy radiated from very small shear-tensile seismic events in a deep South African mine. J. Geophys. Res. 118, 3630-3641, doi: 10.1002/jgrb.50274


  1. Reza


    I think that in above code maybe exist an error.
    It is my pleasure that if you guide me about that.

    The radiation pattern of P-wave has been made in above code. I think that the line

    ZP = scale.*-cos(TAKEOFF);

    may be changed to ZP = scale.*cos(TAKEOFF). I think that the sign minus must be removed.
    Is it right?


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.