public class ReflTransCoefficient
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Field and 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 calculations
|
protected Complex |
G |
protected Complex |
H |
protected boolean |
lastInIsPWave |
protected double |
lastRayParam |
protected double |
rp |
protected Complex |
shDelta
delta for SH-SH equations
|
protected 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 and Description |
---|
ReflTransCoefficient(double topVp,
double topVs,
double topDensity,
double botVp,
double botVs,
double botDensity) |
Modifier and Type | Method and 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) |
protected double topVp
protected double topVs
protected double topDensity
protected double botVp
protected double botVs
protected double botDensity
protected double rp
protected double a
protected double b
protected double c
protected double d
protected Complex det
protected Complex E
protected Complex F
protected Complex G
protected Complex H
protected Complex fsA
protected Complex shDelta
protected Complex topVertSlownessP
protected Complex topVertSlownessS
protected Complex botVertSlownessP
protected Complex botVertSlownessS
protected double sqBotVs
protected double sqTopVs
protected double sqBotVp
protected double sqTopVp
protected double sqRP
protected double lastRayParam
protected boolean lastInIsPWave
protected boolean firstTime
public ReflTransCoefficient(double topVp, double topVs, double topDensity, double botVp, double botVs, double botDensity)
public ReflTransCoefficient flip()
protected void calcTempVars(double rayParam, boolean inIsPWave)
public Complex getComplexFreePtoPRefl(double rayParam)
= (-1*((1/sqTopVs) - 2 * sqRP)^2 +
4 * sqRP * topVertSlownessP * topVertSlownessS) / A
public double getFreePtoPRefl(double rayParam)
getComplexFreePtoPRefl(double)
public Complex getComplexFreePtoSVRefl(double rayParam)
public double getFreePtoSVRefl(double rayParam)
getComplexFreePtoSVRefl(double)
public Complex getComplexFreeSVtoPRefl(double rayParam)
= (4 * (topVs/topVp) * rp * topVertSlownessS *
((1/sqTopVs) - 2 * sqRP)) / fsA
public double getFreeSVtoPRefl(double rayParam)
getComplexFreeSVtoPRefl(double)
public Complex getComplexFreeSVtoSVRefl(double rayParam)
= (-1 * ((1/sqTopVs) - 2 * sqRP)^2 +
4 * sqRP * topVertSlownessP * topVertSlownessS) / fsA
public double getFreeSVtoSVRefl(double rayParam)
public Complex getComplexFreeSHtoSHRefl(double rayParam)
public double getFreeSHtoSHRefl(double rayParam)
public Complex getComplexPtoPRefl(double rayParam)
= ((b*topVertSlownessP - c*botVertSlownessP)*F -
(a + d*topVertSlownessP * botVertSlownessS)*H*sqRP) / det
public double getPtoPRefl(double rayParam)
public Complex getComplexPtoSVRefl(double rayParam)
= -2 * topVertSlownessP *
(a * b + c * d *botVertSlownessP *botVertSlownessS) *
rp * (topVp/topVs)) / det
public double getPtoSVRefl(double rayParam)
public Complex getComplexPtoPTrans(double rayParam)
= ( 2 * topDensity * topVertSlownessP * F *
(topVp / botVp)) / det
public double getPtoPTrans(double rayParam)
public Complex getComplexPtoSVTrans(double rayParam)
= (2 * topDensity * topVertSlownessP * H * rp * (topVp / botVs)) /
det
public double getPtoSVTrans(double rayParam)
public Complex getComplexSVtoPRefl(double rayParam)
= (-2 * topVertSlownessS *
(a * b + c * d * botVertSlownessP * botVertSlownessS) *
rp * (topVs / topVp)) /
det
public double getSVtoPRefl(double rayParam)
public Complex getComplexSVtoSVRefl(double rayParam)
= -1 * ((b * topVertSlownessS - c * botVertSlownessS) * E -
(a + b * botVertSlownessP * topVertSlownessS) * G * sqRP) /
det
public double getSVtoSVRefl(double rayParam)
public Complex getComplexSVtoPTrans(double rayParam)
= -2 * topDensity * topVertSlownessS * G * rp * (topVs / botVp) /
det
public double getSVtoPTrans(double rayParam)
public Complex getComplexSVtoSVTrans(double rayParam)
= 2 * topDensity * topVertSlownessS * E * (topVs / botVs) /
det
public double getSVtoSVTrans(double rayParam)
public Complex getComplexSHtoSHRefl(double rayParam)
mu = Vs * Vs * density
= (topMu * topVertSlownessS - botMu * botVertSlownessS) /
(topMu * topVertSlownessS + botMu * botVertSlownessS)
public double getSHtoSHRefl(double rayParam)
public Complex getComplexSHtoSHTrans(double rayParam)
mu = Vs * Vs * density
= 2 * topMu * topVertSlownessS /
(topMu * topVertSlownessS + botMu * botVertSlownessS)
public double getSHtoSHTrans(double rayParam)
public static void main(java.lang.String[] args)
public Complex getBotVertSlownessP(double rayParam)
public Complex getBotVertSlownessS(double rayParam)
public Complex getTopVertSlownessP(double rayParam)
public Complex getTopVertSlownessS(double rayParam)