A package for simulating the evolution of dense stellar systems

Version : 4.3.2

Author(s) : Piet Hut (IAS), Steve McMillan (Drexel U.), Jun Makino (U. Tokyo) Simon Portegies Zwart (U. of Amsterdam)

License : GPL

Website : http://www.sns.ias.edu/~starlab/starlab.html

Installs from Open Source Astronomy for Linux cd 3

Disk space required for installation is 3.07 Mb

After the package is installed it can be accessed using the command

/opt/astro/bin/startstarlab

A shortcut will be installed in the KDE/GNOME desktop menu system,

as an entry in the Astronomy submenu

All stellar-dynamical $N$-body simulations rely on sophisticated integration schemes to follow the motion of all particles in the system under study. It is the job of the $N$-body program to deliver a faithful representation of the dynamical evolution of the system, along with information on all stellar interactions of interest, to the user, subject only to the fundamental limitations imposed by the chaotic equations of motion and the laws of physics. It is becoming increasingly clear that, in order to make detailed comparisons between simulations and the high-quality data now available, $N$-body (and perhaps also detailed Monte-Carlo) simulations are really the only viable option.

Performing $N$-body simulations is already is a complex and demanding task. However, generating data is only half the job. The other half of the work of a computational theorist parallels that of the observer, and lies in the job of data reduction. As in the observational case, a good set of tools is essential, and unless the tools can be used in a flexible and coherent software environment, their usefulness will be severely limited. Three requirements are central in handling the data flow from a full-scale globular cluster simulation: modularity, flexibility, and compatibility. Starlab incorporates these three requirements.

To some extent, Starlab is modeled on NEMO, a stellar dynamics software environment developed six years ago at the Institute for Advanced Study, in large part by Josh Barnes, with input from Peter Teuben and Piet Hut (and subsequently maintained and extended by Peter Teuben). Starlab differs from NEMO mainly in the following areas: it emphasizes the use of UNIX pipes, rather than temporary files; its use of tree structures rather than arrays to represent $N$-body systems; and its guarantee of data conservation---data which are not understood by a given module are simply passed on rather than filtered out.

How to perform specific common tasks using Starlab tools. --------------------------------------------------------

Note: Most tools are just simple interfaces onto the corresponding library functions, so the tasks listed below could in principle also be carried out by compiled programs rather than by pipes. However, the use of pipes is in many ways clearer and much more flexible.

For more information on Starlab tools, see the file TOOLS in this directory. For details on a specific tool, type

tool-name --help

* Create a linked list of 100 equal-mass nodes of unit total mass

mknode -n 100 -m 1

* Create a system of 100 nodes with a Salpeter mass spectrum with masses in the range 0.5 to 10

mknode -n 100 | mkmass -f 1 -x -2.35 -l 0.5 -u 10

* Create a system of 100 nodes with a mass spectrum and evolve the stars without dynamics

mknode -n 100 | mkmass -f 1 -x -2.35 -l 0.5 -u 10 | ???Simon???

* Create a 500-particle Plummer model, with numbered stars, scaled to standard dynamical units

mkplummer -n 500 -i

* Create a 500-particle W0 = 5 King model, with numbered stars, unscaled

mkking -n 500 -w 5 -i -u

* Create a 500-particle W0 = 5 King model with a Miller-Scalo mass spectrum between 0.1 and 20 solar masses, then rescale to unit total mass, total energy -0.25, and virial ratio 0.5 and display the results graphically

mkking -n 500 -w 5 -i -u \ | mkmass -f 2 -l 0.1 -u 20 \ | scale -m 1 -e -0.25 -q 0.5 \ | xstarplot -l 5 -P .5

* Create a 500-particle W0 = 5 King model with a Miller-Scalo mass spectrum between 0.1 and 20 solar masses, add in a 10 percent 1-10 kT binary population, then rescale to unit total mass, total energy (top-level nodes) -0.25, and virial ratio (top-level nodes) 0.5, and finally verify the results by analyzing the final snapshot

mkking -n 500 -w 5 -i -u \ | mkmass -f 2 -l 0.1 -u 20 \ | mksecondary -f 0.1 -l 0.25 \ | mkbinary -l 1 -u 10 \ | scale -m 1 -e -0.25 -q 0.5 \ | sys_stats -n -s

* Evolve this model without stellar evolution for 100 dynamical times, with log output ever dynamical time and snapshot output every 10 dynamical times, with a self-consistent tidal field, removing escapers when they are more than two Jacobi radii from the cluster center

mkking -n 500 -w 5 -i -u \ | mkmass -f 2 -l 0.1 -u 20 \ | mksecondary -f 0.1 -l 0.25 \ | mkbinary -l 1 -u 10 \ | scale -m 1 -e -0.25 -q 0.5 \ | dstar_kira -t 100 -d 1 -D 10 -Q -G 2

* Create a King model with a power-law mass spectrum and a binary population, then evolve it with stellar and binary evolution

mkking -n 500 -w 5 -i -u \ | mkmass -f 1 -x -2.0 -l 0.1 -u 20 \ | mksecondary -f 0.1 -l 0.1 \ | addstar -Q 0.5 -R 5 \ | scale -M 1 -E -0.25 -Q 0.5 \ | mkbinary -f 1 -l 1 -u 1000 -o 2 \ | dstar_kira -t 100 -d 1 -D 10 -f 0.3 -n 10 -q 0.5 -Q -G 2 -S -B

* Perform a series of 100 3-body scattering experiments involving an equal-mass circular binary and a double-mass incomer, with impact parameter equal to the binary semimajor axis, relative velocity at infinity half that needed for zero total energy, and all other parameters chosen randomly, and display the results as a movie

scatter3 -m 0.5 -e 0 -M 1 -r 1 -v 0.5 -n 100 -C 5 -D 0.1 \ | xstarplot -l 4

* Compute cross-sections for interactions between a circular binary with component masses 0.75 and 0.25 and an incoming star of mass 1 and velocity at infinity 0.1, all stars having radius 0.05 binary semimajor axes

sigma3 -d 100 -m 0.25 -e 0 -M 1 -v 0.1 -x 0.05 -y 0.05 -z 0.05

* Create a scattering configuration involving a head-on collision between a circular binary and a stable hierarchical triple, and verify the result

mkscat -M 1.5 -r 0 -v 1 -t -a 1 -e 0 -p -a 1 -e 0 -p1 -a 0.1 -e 0 \ | flatten | make_tree -D 1 | pretty_print_tree

* Create a scattering configuration involving a head-on collision between a circular binary and a stable hierarchical triple, and integrate it forward in time

scatter -i "-M 1.5 -r 0 -v 1 -t -a 1 -e 0 -p -a 1 -e 0 -p1 -a 0.1 -e 0" \ -t 100 -d 1 -v

(etc.)