Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

5.

4 Appendix D - The Tomographic Method

The tomographic method, involves the creation of an initial velocity model,


and then iteratively tracing rays through the model, comparing the calculated
traveltimes to the measured traveltimes, modifying the model, and repeating
the process until the difference between calculated and measured times is
minimized. The math is quite complex; what is presented here assumes a
working understanding of upper-level calculus and linear algebra.

The essential goal is to find the minimum traveltime between source and
receiver for each source-receiver pair. This is accomplished by solving for l
(raypath) and s (inverse velocity or “slowness”). Since we know neither, the
problem is under-constrained, and we must us an iterative, least-squares
approach.

Source

lij Receiver
R
sj e

232
Definition:

s=
1
v
s = “slowness”
v = velocity
lij = raypath

ti = ∫
X υ ( X ) ∫X
= s ( X )dX
dX

In descrete form, we get,

ti = s1li1 + s2li 2 + s3li 3 + s4li 4 + ⋅ ⋅ ⋅ + s N liN

or

ti = ∑ s j lij
N

j =1

We end up with M simultaneous equations (one for each traveltime), and N unknowns:

t1 = l11s1 + l12 s2 + ⋅ ⋅ ⋅ ⋅ +l1N s N

t 2 = l21s1 + l22 s2 + ⋅ ⋅ ⋅ ⋅ +l2 N s N

t3 = l31s1 + l32 s2 + ⋅ ⋅ ⋅ ⋅ +l3 N s N

t M = lM 1s1 + lM 2 s2 + ⋅ ⋅ ⋅ ⋅ +lMN s N

233
In matrix notation, we get:

⎛ l11 l12 ⋅ l1N ⎞ ⎛t ⎞


⎜ ⎟⎛ s1 ⎞ ⎜ 1 ⎟
⎜ l21 l22 ⋅ l2 N ⎟⎜ ⎟ ⎜ t 2 ⎟
⎜ s2 ⎟
LS = ⎜ l31 l32 ⋅ l3 N ⎟⎜ ⎟ = ⎜ ⋅ ⎟ = T
⎜ ⎟ ⋅ ⎜ ⎟
⎜ ⋅ ⋅ ⋅ ⋅ ⎟⎜⎜ ⎟⎟ ⎜ ⋅ ⎟
⎜l ⋅ lMN ⎟⎠⎝ ⎠ ⎜⎝ t M ⎟⎠
⎝ M 1 lM 2
sN

Rapaths model traveltime

This is the Least Squares method. Generally, M > N.

Example 1: Three equations, two unknowns.

2 x1 + x 2 = 11

4 x1 + x 2 = 17

6 x1 + x 2 = 23

Unknowns are x1 and x2.

In matrix notation, we get:

⎛ 2 1⎞ ⎛ 11 ⎞
⎜ ⎟⎛ x1 ⎞ ⎜ ⎟
AX = ⎜ 4 1⎟⎜⎜ ⎟⎟ = ⎜ 17 ⎟ = Y
⎜ 6 1⎟⎝ x2 ⎠ ⎜ 23 ⎟
⎝ ⎠ ⎝ ⎠

(AX=Y)

234
Matrix A is a Jacobian matrix:

f1 = 2 x1 + x2 − 11

f 2 = 4 x1 + x2 − 17

f 3 = 6 x1 + x2 − 23

or

⎛ ∂f1 ∂f1 ⎞
⎜ ⎟
⎛ 2 1⎞ ⎜ ∂x1 ∂x2 ⎟
⎜ ⎟ ⎜ ∂f ∂f 2 ⎟
A = ⎜ 4 1⎟ = ⎜ 2 ⎟
⎜ 6 1⎟ ⎜ ∂x1 ∂x2 ⎟
⎝ ⎠ ⎜ ∂f 3 ∂f 3 ⎟
⎜ ∂x ∂x2 ⎟⎠
⎝ 1

Error = E = AX-Y

We want to minimize the sum of squares errors:

E = ( AX − Y ) ( AX − Y ) = AX − Y ⇒ Minimize
T 2

We set the derivative of E to zero,

= 2 AT ( AX − Y ) = 0
dE
dX

(A A)X = A Y
and solve for X:

T T

235
Back to our three equations,

2 x 1 + x 2 = 11

4 x 1 + x 2 = 17

6 x 1 + x 2 = 23

