public class SphericalSModel extends SlownessModel implements java.io.Serializable
allowInnerCoreS, criticalDepths, DEBUG, DEFAULT_SLOWNESS_TOLERANCE, fluidLayerDepths, highSlownessLayerDepthsP, highSlownessLayerDepthsS, maxDeltaP, maxDepthInterval, maxInterpError, maxRangeInterval, minDeltaP, PLayers, PWAVE, radiusOfEarth, SLayers, slownessTolerance, SWAVE, vectorLength, verbose, vMod
Constructor and Description |
---|
SphericalSModel(double radiusOfEarth,
VelocityModel vMod,
java.util.List<CriticalDepth> criticalDepths,
java.util.List<DepthRange> highSlownessLayerDepthsP,
java.util.List<DepthRange> highSlownessLayerDepthsS,
java.util.List<DepthRange> fluidLayerDepths,
java.util.List<SlownessLayer> pLayers,
java.util.List<SlownessLayer> sLayers,
double minDeltaP,
double maxDeltaP,
double maxDepthInterval,
double maxRangeInterval,
double maxInterpError,
boolean allowInnerCoreS,
double slownessTolerance) |
SphericalSModel(VelocityModel vMod) |
SphericalSModel(VelocityModel vMod,
double minDeltaP,
double maxDeltaP,
double maxDepthInterval,
double maxRangeInterval,
double maxInterpError,
boolean allowInnerCoreS,
double slownessTolerance) |
Modifier and Type | Method and Description |
---|---|
double |
interpolate(double p,
double topVelocity,
double topDepth,
double slope)
Returns the depth for a slowness given a velocity gradient.
|
TimeDist |
layerTimeDist(double sphericalRayParam,
int layerNum,
boolean isPWave,
boolean downgoing)
Calculates the time and distance increments accumulated by a ray of
spherical ray parameter p when passing through layer layerNum.
|
TimeDist |
layerTimeDistAllowTurn(double sphericalRayParam,
int layerNum,
boolean isPWave,
boolean downgoing) |
double |
toSlowness(double velocity,
double depth)
Returns the slowness for a velocity at a depth.
|
SlownessLayer |
toSlownessLayer(VelocityLayer vLayer,
boolean isPWave)
Converts a velocity layer into a slowness layer.
|
java.lang.String |
toString() |
double |
toVelocity(double slowness,
double depth)
Returns the velocity for a slowness at a depth.
|
boolean |
validate()
Performs consistency check on the velocity model.
|
addSlowness, approxDistance, coarseSample, depthIncCheck, depthInFluid, depthInFluid, depthInHighSlowness, depthInHighSlowness, distanceCheck, findCriticalPoints, findDepth, findDepth, findDepth, fixCriticalPoints, getAllSlownessLayers, getCriticalDepth, getHighSlowness, getMaxDeltaP, getMaxDepthInterval, getMaxInterpError, getMaxRangeInterval, getMinDeltaP, getMinRayParam, getMinTurnRayParam, getNumCriticalDepths, getNumLayers, getRadiusOfEarth, getSlownessLayer, getSlownessTolerance, getVelocityModel, isAllowInnerCoreS, layerNumberAbove, layerNumberBelow, layerNumForDepth, layerTimeDist, rayParamIncCheck, setAllowInnerCoreS, setMaxDeltaP, setMaxDepthInterval, setMaxInterpError, setMaxRangeInterval, setMinDeltaP, setRadiusOfEarth, setSlownessTolerance, splitLayer
public SphericalSModel(VelocityModel vMod) throws NoSuchMatPropException, NoSuchLayerException, SlownessModelException
public SphericalSModel(VelocityModel vMod, double minDeltaP, double maxDeltaP, double maxDepthInterval, double maxRangeInterval, double maxInterpError, boolean allowInnerCoreS, double slownessTolerance) throws NoSuchMatPropException, NoSuchLayerException, SlownessModelException
public SphericalSModel(double radiusOfEarth, VelocityModel vMod, java.util.List<CriticalDepth> criticalDepths, java.util.List<DepthRange> highSlownessLayerDepthsP, java.util.List<DepthRange> highSlownessLayerDepthsS, java.util.List<DepthRange> fluidLayerDepths, java.util.List<SlownessLayer> pLayers, java.util.List<SlownessLayer> sLayers, double minDeltaP, double maxDeltaP, double maxDepthInterval, double maxRangeInterval, double maxInterpError, boolean allowInnerCoreS, double slownessTolerance)
public double toSlowness(double velocity, double depth) throws SlownessModelException
toSlowness
in class SlownessModel
SlownessModelException
- if velocity is zero.public double toVelocity(double slowness, double depth) throws SlownessModelException
toVelocity
in class SlownessModel
SlownessModelException
- if slowness is zero.public SlownessLayer toSlownessLayer(VelocityLayer vLayer, boolean isPWave) throws SlownessModelException
toSlownessLayer
in class SlownessModel
SlownessModelException
- if velocity layer is malformed.public double interpolate(double p, double topVelocity, double topDepth, double slope) throws SlownessModelException
interpolate
in class SlownessModel
SlownessModelException
- if the velocity gradient exactly balances the spherical
decrease in slowness.public TimeDist layerTimeDist(double sphericalRayParam, int layerNum, boolean isPWave, boolean downgoing) throws SlownessModelException
layerTimeDist
in class SlownessModel
SlownessModelException
- occurs if the ray with the given spherical ray parameter
cannot propagate within this layer, or if the ray turns
within this layer but not at the bottom.public TimeDist layerTimeDistAllowTurn(double sphericalRayParam, int layerNum, boolean isPWave, boolean downgoing) throws SlownessModelException
layerTimeDistAllowTurn
in class SlownessModel
SlownessModelException
public boolean validate() throws SlownessModelException
validate
in class SlownessModel
SlownessModelException
- if any check failspublic java.lang.String toString()
toString
in class SlownessModel