Class ReflTransCoefficient
- All Implemented Interfaces:
java.io.Serializable
public class ReflTransCoefficient
extends java.lang.Object
implements java.io.Serializable
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description protected double
a
protected double
b
protected double
botDensity
protected Complex
botVertSlownessP
protected Complex
botVertSlownessS
protected double
botVp
protected double
botVs
protected double
c
protected double
d
protected Complex
det
protected Complex
E
protected Complex
F
protected boolean
firstTime
protected Complex
fsA
used only in free surface calculationsprotected Complex
G
protected Complex
H
protected boolean
lastInIsPWave
protected double
lastRayParam
protected double
rp
protected Complex
shDelta
delta for SH-SH equationsprotected double
sqBotVp
protected double
sqBotVs
protected double
sqRP
protected double
sqTopVp
protected double
sqTopVs
protected double
topDensity
protected Complex
topVertSlownessP
protected Complex
topVertSlownessS
protected double
topVp
protected double
topVs
-
Constructor Summary
Constructors Constructor Description ReflTransCoefficient(double topVp, double topVs, double topDensity, double botVp, double botVs, double botDensity)
-
Method Summary
Modifier and Type Method Description protected void
calcTempVars(double rayParam, boolean inIsPWave)
ReflTransCoefficient
flip()
Flips the sense of the layers, useful when you have a ray going through the same layer in the opposite direction.Complex
getBotVertSlownessP(double rayParam)
Complex
getBotVertSlownessS(double rayParam)
Complex
getComplexFreePtoPRefl(double rayParam)
Calculates incident P wave to reflected P wave complex coefficient at free surface.Complex
getComplexFreePtoSVRefl(double rayParam)
Calculates incident P wave to reflected SV wave complex coefficient at free surface.Complex
getComplexFreeSHtoSHRefl(double rayParam)
Calculates incident SH wave to reflected SH wave complex coefficient at free surface.Complex
getComplexFreeSVtoPRefl(double rayParam)
Calculates incident SV wave to reflected P wave complex coefficient at free surface.Complex
getComplexFreeSVtoSVRefl(double rayParam)
Calculates incident SV wave to reflected SV wave complex coefficient at free surface.Complex
getComplexPtoPRefl(double rayParam)
Calculates incident P wave to reflected P wave Complex coefficient.Complex
getComplexPtoPTrans(double rayParam)
Calculates incident P wave to transmitted P wave Complex coefficient.Complex
getComplexPtoSVRefl(double rayParam)
Calculates incident P wave to reflected SV wave Complex coefficient.Complex
getComplexPtoSVTrans(double rayParam)
Calculates incident P wave to transmitted SV wave Complex coefficient.Complex
getComplexSHtoSHRefl(double rayParam)
Calculates incident SH wave to reflected SH wave Complex coefficient.Complex
getComplexSHtoSHTrans(double rayParam)
Calculates incident SH wave to transmitted SH wave Complex coefficient.Complex
getComplexSVtoPRefl(double rayParam)
Calculates incident SV wave to reflected P wave Complex coefficient.Complex
getComplexSVtoPTrans(double rayParam)
Calculates incident SV wave to transmitted P wave Complex coefficient.Complex
getComplexSVtoSVRefl(double rayParam)
Calculates incident SV wave to reflected SV wave Complex coefficient.Complex
getComplexSVtoSVTrans(double rayParam)
Calculates incident SV wave to transmitted SV wave Complex coefficient.double
getFreePtoPRefl(double rayParam)
Calculates incident P wave to reflected P wave coefficient at free surface.double
getFreePtoSVRefl(double rayParam)
Calculates incident P wave to reflected SV wave coefficient at free surface.double
getFreeSHtoSHRefl(double rayParam)
Calculates incident SH wave to reflected SH wave coefficient at free surface.double
getFreeSVtoPRefl(double rayParam)
Calculates incident SV wave to reflected P wave coefficient at free surface.double
getFreeSVtoSVRefl(double rayParam)
Calculates incident SV wave to reflected SV wave coefficient at free surface.double
getPtoPRefl(double rayParam)
Calculates incident P wave to reflected P wave coefficient.double
getPtoPTrans(double rayParam)
Calculates incident P wave to transmitted P wave coefficient.double
getPtoSVRefl(double rayParam)
Calculates incident P wave to reflected SV wave coefficient.double
getPtoSVTrans(double rayParam)
Calculates incident P wave to transmitted SV wave coefficient.double
getSHtoSHRefl(double rayParam)
Calculates incident SH wave to reflected SH wave coefficient.double
getSHtoSHTrans(double rayParam)
Calculates incident SH wave to transmitted SH wave coefficient.double
getSVtoPRefl(double rayParam)
Calculates incident SV wave to reflected P wave coefficient.double
getSVtoPTrans(double rayParam)
Calculates incident SV wave to transmitted P wave coefficient.double
getSVtoSVRefl(double rayParam)
Calculates incident SV wave to reflected SV wave coefficient.double
getSVtoSVTrans(double rayParam)
Calculates incident SV wave to transmitted SV wave coefficient.Complex
getTopVertSlownessP(double rayParam)
Complex
getTopVertSlownessS(double rayParam)
static void
main(java.lang.String[] args)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
topVp
protected double topVp -
topVs
protected double topVs -
topDensity
protected double topDensity -
botVp
protected double botVp -
botVs
protected double botVs -
botDensity
protected double botDensity -
rp
protected double rp -
a
protected double a -
b
protected double b -
c
protected double c -
d
protected double d -
det
-
E
-
F
-
G
-
H
-
fsA
used only in free surface calculations -
shDelta
delta for SH-SH equations -
topVertSlownessP
-
topVertSlownessS
-
botVertSlownessP
-
botVertSlownessS
-
sqBotVs
protected double sqBotVs -
sqTopVs
protected double sqTopVs -
sqBotVp
protected double sqBotVp -
sqTopVp
protected double sqTopVp -
sqRP
protected double sqRP -
lastRayParam
protected double lastRayParam -
lastInIsPWave
protected boolean lastInIsPWave -
firstTime
protected boolean firstTime
-
-
Constructor Details
-
ReflTransCoefficient
public ReflTransCoefficient(double topVp, double topVs, double topDensity, double botVp, double botVs, double botDensity)
-
-
Method Details
-
flip
Flips the sense of the layers, useful when you have a ray going through the same layer in the opposite direction. -
calcTempVars
protected void calcTempVars(double rayParam, boolean inIsPWave) -
getComplexFreePtoPRefl
Calculates incident P wave to reflected P wave complex coefficient at free surface. Only topVp, topVs, and topDensity are used, the bottom values are ignored. This is a little strange as free surface rays are always upgoing, but it mantains consistency with the solid-solid calculations.= (-1*((1/sqTopVs) - 2 * sqRP)^2 +
4 * sqRP * topVertSlownessP * topVertSlownessS) / A -
getFreePtoPRefl
public double getFreePtoPRefl(double rayParam)Calculates incident P wave to reflected P wave coefficient at free surface. This just returns the real part, assuming the imaginary part is zero.- See Also:
getComplexFreePtoPRefl(double)
-
getComplexFreePtoSVRefl
Calculates incident P wave to reflected SV wave complex coefficient at free surface. = (4 * (topVp/topVs) * rp * topVertSlownessP * ((1/sqTopVs) - 2 * sqRP)) / fsA -
getFreePtoSVRefl
public double getFreePtoSVRefl(double rayParam)Calculates incident P wave to reflected SV wave coefficient at free surface.- See Also:
getComplexFreePtoSVRefl(double)
-
getComplexFreeSVtoPRefl
Calculates incident SV wave to reflected P wave complex coefficient at free surface.= (4 * (topVs/topVp) * rp * topVertSlownessS *
((1/sqTopVs) - 2 * sqRP)) / fsA -
getFreeSVtoPRefl
public double getFreeSVtoPRefl(double rayParam)Calculates incident SV wave to reflected P wave coefficient at free surface.- See Also:
getComplexFreeSVtoPRefl(double)
-
getComplexFreeSVtoSVRefl
Calculates incident SV wave to reflected SV wave complex coefficient at free surface.= (-1 * ((1/sqTopVs) - 2 * sqRP)^2 +
4 * sqRP * topVertSlownessP * topVertSlownessS) / fsA -
getFreeSVtoSVRefl
public double getFreeSVtoSVRefl(double rayParam)Calculates incident SV wave to reflected SV wave coefficient at free surface. -
getComplexFreeSHtoSHRefl
Calculates incident SH wave to reflected SH wave complex coefficient at free surface. Free surface SH is always 1. -
getFreeSHtoSHRefl
public double getFreeSHtoSHRefl(double rayParam)Calculates incident SH wave to reflected SH wave coefficient at free surface. Free surface SH is always 1. -
getComplexPtoPRefl
Calculates incident P wave to reflected P wave Complex coefficient.= ((b*topVertSlownessP - c*botVertSlownessP)*F -
(a + d*topVertSlownessP * botVertSlownessS)*H*sqRP) / det -
getPtoPRefl
public double getPtoPRefl(double rayParam)Calculates incident P wave to reflected P wave coefficient. -
getComplexPtoSVRefl
Calculates incident P wave to reflected SV wave Complex coefficient.= -2 * topVertSlownessP *
(a * b + c * d *botVertSlownessP *botVertSlownessS) *
rp * (topVp/topVs)) / det -
getPtoSVRefl
public double getPtoSVRefl(double rayParam)Calculates incident P wave to reflected SV wave coefficient. -
getComplexPtoPTrans
Calculates incident P wave to transmitted P wave Complex coefficient.= ( 2 * topDensity * topVertSlownessP * F *
(topVp / botVp)) / det -
getPtoPTrans
public double getPtoPTrans(double rayParam)Calculates incident P wave to transmitted P wave coefficient. -
getComplexPtoSVTrans
Calculates incident P wave to transmitted SV wave Complex coefficient.= (2 * topDensity * topVertSlownessP * H * rp * (topVp / botVs)) /
det -
getPtoSVTrans
public double getPtoSVTrans(double rayParam)Calculates incident P wave to transmitted SV wave coefficient. -
getComplexSVtoPRefl
Calculates incident SV wave to reflected P wave Complex coefficient.= (-2 * topVertSlownessS *
(a * b + c * d * botVertSlownessP * botVertSlownessS) *
rp * (topVs / topVp)) /
det -
getSVtoPRefl
public double getSVtoPRefl(double rayParam)Calculates incident SV wave to reflected P wave coefficient. -
getComplexSVtoSVRefl
Calculates incident SV wave to reflected SV wave Complex coefficient.= -1 * ((b * topVertSlownessS - c * botVertSlownessS) * E -
(a + b * botVertSlownessP * topVertSlownessS) * G * sqRP) /
det -
getSVtoSVRefl
public double getSVtoSVRefl(double rayParam)Calculates incident SV wave to reflected SV wave coefficient. -
getComplexSVtoPTrans
Calculates incident SV wave to transmitted P wave Complex coefficient.= -2 * topDensity * topVertSlownessS * G * rp * (topVs / botVp) /
det -
getSVtoPTrans
public double getSVtoPTrans(double rayParam)Calculates incident SV wave to transmitted P wave coefficient. -
getComplexSVtoSVTrans
Calculates incident SV wave to transmitted SV wave Complex coefficient.= 2 * topDensity * topVertSlownessS * E * (topVs / botVs) /
det -
getSVtoSVTrans
public double getSVtoSVTrans(double rayParam)Calculates incident SV wave to transmitted SV wave coefficient. -
getComplexSHtoSHRefl
Calculates incident SH wave to reflected SH wave Complex coefficient.mu = Vs * Vs * density
= (topMu * topVertSlownessS - botMu * botVertSlownessS) /
(topMu * topVertSlownessS + botMu * botVertSlownessS) -
getSHtoSHRefl
public double getSHtoSHRefl(double rayParam)Calculates incident SH wave to reflected SH wave coefficient. -
getComplexSHtoSHTrans
Calculates incident SH wave to transmitted SH wave Complex coefficient.mu = Vs * Vs * density
= 2 * topMu * topVertSlownessS /
(topMu * topVertSlownessS + botMu * botVertSlownessS) -
getSHtoSHTrans
public double getSHtoSHTrans(double rayParam)Calculates incident SH wave to transmitted SH wave coefficient. -
main
public static void main(java.lang.String[] args) -
getBotVertSlownessP
-
getBotVertSlownessS
-
getTopVertSlownessP
-
getTopVertSlownessS
-