The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Type: Package
Title: Seismic Reflection and Scattering Coefficients
Version: 1.0-9
Date: 2023-08-19
Author: Jonathan M. Lees [aut, cre]
Maintainer: Jonathan M. Lees <jonathan.lees@unc.edu>
Description: Calculate and plot scattering matrix coefficients for plane waves at interface.
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
NeedsCompilation: no
Packaged: 2023-08-19 10:48:49 UTC; lees
Repository: CRAN
Date/Publication: 2023-08-19 16:10:02 UTC

Zoeppritz Equations

Description

Calculate and plot scattering matrix coefficients for plane waves at interface.

Author(s)

Jonathan M. Lees<jonathan.lees@unc.edu> Maintainer: Jonathan M. Lees<jonathan.lees@unc.edu>

References

Young,~G.B., Braile, L. W. 1976. A computer program for the application of Zoeppritz's amplitude equations and Knott's energy equations, Bulletin of the Seismological Society of America, vol.66, no.6,1881-1885.

K. Aki and P.G. Richards.Quantitative seismology. University Science Books, Sausalito, Calif., 2nd edition, 2002.

Examples



##### demo(ZOEP) 

#############  Incident wave in Low velocity layer
alpha1 = 4.98
  beta1 =  2.9
   rho1 = 2.667

  alpha2 = 8.0
   beta2 = 4.6
   rho2 = 3.38

  App =  pzoeppritz( "Amplitude" , alpha1, alpha2, beta1, beta2, rho1 ,rho2, "P", "ALL");

App =  pzoeppritz( "Amplitude" , alpha1, alpha2, beta1, beta2, rho1 ,rho2, "S", "ALL");

App =  pzoeppritz( "Energy" , alpha1, alpha2, beta1, beta2, rho1 ,rho2, "P", "ALL");

App =  pzoeppritz( "Potential" , alpha1, alpha2, beta1, beta2, rho1 ,rho2, "P", "ALL");



#############  Incident wave in high velocity layer
  alpha1 = 8.0
  beta1 =  4.6
   rho1 = 3.38

  alpha2 = 4.98
   beta2 = 2.9
   rho2 = 2.667

 App =  pzoeppritz( "Amplitude" , alpha1, alpha2, beta1, beta2, rho1 ,rho2, "P", "ALL");

App =  pzoeppritz( "Amplitude" , alpha1, alpha2, beta1, beta2, rho1 ,rho2, "S", "ALL");



Show Scattering Diagram Cartoon

Description

Adds a small diagram showing two layers and labeled scattered ray paths.

Usage

piczoeppritz(LL = list(x = c(0, 1), y = c(0, 1)), chincw = "P")

Arguments

LL

Bounds of Box for plotting

chincw

character for incident wave

Details

This code simply adds a small cartoon showing incoming and outgoing waves in scattering matrix.

Value

Graphical side effect.

Author(s)

Jonathan M. Lees<jonathan.lees@unc.edu>

See Also

pzoeppritz

Examples

plot(c(0,1), c(0,1), type='n')
piczoeppritz(LL = list(x = c(0.5, 0.75), y = c(0.5, 0.75)), chincw = "P")


Plot Scattering (Zoeppritz) Coefficients

Description

Plot Scattering (Zoeppritz) Coefficients

Usage

plotzoeppritz(A, zoepcols = c("red", "green", "blue", "purple"), zoeplty = c(1, 1, 1, 1))

Arguments

A

list output of pzoeppritz or zoeppritz

zoepcols

vector of 4 colors

zoeplty

vector of 4 line types

Details

Used to plot the matrix of scattering coefficients with different colros and/or line types.

Value

Graphical side effects.

Author(s)

Jonathan M. Lees<jonathan.lees@unc.edu>

See Also

zoeppritz, pzoeppritz, piczoeppritz

Examples



alpha1 = 4.98
  beta1 =  2.9
   rho1 = 2.667

  alpha2 = 8.0
   beta2 = 4.6
   rho2 = 3.38
###############   create the scattering matrix:
 App =  pzoeppritz( "Amplitude" , alpha1, alpha2, beta1, beta2, rho1 ,rho2, "P", "NONE");

#########  plot
plotzoeppritz(App)


Plot Scattering (Zoeppritz) Coefficients

Description

Calculate and plot the P and S-wave scattering amplitudes for a plane wave at an interface.

Usage

pzoeppritz(chtype = "Amplitude", alpha1, alpha2,
 beta1, beta2, rho1, rho2, chincw = "P",
choutkind = "ALL")

Arguments

chtype

character, type of output, one of: Amplitude, Potential, Energy

alpha1

P-wave Velocity of Upper Layer, km/s

alpha2

P-wave Velocity of Lower Layer, km/s

beta1

S-wave Velocity of Upper Layer, km/s

beta2

S-wave Velocity of Lower Layer, km/s

rho1

Density of Upper Layer, kg/m3

rho2

Density of Lower Layer, kg/m3

chincw

Incident Wave: P, S

choutkind

character, type of out put one of: P, S, ALL, NONE

Details

Front end for zoeppritz program.

Value

List output of zoeppritz call:

angle

Incident angles, degrees

rmat

Matrix of 4 by n reflection coefficients for each angle

rra

Matrix of 4 by n real part of scattering matrix

rra

Matrix of 4 by n imaginary part of scattering matrix

ang

Matrix of 4 by n phase angle

