Team for Advanced Flow Simulation and Modeling
For more information:
AHPCRC Bulletin: Winter/Spring 1997 - Volume 7 Number 1-2
AHPCRC Graphics Software
Wes Barris (AHPCRC-NetworkCS)
Computational scientists at the AHPCRC are running many complicated simulations which produce vast amounts of output data. Throughout the entire simulation process, graphics and visualization plays an important role. The process may begin by using graphics to create a model of the object being simulated. Graphics also makes it easy for scientists to interpret the resulting data. While each byte of data that a simulation produces is important, graphics and visualization is necessary because it allows the data to be reduced into a visual representation which makes data interpretation much easier.
One of the tasks of the AHPCRC graphics support personnel is to create a research production environment that makes it possible for AHPCRC researchers to generate visualizations without having to learn graphics technology. The creation of this production environment involves several key activities including software installation, ensuring that hardware and software is functioning properly, identifying and finding solutions to problems, answering questions, creating documentation, and most importantly, developing an easy-to-use suite of software tools which facilitates typical AHPCRC researcher tasks.
I. AHPCRC Software Applied to AHPCRC Research
In this preliminary simulation, a generic cargo aircraft is modeled and then meshed using automatic mesh generation software developed at the AHPCRC. This procedure involves three separate steps: first, the aircraft is modeled using an interactive geometric modeler; second, the smooth Bezier patches created by the modeler are automatically converted into triangular surface meshes; and third, the surface meshes are used to create a complete 3D unstructured mesh. The software components that perform these three steps are currently being incorporated into a single user- friendly general purpose modeling and mesh generation package. It will be described in further detail later in this article.
II. Other AHPCRC Software
Much of the AHPCRC developed software is freely available. Descriptions of these applications follow:
The main idea behind Bob was to squeeze as much interactivity as possible out of SGI graphics hardware. Using Bob on an SGI workstation to render volumes of sizes around 64 cubed will result in rendered images at one to ten frames per second. Data sets of this dimension and lower can easily be looked at in their entirety. For larger data sets, Bob gives the option of either rendering a part of the total volume, subsampling a larger section (e.g. view every third voxel), or waiting while the larger volume is rendered.
The application, which is being developed using X11/Motif and OpenGL, is being developed for several reasons. Most NURBS modelers do not support the structural relationships and geometric requirements of meshing software. Current mesh generation functionality at the AHPCRC (described in the Fall 1994 AHPCRC Bulletin) is spread across several applications and is "research quality," i.e. not fully user friendly. This application will meet the modeling requirements of the meshing software and allow integration of modeling, surface meshing, and 3D meshing into a single interface.
Bop (Bag-O-Polygons) is a data format designed for a large number of unstructured data elements. A library of routines is provided for reading and writing this data to disk files and into network messages called Bop-O-Grams. Additional routines allow this data to be shared across heterogeneous architectures.
Bop_View is an application developed to aid in the visualization of Bop information. Bop_View is an X11/Motif-based application that allows polygonal information to be viewed on several different devices. Using "mixed mode" programming techniques, Bop_View will take advantage of SGI Graphics Language (GL) if it is available. Otherwise, the polygons are rendered to an X11 window, an SGI RGB file, a BRL-CAD pix file, or a Postscript file. Because Bop_View utilizes XDR (External Data Representation) for network communications, networked polygons and commands need not originate from the same machine architecture. Bop_View currently executes on SGI and Sun workstations.
Media Tools is a collection of utilities, wrappers, and updates to existing tools to make them easier to use. They are divided into three categories: audio, MPEG, and image. Included in the audio section are two wrappers: aifctomp2 and play. aifctomp2 is a script which uses a publicly available MPEG2 audio encoder and several SGI utilities to make it easy to convert an AIFF or AIFC sound file into an MPEG2 audio file. play is a script which uses many tools (SGI, sox, tracker, maplay, etc.) to play almost any sound file format on an SGI workstation. Included in the MPEG section are two more wrappers: makempeg and mpegtosgi. makempeg uses the Stanford MPEG compression/decompression algorithm to convert a series of image files into an MPEG file. mpegtosgi uses this same codec to split an mpeg video file into a series of SGI image files. Included in the image section are movie and Web page creation utilities. Some examples of these utilities include scripts which use the SGI image toolkit to create smooth transitions between two images, scripts used to send image data to an Abekas A60 frame buffer, utilities used to create high quality text images using Display Postscript, and other text image special effects utilities.
The Wavefront font archive contains a utility used to create Wavefront geometry files from Type 1 Postscript fonts. Adobe Illustrator has the ability to be able to create text outlines from Type 1 fonts. If a document is created containing each character in a font, Illustrator can be used to turn those characters into polygonal outlines. This data may then be saved in Postscript format. The utility in this archive is able to read that Postscript file and produce geometry files of the characters in the font.
Icop is an interactive program that can be used to make computer-generated colors "legal" in the NTSC (or PAL) color systems. Often, images generated on the computer are made for use in simulations which ultimately end up on videotape. However, the range of colors (as specified by their RGB values) on a computer does not match the range of colors that can be represented using the NTSC (or PAL) systems. If an image with "illegal" colors is sent directly to an NTSC (or PAL) video system for recording, the illegal colors will be clipped. This may result in an undesirable looking picture. This utility will test each pixel in an image to see if it falls within the legal NTSC (or PAL) range. If not, the pixel's luminance and saturation is reduced so that it does fall within legal limits.
V-LAN Control Panels
A Motif-based interface to the Chromatek 9120 scan converter is also available. It provides a window "picking" capability which automatically sets up parameters on the scan converter to convert only the window specified.
Documentation is also an important aspect of AHPCRC software development. Documentation starts by creating a "man" page corresponding to a particular application. However, it does not stop there. Most software used and developed at the AHPCRC is also documented on the Web, and software tutorials are created so that the AHPCRC researcher has a place to look for more information. Another important part of software documentation is the instructions on how to build (or compile) the software on a different computer. This is important when packaging software to be placed on the AHPCRC anonymous ftp site. This way, other Army sites and the AHPCRC partner universities are able to easily download and build this software using the included instructions as a reference for installing the application.