Results

The results achieved to date have been very promising. Unfortunately, one of the difficulties has been obtaining accurate contour data. Many commercial packages display very accurate contours if enough points are requested, but outputting the data and translating it into boundary data that can be input into grid generation code can be a time consuming process. The grid on the right in Figure 3 has a boundary formed by connecting the $Z=5$ contour curves of Airy function $\vert\mbox{Bi}'(z)\vert$. Although a simple transfinite interpolation map was used to create the boundary fitted mesh shown, a modified map which interpolated selected interior curves was used to ensure that grid lines hit the zeros of the function.

Figure: Contour curves where $Z=5$ and Contour mesh.
\includegraphics[width=2.0in]{contour} \includegraphics[width=2.3in]{grid}

After computing the function over the contour mesh, the data was translated to VRML format to obtain the display in Figure 4.

Figure: $\vert\mbox{Bi}'(z)\vert$.
\includegraphics[width=3.5in]{bip0_2}

Both transfinite interpolation and the tensor product algorithm were used to obtain the remaining grids shown. Very little difference could be detected in the grids developed by each method because the quality of the transfinite grid was such that little or no optimizing was needed to obtain a smoother grid. The main advantage of the tensor product algorithm would appear when transfinite interpolation produces a grid in which the lines overlap. The optimization code in the tensor product program could then be used to eliminate the overlap and produce less skewness and more orthogonality. Although the spacing was uneven in most of the grids because of the fixed points on the boundaries, the problem did not appear to be enough to effect the smoothness of the shading when the data was translated to VRML format. The requirement for orthogonality and smoothness is probably less stringent than it would be if the grids were being used to solve computational fluid dynamics problems. In any case, the tensor product code is capable of producing smoother grids if necessary.



The last figures show contour meshes and surfaces obtained for the gamma function defined on the complex plane and for a special type of Bessel function called the Hankel function. In both cases the mesh was formed by reflecting a grid defined for $y<0$ along the $y=0$ axis. An exponential function is used to concencentrate the grid points around the contour boundary.

Figure 5: Contour mesh for Gamma Function.
\includegraphics[width=3.5in]{gammamesh}

Figure 6: Gamma Function.
\includegraphics[width=4.3in]{gamma}

Figure 7: Contour mesh for Hankel function
\includegraphics[width=3.5in,height=3.5in]{hankel3grid}

Figure: Hankel function $\vert\mbox{H}^{(1)}_{3.5}(z)\vert$
\includegraphics[width=4.3in]{hankel3}

From 2D to 3D: Numerical Grid Generation and the Visualization of Complex Surfaces
Bonita Saunders - Qiming Wang
Translated by Bruce R Miller on 2000-11-08
Comments? DLMF_feedback@nist.gov
Digital Library of Mathematical Functions