| Welcome to StarCluster! |
|
StarCluster is a collection of tools and libraries for the analysis of data produced by N-body simulations of star clusters and related dense stellar systems, such as galactic nuclei. Internally, it is based on the libraries contained in the Starlab simulation environment, and these libraries are used for most nontrivial operations. However, its external data format is designed to allow easy interface with other N-body simulation programs.
StarCluster includes a restricted C++ Gnuplot API and an extensible set of tools that utilize Starlab's powerful N-body facilities for the analysis and visualization of N-body simulations. Gnuplot is used as a graphics engine to produce plots of various physical quantities, which may be extracted from the input datastream or calculated in real time using the Starlab back-end.
StarCluster expects input to be in one of two formats, the native Starlab "dyn" format, or a much simpler columnar ASCII format. The former is likely to be produced only by Starlab (kira) simulations; the latter is designed to extend StarCluster's usefulness as well as improve its I/O performance. In its simplest form, this format consists of eight ASCII columns of numbers:
id m x y z v_x v_y v_z
giving the id, mass, position and velocity of a particle on a single
line. The format is still evolving to allow inclusion of more complex
substructure. It also contains mechanisms for specifying global
system data and user comments. The StarCluster distribution includes
utilities for conversion between the two standard formats. It is our
expectation that users will have little difficulty generating (or
converting to) this mass-position-velocity format from a wide variety
of N-body simulations. Most Starlab utilities are capable of reading
or writing either format.
The number of potential "interesting questions" one might want to ask about N-body systems is virtually inexhaustible (well, we think so...). Currently, StarCluster contains only a few full-featured tools to explore some of the most obvious aspects of a dataset -- particle plots, Lagrangian radii, density and velocity profiles, and so on. Users are, therefore, encouraged to utilize the libraries provided and the Gnuplot API to write new modules that are more pertinent to their research. To this end, the package contains a number of short, simple examples that we hope, along with the more sophisticated tools, will serve as templates for future program development.
Note that, while portability to other UNIX environments has been an important consideration, StarCluster has so far been developed and tested primarily on Red Hat Linux systems. Furthermore, certain GNU utilities are required to build StarCluster even on a non-GNU/Linux platform. They are
Online documentation for programmers may be found here.
StarCluster is developed and maintained by Ernest Mamikonyan and Steve McMillan (Drexel University), and is distributed under the GNU General Public License.