University of Washington N-Body Shop
OVERVIEW OF SKID
  N-Body Home  About Us    Search    Contact Info 
 

 General Description
 Unbinding Procedure
 The Output Files
 Release 1.3 New Features
 Obtaining and Building SKID
    

General Description

SKID finds gravitationally bound groups in N-body simulations. The SKID procedure for finding groups is as follows:
  1. Decide which type of particles are to be grouped. This could be either dark matter particles, gas particles, star particles or gas and star particles depending on what is in the input tipsy binary file.
  2. Calculate the densities (same method as used by smooth) of these particles (those considered for grouping only) and keep those which satisfy a certain cut criterion. Call these particles the moving particles. The cut criterion depends on the type of particle. For dark matter particles, keep only those with densities greater than or equal to a minimum density specified by the user. For gas particles, keep only those satisfying the minimum density criterion and in addition those satisfying a maximum temperature criterion (again specified by the user). In effect we keep only the cold dense gas. For star particles there is no extra criterion, they are all considered as moving particles.
  3. Now we slide these moving particles along the initial density gradient toward higher density (hence moving). If particles move less than a user specified distance (eps) over several iterations they are no longer moved as they are now oscillating in a high density well.
  4. This process of moving particles continues until all the particles stop moving and are localized in eps sized, high density regions.
  5. Next we group together these localized particles using the friends- of-friends method with a linking-length of eps. Note that two high density regions seperated by less than about 2*eps will be grouped together by this method. This forms the initial groups of particles.
  6. We reject groups with less than a user specified minimum members number of particles.
  7. Now particles which are not bound to their group are removed from the group, by the unbinding procedure (to be discussed in more detail below).
  8. One more rejection of groups with less than minimum members number of particles is performed and various group information (to be discussed below) is written to three different output files.
There are seven possible types of tipsy binary files. The SKID program will group different types of particles depending on the type of input binary file. Here is how SKID groups particles for each case:
  • Dark matter only: density and density gradients are calculated from all the particles, and the moving particles are those meeting the minimum density criterion.
  • Gas only: density and density gradients are calculated from all the particles, and the moving particles are those meeting both minimum density and maximum temperature criteria.
  • Star only: density and density gradients are calculated from all the particles, and all particles are moved.
  • Gas and dark matter: density and density gradients are calculated from the gas particles only, and the moving particles are the gas particles which meet the density and temperature criteria.
  • Stars and gas: density and density gradients are calculated from the star particles only, and the moving particles are all the star particles.
  • Stars and dark matter: Same as the stars and gas case.
  • Stars and gas and dark matter: density and density gradients are calculated from all the star particles and all the gas particles. The moving particles are then the gas particles meeting the density and temperature criteria and all the star particles.

Unbinding Procedure

Once groups with at least a certain minimum number of members have been determined, SKID will remove particles which are not bound to the group. SKID must use the original positions of all the particles to determine whether or not particles are bound. This procedure which we call unbinding, is again dependent on the type of grouping we are dealing with. There are two cases, one for dark matter only or star particles only (case 1 unbinding), the other for inputs including gas (also stars in a dark matter environment this is case 2 unbinding). The following outlines (conceptually) how unbinding is done for each group that was found:
  • Case 1 unbinding:

    1. Calculate the potential energies of all the particles in the group taking into account the redshift of the simulation to get physical distances (if units of the input file are physical then the redshift is just set to zero).
    2. The center of mass and center of mass velocity of all particles in the group are found. The velocity relative to the center of mass velocity is found for all particles in the group. This relative velocity is converted to a physical velocity and corrected to include the Hubble flow (again if the simulation is in physical coordinates this is satisfied by setting redshift to zero and Hubble's constant to zero). Then the kinetic energy with respect to the center of mass is found for each particle.
    3. The least bound particle is found. If this particle is in fact bound then we have completed unbinding this group. If the particle is not bound then we remove it from the group and go back to step 1.

    Note that as particles are removed from the group the center of mass changes, the center of mass velocity changes (hence also the kinetic energies) and the potential energies of the particles is reduced.

  • Case 2 unbinding:

    For gas the approach to unbinding has to be slightly different. For example, a galaxy depends on its dark matter environment for it to be bound. In these cases we include some of the environment of each group in the calculation of the potential energies.

    1. Calculate the potential energies of all the particles in the group in the same way as in case 1 unbinding.
    2. Include the potential contribution of all mass within a 2*eps ball about the center of the localized (or moved) positions of the particles in the group. In otherwords we want to include some of the environment about the density maximum.
    3. The center of mass and center of mass velocity is calculated as in case 1 unbinding and from this the kinetic energies of the particles are determined (again in the same way as case 1 unbinding).
    4. The least bound particle is found. If this particle is in fact bound then we have completed unbinding this group. If the particle is not bound then we remove it from the group and go back to step 3.

    Once again the center of mass, center of mass velocity and kinetic energies of the particles changes each time a particle is removed. However, in this case the potential energies remain fixed since any particle removed is considered to also be a part of the environment of the group.

The Output Files

SKID produces three different output files, by default a skid.grp file, and a skid.gtp file. Optionally a skid.ray file. Here is what they contain:
  • skid.grp: This file is in tipsy array format and contains the group number to which each particle in the input file belongs. Group number zero means that the particle does not belong to a group. This file can be read in by tipsy to color each particle by its group number (see picture ), or to look at only the group particles, etc. This output could also be used by a subsequent analysis tool.
  • skid.ray: This file is in tipsy vector format and contains a vector for each particle pointing from the initial position to the final localized (or moved) position. This file can also be read in by tipsy and can be used to create a hedgehog plot. This is very useful for understanding how SKID finds the groups.
  • skid.gtp: This file is in tipsy binary format (same format as the input to SKID) and contains one star particle to represent each group. Each particle in this file has as its position the center of the density maximum, as its velocity the center of mass velocity of the group (all in comoving coordinates if applicable), and as its mass the total mass of the group. The radius of the group is also recorded in the star_particle.eps field (also input file's time in the star_particle.tform field) for each star (group) particle. See the file tipsydefs.h for the structure of the tipsy binary format.

Release 1.3 New Features

Skid version 1.3 is a much improved version of the old denmax-1.1 version. The new name was given to avoid confusion with the DENMAX program of Gelb & Bertschinger, and although it is based on the same idea it represents a substantial evolution in the method. Refer to the man page to get aquainted with the new features of skid-1.3.

Obtaining and Building Skid

To obtain skid, get the tar file from our Anonymous ftp-site at ftp-hpcc.astro.washington.edu. The relevant tar file is /pub/hpcc/skid-1.4.1.tar.gz.

To build skid,

zcat skid-1.4.1.tar.gz | tar xfv -

make

This should build skid on most systems.

There is also a demo script, which will use a sample file included in the tar file. The sample tipsy binary file is in the XDR standard binary format and is converted to a native binary with totipnat, also included in the tar file.

Use of SKID

For a description of command line arguments and more detailed information on the use of skid, see the MAN page.

Support for skid is now being hosted on SourceForge. For problems, questions and comments concerning this software, please go to the SourceForge Astrophysical N-body Tools site.


N-Body Shop
University of Washington
Box 351580
Seattle, WA  98195-1580
(206) 543-2888 voice, (206) 685-0403 FAX
[comments to webmaster@www-hppc.astro.washington.edu]