Solving the full complex dispersion relation is somewhat tedious, and we will not try to explain this in detail here. Instead we will show results for two cases: first the Massillon sandstone (at 560 Hz) and then the Sierra White granite (at about 200 kHz). We might expect based just on the frequencies that the sandstone behavior will be close to that predicted by Gassmann, while that of the granite may differ from Gassmann.
An important observation concerning how to proceed with the analysis follows from the fact that we are seeking a curve in the complex plane, points along the curve depending on the level of saturation S. We know (at least in principle) the locations of the end points of this curve since they are exactly the points for full liquid saturation and full gas saturation. If we assume that the attenuation is relatively small so the wavenumbers ks and ks* have small imaginary parts, then to a reasonable approximation it is the case that the curve of interest lies close to the real axis in the complex kz2-plane. If the imaginary parts exactly vanish, the curve reduces to a straight line on the real axis in this plane. These observations suggest that it might be helpful to trace rays in the complex plane radiating out from the origin, and in particular a ray (i.e., a straight line) passing through the origin and also through the point corresponding to whichever point, ks2 or (ks*)2, happens to lie closest to the origin should provide a good starting point for the analysis. Another alternative is to consider the straight line that connects these two points directly, even though it would generally not also be a ray through the origin (except for the special case when there is no attenuation). Both of these alternatives have been tried.
The first alternative, a ray through the origin and then passing through the closest point ks2 or (ks*)2, has the very important characteristic that the values of the dispersion function become purely imaginary in the shadow of the starting point of the curve. This fact provides a great simplification because we need the dispersion function to vanish identically - both in real and imaginary parts, and this shadow region has the nice characteristic that the real part is automatically zero. So the only remaining issue is to check where the imaginary part vanishes. This procedure is much easier to implement and to understand intuitively than trying to find the complex zeroes using something like a Newton method, which could also be implemented for this problem.
The second alternative is not as rigorous as the first, but for the
case of small attenuation gives very similar results and is especially
easy to implement. In this case we need only consider the line
connecting the two points ks2 and (ks*)2 in the complex plane.
It turns out that in the two cases considered here, the real part of the
dispersion function is again either zero or very small, so that it
makes sense to treat this approach as an approximation to the first
one in that we need only seek the points where the imaginary part
vanishes. This procedure is very intuitive and examples are shown
in FIGS. 5 through 8.