Elastic Finite Differences with Convolutional Operators
, by Peter Mora
The solution of the two dimensional elastic wave equation is well known by
the finite difference method. Practical points of interest are how
to parametrize the elastic wave equation and how
to design the spatial derivative operator. A perfect spatial derivative
operator can be achieved by Fourier transforming, multiplying
by ik and inverse transforming. This requires the minimum computer storage.
Alternatively, the derivative can be computed by a convolution in the space domain. As the length of the space domain derivative operator becomes greater, the accuracy improves and there is less grid dispersion. The cost of this improved accuracy is more CPU and finally, there is a length where the convolutional operator becomes slower than the Fourier derivative. If the size
of the problem is fixed, say a simulation in a 4km by 2km block
with velocities and frequencies such that the minimum wavelength is .1 km, then to obtain a desired accuracy there is some hardware dependent optimal derivative operator. On the CRAY-1 and CONVEX-C1 the optimum is a convolutional operator
that is about eight points long (the Fourier derivative method
is significantly slower). I present an easy way of designing convolutional derivative operators not based on Taylor's expansions. Also, I describe a method of elastic finite differences based on the stress equations of Kosloff et al. But where the derivative operators are centered half way between gridpoints
enabling more accurate short derivative operators to be designed. Centering half way between gridpoints is also useful when using perfect Fourier derivatives
because the space domain representation is more local thereby decreasing
annoying spatial Nyquist energy.