incw

integer, from input parameter

icoef

integer, from input parameter

alphacrit

critical angle

Note

This front end is easier to call because it is more verbose. Creates a plot of the coefficients versus incident angle. If coefficients are complex, they are replaced with NA and they are thus not plotted.

Author(s)

Jonathan M. Lees<jonathan.lees@unc.edu>

References

Young,~G.B., Braile, L. W. 1976. A computer program for the application of Zoeppritz's amplitude equations and Knott's energy equations, Bulletin of the Seismological Society of America, vol.66, no.6,1881-1885.

K. Aki and P. G. Richards. Quantitative seismology. University Science Books, Sausalito, Calif., 2nd edition, 2002.

See Also

zoeppritz, pzoeppritz, piczoeppritz

Examples


#############  Incident wave in Low velocity layer

alpha1 = 4.98
  beta1 =  2.9
   rho1 = 2.667

  alpha2 = 8.0
   beta2 = 4.6
   rho2 = 3.38

  App =  pzoeppritz( "Amplitude" , alpha1, alpha2,
beta1, beta2, rho1 ,rho2, "P", "ALL");

App =  pzoeppritz( "Amplitude" , alpha1, alpha2,
beta1, beta2, rho1 ,rho2, "S", "ALL");

#############  Incident wave in high velocity layer
  alpha1 = 8.0
  beta1 =  4.6
   rho1 = 3.38

  alpha2 = 4.98
   beta2 = 2.9
   rho2 = 2.667

 App =  pzoeppritz( "Amplitude" , alpha1, alpha2,
beta1, beta2, rho1 ,rho2, "P", "ALL");

App =  pzoeppritz( "Amplitude" , alpha1, alpha2,
beta1, beta2, rho1 ,rho2, "S", "ALL");



Zoeppritz Equations

Description

Calculate the P and S-wave scattering amplitudes for a plane wave at an interface.

Usage

zoeppritz(icoef, vp1, vp2, vs1, vs2, rho1, rho2, incw)

Arguments

icoef

type of out put Amplitude=1, Potential=2, Energy=3

vp1

P-wave Velocity of Upper Layer, km/s

vp2

P-wave Velocity of Lower Layer, km/s

vs1

S-wave Velocity of Upper Layer, km/s

vs2

S-wave Velocity of Lower Layer, km/s

rho1

Density of Upper Layer, kg/m3

rho2

Density of Lower Layer, kg/m3

incw

integer,Incident Wave: P=1, S=2

Details

Coeficiants are calculated at angles from 0-90 degrees. Zero is returned where coefficients are imaginary.

Value

List:

angle

Incident angles (degrees)

rmat

Matrix of 4 by n reflection coefficients for each angle

rra

Matrix of 4 by n real part of scattering matrix

rra

Matrix of 4 by n imaginary part of scattering matrix

ang

Matrix of 4 by n phase angle

incw

integer, from input parameter

icoef

integer, from input parameter

Note

Based on the fortran algorithm in Young and Braile. Uses a linear approximation by Aki and Richards.

Author(s)

Jonathan M. Lees<jonathan.lees@unc.edu>

References

Young, G.B., Braile, L. W. 1976. A computer program for the application of Zoeppritz's amplitude equations and Knott's energy equations, Bulletin of the Seismological Society of America, vol.66, no.6,1881-1885.

K. Aki and P.G. Richards.Quantitative seismology. University Science Books, Sausalito, Calif., 2nd edition, 2002.

See Also

pzoeppritz, plotzoeppritz

Examples



#########  set up 2-layer model
 
 
 alpha1 = 4.98
  beta1 =  2.9
   rho1 = 2.667

  alpha2 = 8.0
   beta2 = 4.6
   rho2 = 3.38
###################  P-wave incident = 1
     incw=1;
   icoef=1

A =  zoeppritz(icoef, alpha1, alpha2, beta1, beta2, rho1,rho2,   incw)

plot(A$angle, A$rmat[,1], xlab="Incident Angle", ylab="Ratio of Amplitudes",
main="P-wave incident/P-wave Reflected" )

plot(A$angle, A$rmat[,2], xlab="Incident Angle", ylab="Ratio of Amplitudes",
main="P-wave incident/S-wave Reflected" )

plot(A$angle, A$rmat[,3], xlab="Incident Angle", ylab="Ratio of Amplitudes",
main="P-wave incident/P-wave Refracted" )

plot(A$angle, A$rmat[,4], xlab="Incident Angle", ylab="Ratio of Amplitudes",
main="P-wave incident/S-wave Refracted" )

###################  S-wave incident = 2
     incw=2
   icoef=1

A =  zoeppritz(icoef, alpha1, alpha2, beta1, beta2, rho1,rho2,   incw)

plot(A$angle, A$rmat[,1], xlab="Incident Angle", ylab="Ratio of Amplitudes",
main="S-wave incident/P-wave Reflected" )

plot(A$angle, A$rmat[,2], xlab="Incident Angle", ylab="Ratio of Amplitudes",
main="S-wave incident/S-wave Reflected" )

plot(A$angle, A$rmat[,3], xlab="Incident Angle", ylab="Ratio of Amplitudes",
main="S-wave incident/P-wave Refracted" )

plot(A$angle, A$rmat[,4], xlab="Incident Angle", ylab="Ratio of Amplitudes",
main="S-wave incident/S-wave Refracted" )





These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.