For more information:
Interactive Visualization of 3D Finite Element Data
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
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
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
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.
Figure 7. 3D mesh from a hexahedral mesh which defines a