CS 6630 - Scientific Visualization: Project 5

Chelsea Robertson
croberts@cs.utah.edu
December 8, 2005

Part One: Test Volumes

The first script (testVec.tcl) produces a vector field from the given test volume. Each of the three test volumes contain one critical point at 15, 15, 15. Streamlines and glyphs are used to show the behavior and shape of the vector field. The GUI shown below allows the user to switch between the three test volumes.

VTK Pipeline

Below are two images of each of the test volumes. The images on top are of the overall field, and the bottom image zooms in on the critical point to show the behavior.

The critical point in the first vector field is a repelling node. The critical point in the second vector field is a saddle point. The critical point in the third vector field is an attracting focus.

Part Two: Challenge Volumes

This next script (chalVec.tcl) was used to produce a vector field for the challenge volumes. (Note: In order to run this script, you have to type "vtk chalVec.tcl chalVec0 div" or "vtk chalVec.tcl chalVec1 div") First, I found the locations of the critical points by isosurfacing the scalar magnitude of the scalar field. Then I used glyphs to show the behavior around the critical points. This allowed me to identify the type of nodes occuring at the critical points. Below is a table summarizing the critical points of both of the challenge vector fields.

Dataset Number of Critical Points (X, Y, Z) Location Type of Node Magnitude
ChalVec0

4

16, 17, 25

25, 15, 19

17, 25, 14

40, 26, 31

Saddle

Repelling Focus

Saddle

Center

Low

High

High

Low

ChalVec1

5

20, 30, 19

35, 14, 21

55, 15, 19

65, 45, 20

46, 45, 20

Repelling Focus

Center

Center

Center

Center

High

Low

Low

Low

Low

VTK Pipeline

The pipeline for the challenge volumes is similar to the vtk pipeline for the test volumes. The only difference is that it contains the leftmost portion of the pipeline for each of the critical points.

GUI

The GUI allows you to control many aspects of the vector field. The first button allows you to display all the critical points. When it is not selected, only the streamlines for the critical point specified by the sliders are shown. The next button shows the glyphs for the critical point specified by the sliders. To view the other critical points with glyphs, the user can change the sliders to the given values above. There is also a button to show the isosurfaces. The vector magnitude for the given isosurface can be changed using the slider below the buttons.

Below are images of the visualization for ChalVec0. The top two images are zoomed in on two different critical points. These show the type of critical point using streamlines and glyphs. On the left is a saddle point, and on the right is a repelling focus. Below these images are two more, showing the large-scale structure of the vector field. In each of these images, the corresponding node is highlighted using glyphs.

Below are images of the visualization for ChalVec1. Similarly, the top two images are zoomed in on two different critical points, and the bottom images show the large-scale structure of the vector field. The image on the left shows a saddle point, and the image on the right shows a center point.

Part Three: Divergence, Curl, Curl Magnitude

Definitions

Divergence

In order to color the isosurfaces with the values from the divergence field, the script is run by the following commands "vtk chalVec.tcl ChalVec0 div" or "vtk chalVec.tcl ChalVec1 div".

The visualization demonstrates the difference between positive and negative divergence because the colormapping is a reverse rainbow. So the isosurfaces with low divergence map to blue and purple and those with high divergence map to red. Below are images showing locations where the divergence is strongly positive and negative. The top row contains images from ChalVec0 and the bottom row contains images from ChalVec1. The images in the left column have a positive divergence. Both images contain a repelling focus, so it makes sense that they have a high divergence. The right column contains images with a negative/low divergence. These are both center points, so there isn't very much divergence happening there.

What is the relationship between the vector magnitude and the divergence?

Divergence and vector magnitude appear to have a direct relationship. A low divergence leads to a low vector magnitude. Likewise, a high divergence results in a high vector magnitude.

Curl

In order to visualize the vector field with the isosurfaces colored based on the values from the curl magnitude field, the script is run by the following commands "vtk chalVec.tcl ChalVec0 curl" or "vtk chalVec.tcl ChalVec1 curl". Now, in order to visualize the curl vector field, the script is run by "vtk chalVec.tcl ChalCur0 curl" or "vtk chalVec.tcl ChalCur1 curl".

Similar to the isosurfaces colormapped using divergence, red represents a high curl and blue/purple represent low curl. Below are two sets of images showing a non-critical point location where the curl magnitude is high (red) and the vector magnitude is low. The first row of images shows a point from ChalVec0. On the left is an image showing the vector field. It is clear that there is a high curl from the lines and glyphs in this image. On the right is an image showing the curl vector field. The bottom row contains images of a point in ChalVec1. Similarly, on the left is an image of the vector field and the right is an image of the curl vector field.

Describe how your visualizations demonstrate the relationship between the direction of the curl vector and the local changes in the vector field.

The visualizations clearly show the relationship between the direction of the curl vector and the changes in the vector field. The vector field shows the direction of the curl using the streamlines and glyphs. The curl vector field shows the direction of the curl vector. The top, right image shows that the direction of the curl vector is going back and forth and up. It is hard to see the back and forth movement from the angle of the image. However, the bottom, right image shows the direction of it's curl vector more clearly. You can see from the bottom, left image that it is going up and toward the right. This is evident by the direction of the vectors in the curl vector field in the image on the right.

Derivative Global Viz

Below are images of the overall vector field structure including the new point from the curl section above. The top row contains images of the ChalVec0 volume. On the left is an image indicating the divergence through the colormapping of the isosurface. On the right is an image showing the curl through the colormapping of the isosurface. The bottom row contains similar images for the ChalVec1 volume.

Does showing divergence and curl information help give a better "picture" of the over-all structure of the field?

Yes. The addition of divergence or curl information can add meaning to the visualizations. Visualizations with divergence information can show areas of low or high divergence. This may not be immediately obvious from just streamlines. Also, including curl data with the streamlines and glyphs gives information that isn't quite as easy to see using just the streamlines and glyphs. Divergence and curl can show completely different patterns in the flow field that aren't there with just the streamlines.