EIKONAL MODELING COMPUTER EXERCISE
Objective: Determine traveltime field from eikonal equation.
Estimate reflection times.
Model on left and traveltime field on right
for a source in upper left corner.
Load time1.m;
load raymodel3.m;
load ricker.m;
load traveltimesrc.mat;
load migvsp.m;
load Mray.m;
load vel.m;
load velvector.mat;
load vel.mat.
Type "time1" after downloading everything in this directory.
Script will compute matrix
traveltimesrc(100,100,100) which are traveltime fields "traveltimesrc(x,y,ixsrc)"
for 100 sources on surface in the 100x100 model. These travetimes are the 1st arrival
times from src to (x,z) gridpt in model.
Velocity model is "vel.mat".
- Type "time1".
- Plot the velocity model by typing
"subplot(211);imagesc([1:100]*dx,[1:100]*dx,vel1);xlabel('X( m)');ylabel('Z (m)')".
- Plot the traveltime contours by typing
"subplot(212);imagesc([1:100]*dx,[1:100]*dx,traveltimesrc(:,:,ixsrc))".
Check to see if the direct wave time is correct.
Plot out the direct wave traveltime curve by typing
"plot([1:nx]*dx,traveltimesrc(1,:,ixsrc)):.
Print out the curves.
Alternatively, type "[C,h]=contour(traveltimesrc(:,:,ixsrc),20);clabel(C,h)".
- From the contour plot trace the ray from the source to a buried
scatterering point.
- The traveltime for a reflection ray
is given by the sum of the traveltimes
for the up and downgoing
rays. For two different source
points a=5 and b=99, define the
traveltime fields ta=traveltimesrc(:,:,5)
and tb=traveltimesrc(:,:,99).
You will define two
traveltime matrices ta and tb.
The reflection time for a
scatterer at the (50,50) coordinate will be tik=ta(100,100)+tb(100,100).
Trace the reflection ray to this scatterer point from your traveltime contours.
- Use Fermat's principle to determine the specular
reflection ray for the interface reflection for a specified
source and receiver point. Create and use a two layer model
for this exercise.
Note, "min(ta(50,:)+tb(50,:))"
gives the minimum traveltime for horizontal
reflection points at depth 50.
- Generate the total traveltime field "total=ta+tb".
It is the sum of downgoing and upgoing traveltimes, and should define elliptical
contours with the src and rec and the focal points.
Use the contour plot to show this.
- Rays can be plotted from the traveltime code
by noting that the sum of the traveltimes
from a=5 to some point x on the actual ray added
to the traveltime from b=99 to x on the ray should always be the
same as long as x is in on the ray. Thus ta(:,:)+tb(:,:,99)-ta(5,99)=0
for all points on the ray. This ray can be visualized
by "imagesc(1./(abs(ta(:,:)+tb(:,:,99)-ta(5,99))))". Plot
the rays for different source-receiver pairs of interest.