Team for Advanced Flow Simulation and Modeling


Research Overview

Research Highlights


Takizawa Lab

Undergraduate Research

TAFSM Featured

TAFSM Recognized

Publication, Preprints

Currrent Team Members

Collaborators, Ex-Members

AHPCRC, History


Next FSI short course

For more information:

Interactive Visualization of 3D Finite Element Data

Brian Matheis

Principal Investigator:
Professor Tayfun E. Tezduyar, T*AFSM

The project "Interactive Visualization of 3D Finite Element Data" involved writing a program that allows the user to view the finite element mesh in a variety of ways. Being able to have a clear idea of the size and shape of the mesh is very important in interpreting the meaning of the results from the flow solver. My partner in the project, Michelle Viera was responsible for creating a program to look at these results in a number of ways. My part was simply to represent the mesh. The main code of the program was written in C, and we implemented Tcl/Tk for the Graphical User Interface and OpenGl for the graphics. The code can handle either tetrahedral or hexahedral meshes, and both must be in 3D. My advisors came up with three basic ways to view the mesh. These included creating a 2D mesh from the 3D, creating an interior contour or surface of the 3D mesh at some location, and simply displaying the mesh within a given volume. Along with these requirements, it was also desired to be able to display the boundaries of the mesh in either of three forms, with polygons shaded, with the polygons outlined, and also with the polygons both shaded and outlined. This first image is of the mesh of a helicopter, with the boundary polygons both shaded and outlined. This is probably the most effective way to view the boundary as the user can see the different polygons without interference from background lines as in the wireframe case.

In this project, Mr. Matheis was helped by Drs. Andrew Johnson and Shahrouz Aliabadi, at that time both research associates supervised by Tezduyar.


Figure 1 A model of a helicopter with the surface faces shaded in and outlined.

The second image here is of the same helicopter, this time with the blade removed and shown as a wireframe instead of as both shaded and wireframe. You can see that this mode can make it difficult to view the mesh because of interference from the background lines.


Figure 2. The same helicopter as shown in Figure 1, but this time the surface faces are not shaded, they are outlined in their respective color.

The first method for viewing the mesh held within the volume was to create a 2D mesh by simply specifying the location of some plane, and cutting each edge of the mesh at that location. This method creates an odd looking mesh like that shown in the following figure. This is once again using the helicopter image, with the cutting plane pretty much right down the middle of its long axis. In the program, this 2D mesh is diplayed in a separate 2D window and the user is allowed to interact with it by zooming in or moving over top of it.


Figure 3. 2D mesh created from a helicopter 3D finite element mesh. It can be seen that the elements are very small at or near the helicopter surface.

Figure four is also a 2D mesh but this one is of a parafoil instead. Information such as, "where are the elements the smallest or finest?" is very important to the researcher as this can help to interpret results from the flow solver. It is also important that the mesh elements are small where there is interest in the way the flow is acting but large elsewhere. If all elements were small, this would adversly affect computer performance.


Figure 4. 2D mesh created from the cross-section of a parafoil. A mesh such as this could be used to do 2D spanwise simulations of the parafoil.

The second method for displaying the mesh is to create an interior contour or surface from it. This is done in the same way in which a 2D mesh is created, except that this time, instead of cutting the mesh at that point exactly, the nearest face is chosen at each location and is diplayed. This generally serves the same purpose as the 2D mesh, except that an interior surface gives the user a better idea of the third dimension. Figure 5 is an interior surface created from a mesh which defined a number of spheres, which are obviously represented as circles in 2D. The user can see the sizes of all of the elements at each point. To get a better view of the interior surface though, the user can rotate and zoom it to get a number of different views of the surface.


Figure 5. This is an interior surface created from a mesh which defines a bunch of spheres. The white circles are where some of the spheres were located.

Figure 6 is an example of this. Figure 6 is the same interior surface shown in Figure 5, but it has been rotated almost flat, zoomed in, and the surface is displayed as both shaded and wireframe at the same time. This provides a great 3-Dimensional view for the user, and this can be done at any location in the object.


Figure 6. The same interior surface shown in Figure 5, but rotated so that the user is position just above the surface, looking down. The faces are shaded and outlined to allow easy viewing.

The third and final method of viewing the mesh is to simply display the entire 3D mesh within a given volume. A small enough volume must be chosen or else the resulting mesh would look like a series of random lines. Figure 7 is taken from a hexahedral mesh which defines a simple box. A hexahedral mesh was chosen in this case because it is more structured and the mesh is much easier to view.

A 3D Mesh

Figure 7. 3D mesh from a hexahedral mesh which defines a simple box.