10.11.2014 Views

Frequency domain seismic forward modelling: A tool for waveform ...

Frequency domain seismic forward modelling: A tool for waveform ...

Frequency domain seismic forward modelling: A tool for waveform ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

as sequential grid ordering. Sequential ordering just involves starting <strong>for</strong> example,<br />

in the top left corner of the grid and numbering the grid points in the rst row<br />

sequentially up to n x (where n x is number of grid points in x direction). We then<br />

move to the next row, repeat the procedure, and continue in this manner until we<br />

run out of grid points. Imagine our problem is dened on a grid of n x by n z nodes:<br />

If each node is coupled only to it's immediate neighbours (as in nite dierence<br />

equations arising from second order nite dierence operators), the initial matrix<br />

S ~<br />

will only have non-zero elements on the main diagonal, on the two neighbouring<br />

sub-diagonals, and on two sub-diagonal bands at a distance of n z diagonals away<br />

from the main diagonal.<br />

In general any nite dierence operator will produce a<br />

symmetric sparsity pattern in the initial matrix<br />

S ~<br />

. This does not imply that the<br />

matrix itself will be symmetric. This depends on the boundary conditions and on<br />

the type of nite dierence operators used.<br />

Now let us examine the way in which LU decomposition can be per<strong>for</strong>med.<br />

The algorithm is relatively simple (more details can be found, <strong>for</strong> example, in Peres<br />

et al. (1992)): Let i;j be elements of the starting matrix S ~<br />

, i;j be elements of<br />

matrix L ~<br />

and i;j be elements of matrix U ~<br />

. The algorithm proceeds as follows.<br />

Set i;i =1<br />

For each j =1;2;:::;N carry out the following two procedures:<br />

First, <strong>for</strong> i =1;:::;j<br />

i;j = i;j ,<br />

Second, <strong>for</strong> i = j +1;:::;N<br />

Xi,1<br />

k=1<br />

i;k k;j : (2.5)<br />

0<br />

1<br />

i;j = 1<br />

j,1<br />

X<br />

@ i;j , i;k k;j<br />

A : (2.6)<br />

j;j<br />

k=1<br />

Once the element a i;j is used the value is not required any more, so the same memory<br />

location can be used to store the corresponding i;j or i;j . Values i;j and i;j<br />

39

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

Saved successfully!

Ooh no, something went wrong!