and solving,
⎛ 2 1⎞ ⎛ 11 ⎞
( ) ⎛ 2 4 6 ⎞⎜
A A X = ⎜⎜
⎟⎛ x1 ⎞ ⎛ 2 4 6 ⎞⎜ ⎟
⎟⎟⎜ 4 1⎟⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟⎜ 17 ⎟ = AT Y
⎝ 1 1 1 ⎠⎜ 6 1⎟⎝ x2 ⎠ ⎝ 1 1 1 ⎠⎜ 23 ⎟
T

⎝ ⎠ ⎝ ⎠

(A A)X = ⎛⎜⎜12
56 12 ⎞⎛ x1 ⎞ ⎛ 228 ⎞
⎟⎟⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ = AT Y
⎝ 3 ⎠⎝ x2 ⎠ ⎝ 51 ⎠
T

(
X = AT A )
−1 ⎛ 0.125 - 0.5 ⎞⎛ 228 ⎞ ⎛ 3 ⎞
AT Y = ⎜⎜ ⎟⎟⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟
⎝ - 0.5 2.3333⎠⎝ 51 ⎠ ⎝ 5 ⎠

So x1 = 3 and x2 = 5.

236
Example 2:

4 cells (velocity unknown).

2
slowness

A B
2 0.5

2 C D
1 1.5

5 raypaths:

A B
1

C D

2 4 5

237
Observed traveltimes:

⎛ t1 ⎞ ⎛ 2 + 0.5 ⎞ ⎛ 2. 5 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ t2 ⎟ ⎜ 2 +1 ⎟ ⎜ ⎟
T = ⎜ t3 ⎟ = ⎜ ⎟ ⎜ 2. 5 ⎟
3
1 + 1. 5 =
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ t4 ⎟ ⎜ 0.5 + 1 .5 ⎟ ⎜ ⎟
⎜t ⎟ ⎜
2 + 1.5 2 ⎠ ⎝ 4.949747 ⎟⎠
⎟ ⎜
2
⎝ 5 ⎠ ⎝2

Jacobian matrix A (length of ray passing through each cell):

⎛ 0 ⎞
⎜ ⎟
1 1 0
⎜ 0 ⎟
L=⎜ 1 ⎟
1 0 1

⎜ ⎟
0 0 1
⎜ 1 ⎟
⎜ 2 ⎟⎠
0 1 0
⎝ 2 0 0

ti = s1li1 + s2li 2 + s3li 3 + s4li 4 + ⋅ ⋅ ⋅ + s N liN

∂ti
= lij
∂s j

Equation to be solved:

⎛ 0 ⎞ ⎛ 2.5 ⎞
⎜ ⎟⎛ s1 ⎞ ⎜ ⎟
1 1 0
⎜ 0 ⎟⎜ ⎟ ⎜ ⎟
⎜ s2 ⎟ ⎜
LS = ⎜ ⎟ 2.5 ⎟ = T
1 0 1 3
1 ⎜ ⎟=
⎜ ⎟ s3 ⎜ ⎟
1 ⎟⎜⎜ ⎟⎟ ⎜
0 0 1
⎜ ⎟
⎜ ⎟ ⎝ s4 ⎠ ⎜ ⎟
0 1 0 2
⎝ 2 0 0 2⎠ ⎝ 4.949747 ⎠

238
Normal equation:

⎛4 1 1 2 ⎞⎛ s1 ⎞ ⎛12.5 ⎞
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜1 2 0 1 ⎟⎜ s2 ⎟ ⎜ 4.5 ⎟ T
L LS = ⎜ = =LT
0 2 1 ⎟⎜ s3 ⎟ ⎜ 5.5 ⎟
T

⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜2 1 1 4 ⎟⎠⎜⎝ s4 ⎟⎠ ⎜⎝11.5 ⎟⎠
1

S T = (s 1 s2 s3 s4 ) = (2 0.5 1 1.5)



Jacobian matrix requires ray-path


Ray-path can not be calculated with out a velocity model


Can not solve at once
Must use non-linear Least Squares method

Non-linear Least Squares Method

If the Jacobian matrix is not a constant,

y (Z ) = x1Z − x2 e − Zx3

⎛ ∂y ( z1 ) ∂y (z1 ) ∂y ( z1 ) ⎞
⎜ ⎟
⎜ ∂x1 ∂x2 ∂x3 ⎟ ⎛ z1 − e − Z1 x 3 − x2 Z1e − Z1 x3 ⎞
⎜ ∂y ( z 2 ) ∂y ( z 2 ) ∂y (z 2 ) ⎟ ⎜ z
⎜ 2 − e − Z 2 x3

