Students, professor work to create a software program to produce real-time visualizations of seismic simulation data

Colin Braley of Oakton, Va., a junior computer science major in the College of Engineering, Robert Hagan of Richmond, Va., a senior, double majoring in computer science and mathematics in the College of Science, and Yong Cao, assistant professor of computer science, are working with researchers at the University of California, Santa Barbara to create a software program that will produce real-time visualizations of large amounts of seismic simulation data using volume ray casting.


Volume explorer This is part one of the program, which gives an idea of what the final image will look like. The program is used to interactively move around and rotate the 3-D earthquake simulation data and see what it looks like interactively.

To understand how earthquakes propagate and what areas will be most damaged by earthquakes, Chen Ji and Ralph Archuletta, researchers and professors in the Department of Earth Science at University of California, Santa Barbara, have used sophisticated sensors to detect movement in earth’s crust in several areas around California.  They have then filled in the gaps in this data using simulations run on a super computer at the San Diego Supercomputing Center.

According to Earthquake Country Alliance, southern California has thousands of earthquakes every year, some are damaging, but most are barely felt. It is therefore critical to be prepared for repercussions of these earthquakes, especially possible damage to buildings, homes, and other structures.

 “For earthquake scientists, they really need such tools to make their work much easier (and) efficient to be able to do the research,” said Cao, who came to Virginia Tech in 2007. “There will be a big workflow change for these scientists on how to estimate their model and reboot their model again and again. They don’t need to wait two days for these things. They should get them instantly.”

University of California, Santa Barbara has “software they’ve written that generates really large data sets that tells you how fast the earth’s moving at a certain point,” said Braley, who is also pursuing minors in mathematics and sociology. “They are having trouble trying to visualize those on regular computers and they can’t deal with all the amounts of data, so we’re working on a program for them to visualize the data using some new technology and techniques.”


semi-transparent volume rendering This is a semi-transparent volume rendering of a small bit of data that is similar to the earthquake data received from the University of California, Santa Barbara. However, according to Braley, this data is much smaller and mush less complex.

Braley, Hagan, and Cao are writing a C++ application, which is a collection of programming functions, objects, and declarations, to visualize iso-surfaces in seismic data using volume ray casting.

Using this technique, “we can view how the earth’s surface changes over time and visualize the surface so they can see if there’s going to be an earthquake and what risks are involved there,” Hagan said.

Volume ray casting is a technique for computing two-dimensional images from sampled three-dimensional data. The data on the grid, or voxels, and the viewpoint, or the eye, are points in 3-D space. For each pixel on the image, a ray is cast into the voxel data and sampling points along the ray are selected. The vector magnitude is sampled using trilinear interpolation, which estimates the value of a point in the data linearly. The voxel value for each ray is mapped and colored using a diffuse shading model.


sphere test This is a test of seeing how well the program will create an image of a spherical iso-surface. According to Braley, the image looks very much like a sphere, but there are still some jagged lumpy lines, and the sphere does not look 100 percent smooth. Once it looks smooth, he will know the code he wrote is working better.

According to Cao, in this case, each data point on the grid represents earthquake wave velocity and direction. The ray will go through “and find out what this earthquake wave data looks like and where it will intersect with this earthquake wave and tell where it is,” he said.

The software program will hopefully “be able to visualize the big grid and show, maybe in red, the areas that are the most damaged, and green, the areas that aren’t going to be damaged as much,” Braley said. “Eventually, it will create little movies that will show which areas will be most damaged at certain times.”

Braley and Hagan have the prototype that runs an algorithm on the computational processing unit (CPU), almost working completely. The next step is to improve the performance by porting the CPU code onto the graphics processing unit (GPU) through the CUDA, the compiler and developmental tools developed by the NVIDIA Corporation.

“With the GPU research that we’re doing, if we can get a new algorithm going, it will vastly speed up volume rendering and help people visualize this data a lot quicker,” Hagan said. “This will help a lot because it will help people see how the earth’s surface is changing and help predict earthquakes.”

About computer science research

The Department of Computer Science in the College of Engineering has an accredited undergraduate program and a graduate program that was one of Computerworld’s “Top 10 IT Schools to Watch” in 2008.

Research is conducted in 10 labs, two centers, and within four facilities in 11 subject areas. Areas include

There are also 10 research groups in the department, including

About Yong Cao

Assistant professor Yong Cao received his bachelor of science in computer science from the University of Science and Technology of China, his master of science in pattern recognition and intelligence system from the Institute of Automation, Chinese  Academy of Sciences, and his Ph.D. in computer science from the University of California, Los Angeles.

He has written and contributed to 15 publications over his career. Some include

Cao's other research projects

Cao conducts research in five subject areas:

  • Character animation,
  • Machine learning for motion synthesis,
  • Parallel and hybrid computing for animation,
  • Interactive design for computer games, and
  • Computer simulation for education and training.

Watch demo videos of his research projects.

Did you know?

  • Southern California is known to have many earthquakes caused by tectonic stress along the San Andreas fault (The Columbia Encyclopedia).
  • California is also vulnerable to other natural disasters including heavy flooding , wildfires, and landslides (The Columbia Encyclopedia).
  • The computational processing unit’s (CPU), the “brains of the computer,” microprocessor class has overtaken all CPU implementations since the 1970s. (Webopedia).
  • Graphics processing units (GPU’s) were first created by NVIDIA, inc. (Webopedia).
  • According to NVIDIA, use of the GeForce GPU in a PC can improve overall system performance by up to 48 percent.

Spotlight Archive

Look through previous Spotlight stories

Access the archives