The unsteady flow past an F18 fighter at high angle of attack is simulated by the COBALT Navier-Stokes code. The simulation was done by the flight dynamics group at Wright Paterson Air Force Base in Dayton Ohio. The researchers used the computers at the Aeronautical System Center Major Shared Resource Center (ASC - MSRC). The simulation produced several Gigabytes of field data. The goal of this project is to use visualize the time history of the solution.Cobalt data is similar to plot3d data in that there exists separate grid and solution files. The grid file consists of a point list followed by the connectivity of cell faces. The cell indices on either side of a face is also included in the input. In the case of the F18 all the cells were tetrahedral. Cobalt uses cell centered flow field values. This type of grid description is natural for the solution of conservation law problems but inadequate for visualization needs. The grid file was translated into a point list and cell connectivity list for input into VTK. This process also reduced the input grid size from about 500 Mbytes to around 175 Mbytes. The grid consists of 1,144,921 points which describe 6,623,997 cells. The grid is unstructured.
The separate solution files simply define six scalar quantities at each of the points. Cobalt interpolates the cell centered values to the edge points at great reduction in resolution ( ~ 6 Million cells vs ~ 1 million points). The scalars are: density, cartesian components of velocity, pressure, and a user specified free variable. The solution file also contains reference quantities. Each solution file is 55 Mbytes in size. There are currently 200 solution files for a total of about 11 GBytes of data.
I chose to use the Visualization Toolkit for this project for several reasons. The first reason was my familiarity with the package. VTK is also highly customizable. One can create user tools with scripting languages that use VTK functionality to create images. This capability was attractive because I knew I would have to script the creation of the individual frames due to the large volume of data. Other candidate software included AVS, Ensight, and Fieldview. Each has most of the required functionality but each would require work to be able to read the Cobalt input files and I would have to do that with VTK anyway. With VTK I could create a tool specifically for the Cobalt data. This is something that I felt would be more difficult to do with the other packages. It could have been done with AVS Express but I am not very familiar with that package and there was the deadline of SC99 for the animation.
The time dependent nature of the solution and the relatively large volume of data are the driving factors in this project. Initially the goal was to create an animation of the total pressure isosurface as an indicator of the behavior of the Lex vortex. Work began with the conversion of the face description grid file to a more VTK friendly cell description. Initially the solution data was blended in with the grid and written to a file in VTK unstructured grid format. This was done in order to create a simple way to input the data. Unstructured grid readers already exist in VTK and I didn't have to write a custom reader right off the bat. I could now proceed to generate some visualization pipelines to get a look at the data on an individual frame basis. This approach would not be satisfactory for the animation because it would create a series of large files with redundant data (the geometry) that would have to be read in for each new frame. This would be inefficient in the animation code and in the time required to create 200 new vtk files. This issue was handled by using the ability of vtk to merge data.
Some initial images give some idea of what is going on in the flowfield and also some feel as to how long an
individual image takes to construct. The first image below shows the general arangement of the f18 surface. The
geometry is complex with several stores and pylons. The surface is colored by pressure.
![]()
The next image shows some off surface data in the form of a contoured cutting plane. The pressure is contoured at even intervals. The scalar is again the pressure.
![]()
The next image shows some off body stream lines. The source for the lines is a seed plane located just over the lex. The surface is colored by pressure again and the color map is different than that used in the previous images. The streamlines are also colored by pressure although it is less noticable. We have also reflected the model across the y=0 plane.
![]()