Contact details
The parallel TERRA code, which simulates mantle dynamics, generates very large amounts of data. Classic methods of visualising this type of 3D volume model do not cope with the mantle problem efficiently. The approach taken by MantleVis exploits the geometry inherent in the data organisation and uses a Beowulf cluster to render images derived from over 100 million data points.

The software runs on the NESSC supercomputer and on Helix, a parallel visualisation system at Cardiff University in Wales. MantleVis has also been used at Princeton University in the USA.

Several data domains are stored on each server (commonly 128 servers were used). The client sends out a request, such as a cross-section, to each server in turn. The servers respond by sending the coordinates of a 3D polygon back to the client along with the associated texture map required to paint the polygon. The client awaits all the server responses and then renders them into 3D space.
Circulation model (Huw Davis, Cardiff University)

MantleVis does not use MPI to pass messages between the client and multiple servers. There is no requirement for the client and servers to be located at the same site: MantleVis (or another visualisation tool based upon this technology) is an ideal candidate for implementation on a GRID. The work shown here was done outside any particular proposal and was not funded: the work was carried out in my own time.

Plume animation (Huw Davis, Cardiff University)
The software creates 3D views of the data including cross-sections and various types of surface. The user can interactively control the position and orientation of the visualised model. Clipping planes optionally remove parts of the model in front of cross-sections and several planes can be applied simultaneously. Data values are textured across graphical fragments by interpolation and a colour lookup table.

The client reads a list of requests from a text file and builds a menu to allow user control of display elements. The popup menu is attached to the right mouse button. The left mouse button is used to control model rotation and the middle button controls zoom. A 3D 'compass' is provided to help guide orientation around the model. Continents and tectonic boundaries are used to aid location finding.

Continental boundaries superimposed

Data domains inherited from TERRA

Interaction between connected servers and the single client happens within a separate thread of execution - the client employs one thread per server. The asynchronous nature of communication between client and its many servers reduces the possibility of a network bottleneck forming. Calculation results from a given server are sent to the client synchronously. Each server handles many data domains and each domain can potentially supply a display fragment to the client. A server creates the graphics instructions and data associated with a display request using one thread per domain. OpenGL display lists are used by the client to ensure only one network round trip per display request is required no matter how many times a particular view is selected.

[Home] [Software] [Department] [Collaborators] [Skills] [Publications] [Experience] [Personal] [Contact details]