edu.sc.seis.TauP
Class SphericalSModel

java.lang.Object
  extended byedu.sc.seis.TauP.SlownessModel
      extended byedu.sc.seis.TauP.SphericalSModel
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class SphericalSModel
extends SlownessModel
implements java.io.Serializable, java.lang.Cloneable

This class provides storage and methods for generating slowness-depth pairs in a spherical earth model.

Version:
1.1.3 Wed Jul 18 15:00:35 GMT 2001
Author:
H. Philip Crotwell
See Also:
Serialized Form

Field Summary
 
Fields inherited from class edu.sc.seis.TauP.SlownessModel
allowInnerCoreS, criticalDepthVector, DEBUG, fluidLayerDepths, highSlownessLayerDepthsP, highSlownessLayerDepthsS, maxDeltaP, maxDepthInterval, maxInterpError, maxRangeInterval, minDeltaP, PLayers, PWAVE, radiusOfEarth, SLayers, slownessTolerance, SWAVE, vectorLength, verbose, vMod
 
Constructor Summary
SphericalSModel()
           
 
Method Summary
 java.lang.Object clone()
           
 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)
          Calculates the time and distance increments accumulated by a ray of spherical ray parameter p when passing through layer layerNum.
static void main(java.lang.String[] args)
          Just for debugging purposes.
 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.
 
Methods inherited from class edu.sc.seis.TauP.SlownessModel
addSlowness, approxDistance, coarseSample, createSample, depthIncCheck, depthInFluid, depthInFluid, depthInHighSlowness, depthInHighSlowness, distanceCheck, findCriticalPoints, findDepth, findDepth, findDepth, fixCriticalPoints, getCriticalDepth, getHighSlowness, getMaxDeltaP, getMaxDepthInterval, getMaxInterpError, getMaxRangeInterval, getMinDeltaP, getMinRayParam, getMinTurnRayParam, getNumCriticalDepths, getNumLayers, getRadiusOfEarth, getSlownessLayer, getSlownessLayerClone, getSlownessTolerance, isAllowInnerCoreS, layerNumberAbove, layerNumberBelow, rayParamIncCheck, setAllowInnerCoreS, setMaxDeltaP, setMaxDepthInterval, setMaxInterpError, setMaxRangeInterval, setMinDeltaP, setRadiusOfEarth, setSlownessTolerance, splitLayer
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SphericalSModel

public SphericalSModel()
Method Detail

main

public static void main(java.lang.String[] args)
Just for debugging purposes.


toSlowness

public double toSlowness(double velocity,
                         double depth)
                  throws SlownessModelException
Returns the slowness for a velocity at a depth.

Specified by:
toSlowness in class SlownessModel
Throws:
SlownessModelException - if velocity is zero.

toVelocity

public double toVelocity(double slowness,
                         double depth)
                  throws SlownessModelException
Returns the velocity for a slowness at a depth.

Specified by:
toVelocity in class SlownessModel
Throws:
SlownessModelException - if slowness is zero.

toSlownessLayer

public SlownessLayer toSlownessLayer(VelocityLayer vLayer,
                                     boolean isPWave)
                              throws SlownessModelException
Converts a velocity layer into a slowness layer.

Specified by:
toSlownessLayer in class SlownessModel
Throws:
SlownessModelException - if velocity layer is malformed.

interpolate

public double interpolate(double p,
                          double topVelocity,
                          double topDepth,
                          double slope)
                   throws SlownessModelException
Returns the depth for a slowness given a velocity gradient.

Specified by:
interpolate in class SlownessModel
Throws:
SlownessModelException - if the velocity gradient exactly balances the spherical decrease in slowness.

layerTimeDist

public TimeDist layerTimeDist(double sphericalRayParam,
                              int layerNum,
                              boolean isPWave)
                       throws SlownessModelException
Calculates the time and distance increments accumulated by a ray of spherical ray parameter p when passing through layer layerNum. for the easy cases of zero ray parameter, the center of the earth, and constant velocity layers. Note that this gives 1/2 of the true range and time increments since there will be both an up going and a downgoing path.

Specified by:
layerTimeDist in class SlownessModel
Throws:
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.

validate

public boolean validate()
                 throws SlownessModelException
Performs consistency check on the velocity model.

Overrides:
validate in class SlownessModel
Returns:
true if successful, throws SlownessModelException otherwise.
Throws:
SlownessModelException - if any check fails

clone

public java.lang.Object clone()
Overrides:
clone in class SlownessModel

toString

public java.lang.String toString()
Overrides:
toString in class SlownessModel


Copyright © 1999-2006 Seismology at the University of South Carolina. All Rights Reserved.