Binary Neutron Star Collision

David Bock
NCSA Visualization and Virtual Environments
August, 1998


The Science
Computation simulating the collision of binary neutron stars.

The Scientists
Doug Swesty, NCSA
Alan Calder, NCSA
Edward Wang, NCSA

The Data 
Grid: structured
Dimensions: 132x132x132
Data: scalar, log of density, 218 time steps

The Visualization
David Bock, NCSA Visualization

Neutron Star Collision - MPEG movie (2 MB)
Neutron Star Collision - MPEG movie (2 MB) - gamma-boosted
Neutron Star Collision (Run 4) - MPEG movie (3.5 MB)
Neutron Star Collision w/ Gravitational Emmissivity

Stills from the movie at different time steps:
time = 1, 25

time = 50, 100

time = 150, 200

The Implementation
Original slices (shown here with various color-mappings) through this volumetric dataset, reveal a higher density region in the center of the volume surrounded by a lower density region:


In order to represent and reveal as much of the data as possible, we would like to visualize both the higher density "interior" and lower density "exterior" regions within the same representation.  To accomplish this, we would like to integrate different types of visualization primitives together in one scene -- 1) an interior color-mapped slice plane, 2) an isosurface (geometric primitive) near the boundary area between the two density regions, and 3) an accurate volume rendering of the entire region.

To accomplish this type of integration, we use Blue Moon Rendering Toolkit (BMRT) written by Larry Gritz.  We use BMRT to render all three primitives together in one scene.  We describe the various elements below.  Note the final images are NOT composites of three renderings but rather ONE render for the entire scene.

Volume Rendering
In order to volume render a dataset within BMRT, we need to develop a shader that will take as input the dataset and trace rays through the volume, collecting data-mapped color and opacity for the final pixel color.  Here we turn to the author of BMRT, Larry Gritz, who graciously provided a shader to accomplish this functionality.  We extend Larry's original shader to map the data samples within the volume to an input colormap.  Thanks again to Larry for his original concepts and help in this work.  Below is a sample image of the volume-rendering only with the associated colormap:

We need to shade this geometric primitive so we can see it's structure and see "through" the surface.  To accomplish this, we develop a shader to generate a "halo" effect on a surface by shading the surface in regions where the surface normal is perpendicular to the light direction within a given spread region about the normal.  Below is a sample image of the isosurface only shaded with this "halo" shader:


Color-mapped slice plane
We generate a standard color-mapped slice plane isolating the higher density region only.  Below is the slice plane only along with the associated colormap:

Volume rendering, Isosurface, Color-mapped slice plane
In order to see the interior slice plane, we ramp down the opacity value for the "hot" white color in the volume shader colormap, combine all three primitives, and render the entire scene in BMRT:


[Alliance] Alliance NCSA UIUC [NCSA]