Package 'zoeppritz'

Title: Seismic Reflection and Scattering Coefficients
Description: Calculate and plot scattering matrix coefficients for plane waves at interface.
Authors: Jonathan M. Lees [aut, cre]
Maintainer: Jonathan M. Lees <[email protected]>
License: GPL (>= 2)
Version: 1.0-9
Built: 2025-02-14 03:24:32 UTC
Source: https://github.com/cran/zoeppritz

Help Index


Zoeppritz Equations

Description

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

Author(s)

Jonathan M. Lees<[email protected]> Maintainer: Jonathan M. Lees<[email protected]>

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<[email protected]>

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<[email protected]>

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<[email protected]>

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<[email protected]>

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" )