RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

25
RAY TRACING IN MATLAB RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003

Transcript of RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Page 1: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

RAY TRACING IN MATLABRAY TRACING IN MATLAB

Ruiqing He

University of Utah

Feb. 2003

Page 2: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

OutlineOutline

• Introduction

• Modeling

• Strategy and steps

• Reflection and multiple ray tracing

• Examples

• Conclusion

Page 3: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

IntroductionIntroduction

• Role of ray tracing in geophysics

• Practical requirements:

accuracy, speed, ray path,

reflection, multiples, 3D, amplitude.

• Matlab

Page 4: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Ray Tracing MethodsRay Tracing Methods

• Shortest path methods:

Fischer (1993), Moser (1991)

• Wave-equation-based:

Sava (2001)

Page 5: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

This Ray TracerThis Ray Tracer

• Shortest path method:

Grid of velocity is finer than or

equal to the grid of ray path.

• Versatile: reflection & multiples

• Accurate

• Robust

Page 6: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

ModelingModeling• Block model & grid model

Page 7: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

StrategyStrategy• Fermat’s principle

• Huygen’s principle:

original source and secondary source

• Data structure: V(x,z), T(x,z), Ray(x,z,1:2)

• Flag(x,z): 0-unvisited; 1-visited; 2-decided

Page 8: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

StepsSteps• Step 0: T(x0,z0)=0; Flag(x0,z0)=2;

Ray(x0,z0,1)=x0; Ray(x0,z0,2)=z0;

• Step 1: sub-ray tracing from the original source.

Page 9: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

SearchSearch

• Step 2: all visited nodes record:

T(x,z) and Ray(x,z,1:2), Flag(x,z)=1.• Step 3: search nodes Flag(x,z)==1 & min(T(x,z)).• Step 4: decided node = next secondary source, as

original source, repeat from step 0, until all

interested nodes are decided.

Page 10: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

SelectionSelection

Page 11: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Reflections and MultiplesReflections and Multiples

• Step 1: do one transmission ray tracing until all nodes on the reflector are decided.

• Step 2: keep these nodes and make them Flag=1, refresh all other nodes.

• Step 3: jump directly into step 3 in the transmission ray tracing loop.

So, 1 reflection ray tracing = 2 transmission ray tracing; 1 first order multiple ray tracing = 4 transmission ray tracing; 1 2nd order multiple ray tracing = 6 transmission ray tracing;

Page 12: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Reflections and MultiplesReflections and Multiples

Page 13: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Reflections and MultiplesReflections and Multiples

Frozen exploding reflector

Page 14: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

ExamplesExamples• Linear gradient model

50 m 100 m

50 m

100 m

Travel time field Sec.

0.05

0.08

0

Page 15: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

ComparisonComparison

T

Distance 95 m

0.09 s

0.07 s

75 m

Page 16: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Ray pathRay path

50 m100 m

100 m

50 m

Page 17: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Reflection ray tracingReflection ray tracing

50 m

50 m

100 m

100 m

Page 18: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Multiple ray tracingMultiple ray tracing

50 m

50 m

100 m

100 m

Page 19: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

3D ray tracing3D ray tracing

Page 20: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Complex model ray tracingComplex model ray tracing

12000 ft

6000 ft

25000 ft 50000 ft

14000

6000

ft/sSalt Dome Model

Page 21: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Travel Time FieldTravel Time Field

12000 ft

6000 ft

25000 ft 50000 ft

Sec.5

3

0

Page 22: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

Ray PathRay Path

6000 ft

12000 ft

25000 ft 50000 ft

Page 23: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

SpeedSpeed

10,000 40,000 90,000

Grid size

CPU Time(Sec.)

2

10

16

CPU Time on a 2.2 GHZ AMD

Page 24: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

ConclusionConclusion

• Flexibility: ray path, reflections & multiples

• Speed: depends on sub ray tracing length

• Accuracy and robustness

• Applications: tomography and migration

• Extendable: C or Fortran

• Available by email: [email protected]

Page 25: RAY TRACING IN MATLAB Ruiqing He University of Utah Feb. 2003.

ThanksThanks

• 2002 members of UTAM for financial support.