This HTML automatically generated with rman for NEMO
Table of Contents


program -opt [val] .!.!.

program --help


Starlab is a software package for simulating the evolution of dense stellar systems and analyzing the resultant data. It is a collection (currently about 200) of loosely coupled programs (‘‘tools’’) linked at the level of the UNIX operating system. The tools share a common data structure and can be combined in arbitrarily complex ways to study the dynamics of star clusters and galactic nuclei.

Starlab features the following basic modules:

* Three- and four-body automated scattering packages, constructed around a time-symmetrized Hermite integration scheme.

* A collection of initialization and analysis routines for use with general N-body systems.

* A general Kepler package for manipulation of two-body orbits.

* N-body integrators incorporating both 2nd-order leapfrog and 4th-order Hermite integration algorithms.

* Kira, a general N-body integrator incorporating recursive coordinate transformations, allowing uniform treatment of hierarchical systems
of arbitrary complexity within a general N-body framework.

* SeBa, a stellar and binary evolution package, allowing to follow in time the evolution of any star or binary from arbitrary start
conditions. The package is fully implemented within kira in a
comprehensive and transparent fashion.

A novel aspect of Starlab is its very flexible external data representation, which guarantees that tools can be combined in arbitrary ways, without loss of data or internally-generated comments. Thus, two tools connected by UNIX pipes may operate on different portions of the same data set, even though neither understands the data structures, or even the physical variables, used by the other. Unknown data are simply passed through unchanged to the next tool in the chain.


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

makeplummer -n 500 -i

2. 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

makeking -n 500 -w 5 -i -u \
   | makemass -F Miller_Scalo -l 0.1 -u 20 \
   | scale -m 1 -e -0.25 -q 0.5 \
   | xstarplot -l 5 -P .5

3. 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


Within NEMO the command

mknemo starlab

should be able to install starlab. See $NEMO/src/scripts/mknemo.d/starlab for the implementation.


$NEMO/src/scripts/mknemo.d/starlab - example install script (can be run via
$NEMO/local/starlab - root of source code after install - source code since 2022/23

See Also

nemo(1NEMO) , zeno(1NEMO)


Piet Hut, Steve McMillan, Jun Makino, Simon Portegies Zwart


Starlab was preceded by NEMO, and arguably succeeded by AMUSE.
1.0, the original version, June 1993
1.1, bug fixes and enhancements to 1.0, March 1994
2.0, January 1995
2.1, first version of kira, mid-1995
3.0, initial implementation of stellar and binary evolution, mid-1997
4.0, major internal reorganization and algorithm development
4.4.4 starlab preserved via github (2022/23)

Table of Contents