− x 2 Z 2 e − Z 2 x3 ⎟
⎜ ∂x ∂x2 ∂x3 ⎟ ⎜ ⎟
A=⎜ ⎟=
⎜ ⋅ ⋅ ⋅ ⎟ ⎜ ⎟
1

⎜ ⋅ ⎜ ⎟
⋅ ⋅ ⎟ ⎜
⎜ ∂y ( z m ) ∂y ( z m ) ∂y ( z m ) ⎟ ⎝ z m − e − Z m x3 − x2 Z m e − Z m x3 ⎟

⎜ ⎟
⎝ ∂x1 ∂x2 ∂x3 ⎠

239
parameter x is in the matrix A.

Iterative solution of a non-linear Least Squares matrix:

1) Calculate theoretical value Y0 for initial value X0.

Y0 (Z ) = Y (Z , X 0 )

2) Calculate residuals (∆Y) between theoretical value Y0 and observed value Y.

∆Y = Y − Y0

3) Calculate correction value for X (∆Y) by the least squares method.

(A A)∆X = A ∆Y
T T

4) Calculate new estimate for X1.

5) Return to step 1.

6) Stop when residual error reaches acceptable value.

240
Example 3:

y (Z ) = x1Z − x2 e − Zx3
Model:

True solution:
⎛ x1 ⎞ ⎛ 1 ⎞
⎜ ⎟ ⎜ ⎟
X = ⎜ x2 ⎟ = ⎜ 2 ⎟
⎜ x ⎟ ⎜1⎟
⎝ 3⎠ ⎝ ⎠

Eleven observed data:

z y(z)
0 -2
1 0.26421
2 1.729329
3 2.900426
4 3.963369
5 4.986524
6 5.995042
7 6.998176
8 7.999329
9 8.999753
10 9.999909

241
Partial differentiation:

∂y ∂y ∂y
=Z = −e − Zx3 = x2 Ze − Zx3
∂x1 ∂x2 ∂x3

Initial model:

⎛ x1 ⎞ ⎛ 2 ⎞
⎜ ⎟ ⎜ ⎟
X 0 = ⎜ x2 ⎟ = ⎜ 3 ⎟
⎜ x ⎟ ⎜ 2⎟
⎝ 3⎠ ⎝ ⎠

Jacobian matrix A:

⎛0 −1 ⎞
⎜ ⎟
0
⎜1 0.4060058497 ⎟
⎛ ∂y ( z1 ) ∂y ( z1 ) ∂y ( z1 ) ⎞ ⎜2 0.1098938333 ⎟
- 0.1353352832

⎜ ⎟ ⎜ ⎟
- 0.0183156389
⎜ ∂x1 ∂x2 ∂x3 ⎟ ⎛ z1 −e − x2 Z1e − Z1 x3 ⎞ ⎜ 3 0.0223087696 ⎟
⎜ ∂y ( z 2 ) ∂y ( z 2 ) ∂y ( z 2 ) ⎟ ⎜ z
− Z1 x3
⎟ ⎜
0.0040255515 ⎟⎟
- 0.0024787522
⎜ 2 − e − Z 2 x3 − x2 Z 2 e − Z 2 x3 ⎟ ⎜ 4
⎜ ∂x3 ⎟ = ⎜
A0 = ⎜ ∂x1 ∂x2 ⎟=⎜ 5
- 0.0003354626
⎟ 0.0006809989 ⎟
⎜ ⋅ ⋅ ⋅ ⎟ ⎜ ⎟ ⎜ ⎟
- 0.0000453999
⎜ ⋅ ⎜ ⎟ ⎜6 0.0001105958 ⎟
⋅ ⋅ ⎟ ⎜
⎜ ∂y ( z11 ) ∂y ( z11 ) ∂y ( z11 ) ⎟ ⎝ z11 − Z11 x3 ⎟ ⎜ 0.0000174621 ⎟
- 0.0000061442
−e − Z11 x3
− x2 Z11e ⎠ ⎜7
⎜ ⎟ ⎟
- 0.0000008315
⎝ ∂x1 ∂x2 ∂x3 ⎠ ⎜8 0.0000027008 ⎟
⎜9 0.0000004112 ⎟
- 0.0000001125

⎜⎜ ⎟
0.0000000618 ⎟⎠
- 0.0000000152
⎝10 - 0.0000000021

