Fourier Transform input data
Loop over frequency {
Initialize wave at z=0
Factor wave equation for this w/v
Recursively divide input data by factor
Fourier Transform back to time-domain
Sum into output
}
Incorporating this code into the Wavemovie
program () provides a laboratory for testing the new
algorithm.
Figure
compares the results of the new extrapolation
procedure with the conventional Crank-Nicolson solution to the
45
equation. The new approach has little dispersion since we
are using a rational approximation (the `one-sixth trick') to the
Laplacian on the vertical and horizontal axes. In addition, the new
factorization retains accuracy up to 90
. The high dip,
evanescent energy in the 45
movie, propagates correctly in the
new approach.
|
vs45
Figure 3 Comparison of the 45 | ![]() |
Figure
compares different value of the `one-sixth'
parameter,
. For this application, the optimal value seems to
be .
![]() |
Figure
compares different finite-difference filters. corresponds to the conventional
5-point filter, while corresponds to a rotated 5-point
filter. Values in the range correspond to 9-point
filters that are linear combinations of the above. Best results are
obtained with . The impulse response with only contains energy on every second grid point, since the rotated
filter only propagates energy diagonally: as in the game of a chess,
if a bishop starts on a white square, it always stays on white.
![]() |