Package edu.sc.seis.TauP
Class ReflTransSolidFreeSurface
- java.lang.Object
-
- edu.sc.seis.TauP.ReflTrans
-
- edu.sc.seis.TauP.ReflTransFreeSurface
-
- edu.sc.seis.TauP.ReflTransSolidFreeSurface
-
public class ReflTransSolidFreeSurface extends ReflTransFreeSurface
Reflection and transmission coefficients at a solid-free surface boundary.
-
-
Field Summary
Fields Modifier and Type Field Description protected ComplexfsAused only in free surface calculations-
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 ReflTransSolidFreeSurface(double inVp, double inVs, double inDensity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcalcTempVars(double rayParam, boolean inIsPWave)ReflTransflip()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 at free surface.ComplexgetComplexRps(double rayParam)Calculates incident P wave to reflected SV wave complex coefficient at free surface.ComplexgetComplexRshsh(double rayParam)Calculates incident SH wave to reflected SH wave complex coefficient at free surface.ComplexgetComplexRsp(double rayParam)Calculates incident SV wave to reflected P wave complex coefficient at free surface.ComplexgetComplexRss(double rayParam)/** Calculates incident SV wave to reflected SV wave complex coefficient at free surface.ComplexgetComplexTpp(double rayParam)ComplexgetComplexTps(double rayParam)ComplexgetComplexTshsh(double rayParam)ComplexgetComplexTsp(double rayParam)ComplexgetComplexTss(double rayParam)Complex[]getFreeSurfaceReceiverFunP(double rayParam)doublegetFreeSurfaceReceiverFunP_r(double rayParam)doublegetFreeSurfaceReceiverFunP_z(double rayParam)doublegetFreeSurfaceReceiverFunSh(double rayParam)Complex[]getFreeSurfaceReceiverFunSv(double rayParam)doublegetFreeSurfaceReceiverFunSv_r(double rayParam)doublegetFreeSurfaceReceiverFunSv_z(double rayParam)java.lang.StringtoString()-
Methods inherited from class edu.sc.seis.TauP.ReflTransFreeSurface
createReflTransFreeSurface
-
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
-
-
-
-
Field Detail
-
fsA
protected Complex fsA
used only in free surface calculations
-
-
Constructor Detail
-
ReflTransSolidFreeSurface
public ReflTransSolidFreeSurface(double inVp, double inVs, double inDensity) throws VelocityModelException- Throws:
VelocityModelException
-
-
Method Detail
-
getComplexRpp
public Complex getComplexRpp(double rayParam)
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- Specified by:
getComplexRppin classReflTrans
-
getComplexRps
public Complex getComplexRps(double rayParam)
Calculates incident P wave to reflected SV wave complex coefficient at free surface. = (4 * (topVp/topVs) * rp * topVertSlownessP * ((1/sqTopVs) - 2 * sqRP)) / fsA- Specified by:
getComplexRpsin classReflTrans
-
getComplexTpp
public Complex getComplexTpp(double rayParam) throws VelocityModelException
- Specified by:
getComplexTppin classReflTrans- Throws:
VelocityModelException
-
getComplexTps
public Complex getComplexTps(double rayParam) throws VelocityModelException
- Specified by:
getComplexTpsin classReflTrans- Throws:
VelocityModelException
-
getComplexRsp
public Complex getComplexRsp(double rayParam)
Calculates incident SV wave to reflected P wave complex coefficient at free surface.= (4 * (topVs/topVp) * rp * topVertSlownessS *
((1/sqTopVs) - 2 * sqRP)) / fsA- Specified by:
getComplexRspin classReflTrans
-
getComplexRss
public Complex getComplexRss(double rayParam)
/** Calculates incident SV wave to reflected SV wave complex coefficient at free surface.= (-1 * ((1/sqTopVs) - 2 * sqRP)^2 +
4 * sqRP * topVertSlownessP * topVertSlownessS) / fsA- Specified by:
getComplexRssin classReflTrans
-
getComplexTsp
public Complex getComplexTsp(double rayParam) throws VelocityModelException
- Specified by:
getComplexTspin classReflTrans- Throws:
VelocityModelException
-
getComplexTss
public Complex getComplexTss(double rayParam) throws VelocityModelException
- Specified by:
getComplexTssin classReflTrans- Throws:
VelocityModelException
-
getComplexRshsh
public Complex getComplexRshsh(double rayParam)
Calculates incident SH wave to reflected SH wave complex coefficient at free surface. Free surface SH is always 1.- Specified by:
getComplexRshshin classReflTrans
-
getComplexTshsh
public Complex getComplexTshsh(double rayParam) throws VelocityModelException
- Specified by:
getComplexTshshin classReflTrans- Throws:
VelocityModelException
-
flip
public ReflTrans flip() throws VelocityModelException
Description copied from class:ReflTransFlips 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
-
getFreeSurfaceReceiverFunSh
public double getFreeSurfaceReceiverFunSh(double rayParam)
- Specified by:
getFreeSurfaceReceiverFunShin classReflTransFreeSurface
-
getFreeSurfaceReceiverFunP_r
public double getFreeSurfaceReceiverFunP_r(double rayParam)
- Specified by:
getFreeSurfaceReceiverFunP_rin classReflTransFreeSurface
-
getFreeSurfaceReceiverFunP_z
public double getFreeSurfaceReceiverFunP_z(double rayParam)
- Specified by:
getFreeSurfaceReceiverFunP_zin classReflTransFreeSurface
-
getFreeSurfaceReceiverFunP
public Complex[] getFreeSurfaceReceiverFunP(double rayParam)
- Specified by:
getFreeSurfaceReceiverFunPin classReflTransFreeSurface
-
getFreeSurfaceReceiverFunSv_r
public double getFreeSurfaceReceiverFunSv_r(double rayParam)
- Specified by:
getFreeSurfaceReceiverFunSv_rin classReflTransFreeSurface
-
getFreeSurfaceReceiverFunSv_z
public double getFreeSurfaceReceiverFunSv_z(double rayParam)
- Specified by:
getFreeSurfaceReceiverFunSv_zin classReflTransFreeSurface
-
getFreeSurfaceReceiverFunSv
public Complex[] getFreeSurfaceReceiverFunSv(double rayParam)
- Specified by:
getFreeSurfaceReceiverFunSvin classReflTransFreeSurface
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
calcTempVars
protected void calcTempVars(double rayParam, boolean inIsPWave)- Specified by:
calcTempVarsin classReflTrans
-
-