Class ReflTransSolidSolid
- java.lang.Object
-
- edu.sc.seis.TauP.ReflTrans
-
- edu.sc.seis.TauP.ReflTransSolidSolid
-
public class ReflTransSolidSolid extends ReflTrans
Abstract class for reflection and transmission coefficients at a solid-solid boundary.
-
-
Field Summary
Fields Modifier and Type Field Description protected doubleaprotected doublebprotected doublecprotected doubledprotected Complexdetprotected ComplexEprotected ComplexFprotected ComplexGprotected ComplexHprotected ComplexshDeltadelta for SH-SH equations-
Fields inherited from class edu.sc.seis.TauP.ReflTrans
botDensity, botVertSlownessP, botVertSlownessS, botVp, botVs, CX, lastInIsPWave, lastRayParam, rp, sqBotVp, sqBotVs, sqRP, sqTopVp, sqTopVs, topDensity, topVertSlownessP, topVertSlownessS, topVp, topVs
-
-
Constructor Summary
Constructors Constructor Description ReflTransSolidSolid(double topVp, double topVs, double topDensity, double botVp, double botVs, double botDensity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Complex[][]calcScatterMatrix(double rayParam)Calculate scattering matrix for Solid-Solid interface.Complex[][]calcSqrtEnergyFluxMatrix(double rayParam)protected voidcalcTempVars(double rayParam, boolean inIsPWave)protected java.lang.Objectclone()ReflTransSolidSolidflip()Flips the sense of the layers, useful when you have a ray going through the same layer in the opposite direction.ComplexgetComplexRpp(double rayParam)Calculates incident P wave to reflected P wave Complex coefficient.ComplexgetComplexRps(double rayParam)Calculates incident P wave to reflected SV wave Complex coefficient.ComplexgetComplexRshsh(double rayParam)Calculates incident SH wave to reflected SH wave Complex coefficient.ComplexgetComplexRsp(double rayParam)Calculates incident SV wave to reflected P wave Complex coefficient.ComplexgetComplexRss(double rayParam)Calculates incident SV wave to reflected SV wave Complex coefficient.ComplexgetComplexTpp(double rayParam)Calculates incident P wave to transmitted P wave Complex coefficient.ComplexgetComplexTps(double rayParam)Calculates incident P wave to transmitted SV wave Complex coefficient.ComplexgetComplexTshsh(double rayParam)Calculates incident SH wave to transmitted SH wave Complex coefficient.ComplexgetComplexTsp(double rayParam)Calculates incident SV wave to transmitted P wave Complex coefficient.ComplexgetComplexTss(double rayParam)Calculates incident SV wave to transmitted SV wave Complex coefficient.java.lang.StringtoString()-
Methods inherited from class edu.sc.seis.TauP.ReflTrans
calcCriticalRayParams, calcInVerticalSlownessP, calcInVerticalSlownessS, calcTransVerticalSlownessP, calcTransVerticalSlownessS, getAngleR_p, getAngleR_s, getAngleT_p, getAngleT_s, getBotDensity, getBotVp, getBotVs, getEnergyFluxFactorRpp, getEnergyFluxFactorRps, getEnergyFluxFactorRshsh, getEnergyFluxFactorRsp, getEnergyFluxFactorRss, getEnergyFluxFactorTpp, getEnergyFluxFactorTps, getEnergyFluxFactorTshsh, getEnergyFluxFactorTsp, getEnergyFluxFactorTss, getEnergyFluxRpp, getEnergyFluxRps, getEnergyFluxRshsh, getEnergyFluxRsp, getEnergyFluxRss, getEnergyFluxTpp, getEnergyFluxTps, getEnergyFluxTshsh, getEnergyFluxTsp, getEnergyFluxTss, getRealCoefficient, getRpp, getRps, getRshsh, getRsp, getRss, getTopDensity, getTopVp, getTopVs, getTpp, getTps, getTshsh, getTsp, getTss, inboundEnergyP, inboundEnergyS
-
-
-
-
Constructor Detail
-
ReflTransSolidSolid
public ReflTransSolidSolid(double topVp, double topVs, double topDensity, double botVp, double botVs, double botDensity) throws VelocityModelException- Throws:
VelocityModelException
-
-
Method Detail
-
getComplexRpp
public Complex getComplexRpp(double rayParam)
Calculates incident P wave to reflected P wave Complex coefficient.= ((b*topVertSlownessP - c*botVertSlownessP)*F -
(a + d*topVertSlownessP * botVertSlownessS)*H*sqRP) / det- Specified by:
getComplexRppin classReflTrans
-
getComplexRps
public Complex getComplexRps(double rayParam)
Calculates incident P wave to reflected SV wave Complex coefficient.= -2 * topVertSlownessP *
(a * b + c * d *botVertSlownessP *botVertSlownessS) *
(rp * (topVp/topVs)) / det- Specified by:
getComplexRpsin classReflTrans
-
getComplexTpp
public Complex getComplexTpp(double rayParam)
Calculates incident P wave to transmitted P wave Complex coefficient.= ( 2 * topDensity * topVertSlownessP * F *
(topVp / botVp)) / det- Specified by:
getComplexTppin classReflTrans
-
getComplexTps
public Complex getComplexTps(double rayParam)
Calculates incident P wave to transmitted SV wave Complex coefficient.= (2 * topDensity * topVertSlownessP * H * rp * (topVp / botVs)) /
det- Specified by:
getComplexTpsin classReflTrans
-
getComplexRsp
public Complex getComplexRsp(double rayParam)
Calculates incident SV wave to reflected P wave Complex coefficient.= (-2 * topVertSlownessS *
(a * b + c * d * botVertSlownessP * botVertSlownessS) *
rp * (topVs / topVp)) /
det- Specified by:
getComplexRspin classReflTrans
-
getComplexRss
public Complex getComplexRss(double rayParam)
Calculates incident SV wave to reflected SV wave Complex coefficient.= -1 * ((b * topVertSlownessS - c * botVertSlownessS) * E -
(a + b * botVertSlownessP * topVertSlownessS) * G * sqRP) /
det- Specified by:
getComplexRssin classReflTrans
-
getComplexTsp
public Complex getComplexTsp(double rayParam)
Calculates incident SV wave to transmitted P wave Complex coefficient.= -2 * topDensity * topVertSlownessS * G * rp * (topVs / botVp) /
det- Specified by:
getComplexTspin classReflTrans
-
getComplexTss
public Complex getComplexTss(double rayParam)
Calculates incident SV wave to transmitted SV wave Complex coefficient.= 2 * topDensity * topVertSlownessS * E * (topVs / botVs) /
det- Specified by:
getComplexTssin classReflTrans
-
getComplexRshsh
public Complex getComplexRshsh(double rayParam)
Calculates incident SH wave to reflected SH wave Complex coefficient.mu = Vs * Vs * density
= (topMu * topVertSlownessS - botMu * botVertSlownessS) /
(topMu * topVertSlownessS + botMu * botVertSlownessS)- Specified by:
getComplexRshshin classReflTrans
-
getComplexTshsh
public Complex getComplexTshsh(double rayParam)
Calculates incident SH wave to transmitted SH wave Complex coefficient.mu = Vs * Vs * density
= 2 * topMu * topVertSlownessS /
(topMu * topVertSlownessS + botMu * botVertSlownessS)- Specified by:
getComplexTshshin classReflTrans
-
flip
public ReflTransSolidSolid flip() throws VelocityModelException
Flips the sense of the layers, useful when you have a ray going through the same layer in the opposite direction.- Specified by:
flipin classReflTrans- Throws:
VelocityModelException
-
clone
protected java.lang.Object clone() throws java.lang.CloneNotSupportedException- Overrides:
clonein classjava.lang.Object- Throws:
java.lang.CloneNotSupportedException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
calcScatterMatrix
public Complex[][] calcScatterMatrix(double rayParam) throws VelocityModelException
Calculate scattering matrix for Solid-Solid interface. See Aki and Richards (2nd ed) sect 5.2.3 p 139-147. Rows 1 and 2 are outbound from "top" layer, and rows 3 and 4 are outbound from "bottom" layer. Columns 1 and 2 are inbound from "top" layer, and columns 3 and 4 are inbound from "bottom" layer. Upper left and lower right are reflections. Upper right and lower left are transmissions.P↓P↑ S↓P↑ P↑P↑ S↑P↑ P↓S↑ S↓S↑ P↑S↑ S↑S↑ P↓P↓ S↓P↓ P↑P↓ S↑P↓ P↓S↓ S↓S↓ P↑S↓ S↑S↓- Parameters:
rayParam-- Returns:
- 4x4 matrix
- Throws:
VelocityModelException
-
calcSqrtEnergyFluxMatrix
public Complex[][] calcSqrtEnergyFluxMatrix(double rayParam) throws VelocityModelException
- Throws:
VelocityModelException
-
calcTempVars
protected void calcTempVars(double rayParam, boolean inIsPWave)- Specified by:
calcTempVarsin classReflTrans
-
-