02.12.2014 Views

Annual Report 2000 - WIT

Annual Report 2000 - WIT

Annual Report 2000 - WIT

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ø<br />

ü<br />

<br />

ø<br />

<br />

<br />

ø<br />

ý<br />

<br />

Þ<br />

do<br />

ø ý<br />

Ü<br />

Ü<br />

Ü<br />

Ü<br />

Þ<br />

ü<br />

Ü<br />

ø<br />

Ü<br />

ù<br />

!<br />

Ü<br />

<br />

<br />

ü<br />

ù<br />

ø<br />

!<br />

<br />

Ü<br />

ü<br />

ü<br />

Þ<br />

Ü<br />

ü<br />

Ü<br />

<br />

252<br />

, a plane wave would be simply<br />

. Introducing the finite difference notation for a cartesian grid with indices<br />

! and<br />

and<br />

ü<br />

and the constant grid intervals !<br />

describes the shape of the wave front at<br />

ü ý<br />

ö<br />

ö<br />

(8)<br />

è è è<br />

!<br />

!<br />

è è è<br />

and replacing the derivative of<br />

difference operator yields ö<br />

with respect to<br />

ü<br />

by a simple first-order forward<br />

ø ý<br />

ø <br />

ü ý<br />

ø ý<br />

#"¡ü<br />

#"ø<br />

ü ý<br />

ü <br />

ö$&%(' $*),+- ý<br />

ö$&%(' $*) <br />

è (9)<br />

<br />

This form allows in principle the successive computation of traveltimes from level<br />

for all grid points in the model. As pseudo-code this would look as<br />

<br />

follows:<br />

to ü ú<br />

1. initialise plane wave<br />

do<br />

ø ý<br />

end do<br />

ö$&%('.- ý<br />

#"ø<br />

2. extrapolate forward<br />

do<br />

ü ý<br />

#"¹ü <br />

level<br />

by (for instance) a central difference operator<br />

/<br />

compute flux function<br />

#"ø<br />

compute (derivative of T with respect to<br />

/<br />

) from known traveltimes at<br />

ø<br />

<br />

<br />

/<br />

compute new traveltime at level<br />

ý10 þ<br />

$&%(' $*) <br />

<br />

ü ú<br />

<br />

end do<br />

end do<br />

ö$&%(' $*),+- ý<br />

ö$&%(' $*) <br />

Unfortunately, this simple approach fails. For instance kinks in the wavefront will<br />

introduce unstable oscillations if a central difference operator is used to compute the<br />

value of . This problem itself is well known in the literature on the numerical solution<br />

of hyperbolic conservation laws. Fortunately, a variety of numerical methods have<br />

been developed which avoid this problem. The main idea is to use one-sided difference<br />

operators for the computation of and then to decide which is the correct one in terms

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!