Observed data:

Y T = (- 2.0000 0.264241 1.729329 2.900426 3.963369 4.986524 5.995042 6.998176 7.999329 8.999753 9.999909 )

242
Theoretical data for the initial model:

Y0T = (- 3.0000 1.5940 3.9451 5.9926 7.9990 9.9999 12.0000 14.0000 16.0000 18.0000 20.0000 )

Residual vector:

∆Y = Y0 − Y

∆Y0T = (- 1.0000 1.3298 2.2157 3.0921 4.0356 5.0133 6.0049 7.0018 8.0007 9.0002 10.0001 )

RMSE (Root Mean Square Error):

∆Y0T ∆Y0
RMSE0 = = 5.9449
11

⎛ 385 - 0.181 0.71304 ⎞ ⎛ 386.3 ⎞


⎜ ⎟ ⎜ ⎟
A A0 = ⎜ - 0.181 1.0187 - 0.057 ⎟ A ∆Y0 = ⎜ 0.7702 ⎟
⎜ 0.71304 - 0.057 0.17743 ⎟ ⎜ 0.8728 ⎟
T T

⎝ ⎠ ⎝ ⎠
0 0

(A A )∆X
Solve:

T
0 0 0 = A0T ∆Y0

Get:

⎛1.0016 ⎞
⎜ ⎟
∆X 0 = ⎜ 1.0021⎟
⎜1.2162 ⎟
⎝ ⎠

243
New estimated value for X (X1):

X 1 = X 0 − ∆X

⎛ 2 ⎞ ⎛1.0016 ⎞ ⎛ 0.9984 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
X 1 = ⎜ 3 ⎟ − ⎜ 1.0021⎟ = ⎜ 1.9979 ⎟
⎜ 2 ⎟ ⎜1.2162 ⎟ ⎜ 0.7838 ⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠

Calculate residuals (RMSE) from new estimation of X (X1):

∆Y1T ∆Y1
RMSE1 = = 0.0793
11

In second calculation,

⎛ 385 - 1.543 8.19332 ⎞ ⎛ - 1.854 ⎞


⎜ ⎟ ⎜ ⎟
A A1 = ⎜ - 1.543 1.2635 - 0.6652 ⎟ A ∆Y1 = ⎜ 0.123 ⎟
⎜ 8.19332 - 0.6652 2.02955 ⎟ ⎜ - 0.372 ⎟
T T

⎝ ⎠ ⎝ ⎠
1 1

Correction is:

⎛ - 0.001⎞
⎜ ⎟
∆X 1 = ⎜ 0.002 ⎟
⎜ - 0.179 ⎟
⎝ ⎠

244
Corrected model is:

⎛ 0.9984 ⎞ ⎛ - 0.001 ⎞ ⎛ 0.9994 ⎞ ⎛ 1 ⎞


⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
X 2 = ⎜ 1.9979 ⎟ − ⎜ 0.002 ⎟ = ⎜ 1.9959 ⎟ ≅ ⎜ 2 ⎟
⎜ 0.7838 ⎟ ⎜ - 0.179 ⎟ ⎜ 0.9625 ⎟ ⎜ 1 ⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠

Residuals are:

∆Y2T ∆Y2
RMSE2 = = 0.0122 ≅ 0
11

Summary:

Simultaneous equations:

LS = T

L is a function of S (non-linear problem):

L(S )S = T

Raytracing
Initial model Jacobian matrix L (ray-paths)
S0 L0

T0c Theoretical traveltimes

245
Then,

∆T0 = T O − T0C = T O − L0 S 0

Calculate correction:

L0 ∆S 0 = ∆T0

Correct model:

S1 = S 0 + ∆S 0

In the kth iteration:

∆Tk = T O − TkC = T O − Lk S k

Lk ∆S k = ∆Tk

S k +1 = S k + ∆S k

246
Solve large matrix:

Use diagonal:

⎜ ∑ li1 ⎜ ∑ ∆ti li1 ⎟


⎛ n 2 ⎞ ⎛ n ⎞
⋅ 0 ⎟
⎜ i =1 ⎟⎛ ∆s1 ⎞ ⎜ i =1 ⎟
0
⎟⎜ ∆s ⎟ ⎜ n
∑l 0 ⎟⎜ 2 ⎟ = ⎜ ∑ ∆ti li 2 ⎟ = LT ∆T
⎜ ⎟
LT L∆S = ⎜ 0 ⋅
n

