William Davis - Summer '08 REU in Mathematics

Student Head of the Celestial Mechanics Group
Last edited by: William Davis - July 29, 2008 - wldavis2@illinois.edu


Partiview is a free, open-source software (FOSS) application developed by the NCSA, primarily Stuart Levy, as a viewer for sets of particle data. Our primary goal is to be able to use Partiview in a virtual environment to view data sets - the primary example I wish to use to demonstrate this is the Hayden Planetarium's Digital Sky, developed specifically for Partiview.

As of right now, Partiview's GUI relies on a GUI tool called Fast Light Toolkit (FLTK). This, of course, is unusable in Syzygy, as Syzygy applications have no visible user interface - they just display data. Therefore, the first step is to separate the FLTK from the guts of the application. After that, it should not be too difficult to port the viewer (which displays under OpenGL) into Syzygy.

More updates will follow as progress is made.

Update July 29, 2008:Much progress has been made on PartiSZG during the past couple weeks. Stuart Levy from the NCSA has done most of the coding in translating the Partiview application from FLTK to Syzygy. The following list iterates the fundamental changes made*:

  • Stuart created a set of Syzygy class files, one a subclass of arMasterSlaveFramework, that fill holes where the FLTK was extracted from. Doing so laid the foundation first, to which he added functionality piece by piece.
  • The primary method for getting Partiview data into PartiSZG is via command line arguments. Any such data set may be viewed in PartiSZG, as it is built to handle data in exactly the same way as Partiview. For using larger data sets in the cluster setting, however, another method may be more desirable.
  • The arMasterSlaveFramework class, called Ppszg , listens on port 8675 for plaintext input. The optimal input method is telnet, also developed by the NCSA. Using telnet, one can connect to the master computer of the cluster and issue commands to it (note that the slaves will refuse a connection).
  • The new PartiSZG will parse any commands read on the telnet connection dynamically - furthermore, any number of telnet connections are allowed, providing the capability for a certain degree of interactivity among multiple peers.
  • Using this method, we can load data files into PartiSZG using telnet, which may be optimal for large data files. However, this method has not yet been tested, and may not work optimally.
  • Furthermore, any run-time commands should also be parseable by PartiSZG - the "run" command has been proven to work in the cluster setting.
  • One of the major differences between Partiview and PartiSZG is its navigation control. No navigation has as of yet been implemented in PartiSZG - instead, it uses a default Syzygy "Joystick" control for navigation.
  • A further improvement may be to add an additional element of interactivity to the virtual environment control devices - i.e. mapping certain commands, such as "run" or "step", to the buttons on the control wand. This may or may not see fruition, as this REU is coming to a close.

*Note that as we operated using the Partiview CVS, all this has been done without destroying the original Partiview.