public class Raypath extends java.lang.Object implements java.io.Serializable, java.lang.Comparable<Raypath>
Cannot compute travel time for structures that have layers with 0 velocity and non zero velocity. Layers must have only non zero velocity or zero velocity.
now diffraction phase is computable but only for the raypath which turning R
is near the CMB by permissibleGapForDiff
calculation of a travel time and a epicentral distance region 0 near turning depth (eps +turningDepth) will be calculated by Geffreys region 1 deeper part than event depth but not including region 0 region 2 isShallower part than event depth to the surface
Δ (delta) denotes epicentral distance.
T (time) denotes travel time. τ (tau) denotes tau. QT≠Q
τ
P: P wave in the mantle
SV,SH: S wave (SV, SH) in the mantle
K: P(K) wave in the outer-core
I: P(I) wave in the inner-core
JV,JH: SV, SH(J) wave in the inner-core
TODO when the path partially exists. I have to change drastically the structure of dealing with layers each layer has a phase or not
TODO cache eventR phase
コンストラクタと説明 |
---|
Raypath(double rayParameter)
ray parameter p the source is on the surface PREM structure
|
Raypath(double rayParameter,
VelocityStructure structure) |
Raypath(double rayParameter,
VelocityStructure structure,
ComputationalMesh mesh) |
修飾子とタイプ | メソッドと説明 |
---|---|
int |
compareTo(Raypath o) |
void |
compute()
Compute travel times and deltas in layers.
|
double |
computeDelta(double eventR,
Phase phase)
Compute delta for the input
Phase |
double |
computeT(double eventR,
Phase phase)
Compute T for the input.
|
double |
getRayParameter() |
double |
getTurningR(PhasePart pp) |
void |
outputEPS(double eventR,
Phase phase,
java.nio.file.Path epsFile,
java.nio.file.OpenOption... options)
Create an EPS file of
Phase |
void |
outputInfo(java.nio.file.Path informationFile,
double eventR,
Phase phase)
Create an information file of
Phase |
void |
printInfo()
Information to Standard write.
|
public Raypath(double rayParameter)
rayParameter
- a ray parameterpublic Raypath(double rayParameter, VelocityStructure structure)
rayParameter
- ray parameter Pstructure
- VelocityStructure
public Raypath(double rayParameter, VelocityStructure structure, ComputationalMesh mesh)
rayParameter
- ray parameter Pstructure
- VelocityStructure
mesh
- ComputationalMesh
public void outputInfo(java.nio.file.Path informationFile, double eventR, Phase phase)
Phase
informationFile
- Path of an informationFileeventR
- [km] radius of eventphase
- Seismic Phase
public void outputEPS(double eventR, Phase phase, java.nio.file.Path epsFile, java.nio.file.OpenOption... options) throws java.io.IOException
Phase
eventR
- [km] radius of eventphase
- Seismic Phase
epsFile
- Path of an eps file nameoptions
- open optionsjava.io.IOException
- if anypublic void compute()
computeDelta(double, Phase)
or
computeT(double, Phase)
. If once this method is called, it does
not compute anymore in the future.public double computeDelta(double eventR, Phase phase)
Phase
eventR
- [km] must be in the mantlephase
- Seismic Phase
public double computeT(double eventR, Phase phase)
eventR
- [km] must be in the mantlephase
- Seismic Phase
public double getRayParameter()
public void printInfo()
public double getTurningR(PhasePart pp)