⎟⎜ ⋅ ⎟ ⎜ i =1
2

⎜ ⎟
⋅ ⎟⎜⎜ ⎟ ⎜
i =1

⎜ ⋅ ⋅ ⋅ ⋅
i2

⎟ ⎟
⋅ ∑ lim2 ⎟⎟ ⎜ ∑ i im ⎟
⎜ 0 ⎝ ∆sm ⎠ ⎜ ⎟
⎜ ∆
n n

⎝ ⎠ ⎝ i =1 ⎠
0 t l
i =1

∑ ∑ Li = ∑ lij
⎛ lij ⎞ ⎛ ⎞
∑ ∆ ⎜
⎜ ∆ ⎟
Li ⎟⎠
⎜⎜ ∆ti ijc ⎟⎟
m
n n n t
i =1 ⎝ i =1 ⎝ ⎠
⋅α ≅
t
∆s j = n =
t l
j =1
i
i =1

∑ lij ∑ lij ∑l
i ij
Ti
n n
2

Ti = ∑ tij
i =1 i =1 i =1
ij
m

j =1

Example 4:

From example 2:

⎛ 0 ⎞ ⎛ 2.5 ⎞
⎜ ⎟⎛ s1 ⎞ ⎜ ⎟
1 1 0
⎜ 0 ⎟⎜ ⎟ ⎜ ⎟
⎜ s2 ⎟ ⎜
LS = ⎜ ⎟ 2.5 ⎟ = T
1 0 1 3
1 ⎜ ⎟=
⎜ ⎟ s3 ⎜ ⎟
1 ⎟⎜⎜ ⎟⎟ ⎜
0 0 1
⎜ ⎟
⎜ ⎟ ⎝ s4 ⎠ ⎜ ⎟
0 1 0 2
⎝ 2 0 0 2⎠ ⎝ 4.949747 ⎠

247
Initial model:

S 0T = (1 1 1 1)

Calculate residuals:

⎛ 2.5 ⎞ ⎛ 2 ⎞ ⎛ 0.5 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 3 ⎟ ⎜ 2 ⎟ ⎜ 1 ⎟
∆T0 = T − T0c = ⎜ 2.5 ⎟ − ⎜ 2 ⎟ = ⎜ 0.5 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 2 ⎟ ⎜ 2 ⎟ ⎜ 0 ⎟
⎜ 4.9497 ⎟ ⎜ 2.8284 ⎟ ⎜ 2.1213 ⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠

RMSE:

∆T T ∆T
RMSE0 = = 2.44949
5

E.g., in the first cell,

∑ ⎛⎜⎝ ∆t ⎞l
Li ⎟⎠ ij × 0.5 + × 1 + × 2.1213
n
1 1 2
∆s j = = = 0.53033
i

i =1

∑l 1+1+ 2
2 2 2 2
n

i =1
ij

248
Similarly,

⎛1⎞ ⎛ 0.53033 ⎞ ⎛ 1.53033 ⎞


⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜1⎟ ⎜ 0.125 ⎟ ⎜ 1.125 ⎟
S1 = S 0 + ∆S = ⎜ ⎟ + ⎜ =
0.375 ⎟ ⎜ 1.375 ⎟
(Normal equation is
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜1⎟ ⎜ 0.383883 ⎟ ⎜1.383883 ⎟
1 not required)
⎝ ⎠ ⎝ ⎠ ⎝ ⎠

Second iteration:

⎛ 2.5 ⎞ ⎛ 2.65533 ⎞ ⎛ - 0.1553 ⎞


⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 3 ⎟ ⎜ 2.90533 ⎟ ⎜ 0.09467 ⎟
∆T1 = T − T1c = ⎜ 2.5 ⎟ − ⎜ 2.75888 ⎟ = ⎜ - 0.2589 ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 2 ⎟ ⎜ 2.50888 ⎟ ⎜ - 0.5089 ⎟
⎜ 4.9497 ⎟ ⎜ 4.12132 ⎟ ⎜ 0.82843 ⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠

RMSE:

∆T T ∆T
RMSE1 = = 1.02243
5

249
General Summary:

Calculating traveltimes by raytracing,

Source Receiver
Ray path

Cell

Node

250
we want to calculate the shortest path between A and B:

3 8
A 2
B
5 1

9 4

10

251
252
Some raytracing examples:

1 2

3 4

253
254

You might also like