Next: Side-boundary analysis
Up: WAVEMOVIE PROGRAM
Previous: Time-domain analysis
The differential equation solved by the program is
| |
(53) |
For each -step the calculation is done in two stages.
The first stage is to solve
| |
(54) |
Using the Crank-Nicolson differencing method this becomes
| |
(55) |
Absorb all the constants into one and define
| |
(56) |
getting
| |
(57) |
Bring the unknowns to the left:
| |
(58) |
We will solve this as we solved
equations (37) and (38).
The second stage is to solve the equation
| |
(59) |
analytically by
| |
(60) |
By alternating between (58) and (60),
which are derived from (54) and (59),
the program solves (53) by a splitting method.
Formal justification of the splitting method follows in chapter .
The program uses the tridiagonal solver discussed earlier,
except the version here, ctris(),
has all the real variables changed to complex.
Figure 5 shows a change of initial conditions
where the incoming wave on the top frame is defined to be an impulse,
namely, p(x,z=0) = .The result is alarmingly noisy.
What is happening is that for any frequencies anywhere near
the Nyquist frequency,
the difference equation departs from
the differential equation that it should mimic.
This problem is addressed, analyzed, and ameliorated
in chapter .
For now, the best thing to do is to avoid sharp corners
in the initial wave field.
Mcompart
Figure 5
Observe and describe various computational artifacts by testing
the program using a point source at (x,z) = (xmax/2,0).
Such a source is rich in the high spatial frequencies
for which difference equations
do not mimic their differential counterparts.
|
| |
Next: Side-boundary analysis
Up: WAVEMOVIE PROGRAM
Previous: Time-domain analysis
Stanford Exploration Project
10/31/1997