next up previous contents
Next: Numerical Methods Up: StarCrash: A Parallel Smoothed Previous: Introduction   Contents


Installation Instructions

We have prepared the release version of the code to work on as wide an array of systems as possible. This version assumes that your computer system is a parallel system running MPI, the Message Passing Interface. Several versions of MPI are in common use, and we have successfully compiled our code against many of them.

For our code to run properly with self-gravity, you will need to install one freely available software library. It is the FFTW (Fastest Fourier Transform in the West) library, written by Mateo Frigo and Steven Johnson, available for download at http://www.fftw.org, and described in Frigo & Johnson (1998); Frigo & Johnson (1997). It is, to the best of our knowledge, the most widely used free, MPI-parallelized, multi-dimensional FFT code available, and forms the central part of our gravity solver. Our code is currently compiled against Version 2.1.5 of the FFTW, and will not work properly by default with older releases. See the notes below, however, for the steps to follow in this case, specifically release 2.0 of the FFTW. We are currently investigating the use of our code with the newly released FFTW version 3.0, and will update this documentation when and if we decide to write it into our code. Currently, FFTW 3.0 does not support MPI-based parallelization, but this may change in the future.

The FFTW configure routine does not compile the MPI-based routines by default. Make sure to run configure with the option -enable-mpi. You may need to set change your system flags to get FFTW to compile properly with the MPI-based routines included. See their documentation for details.

Once you have installed the FFTW, you are ready to install the SPH code. To do so, just follow these simple instructions, and everything should work smoothly.

  1. First, unpack the tarball file, starcrash.tar.gz, into the directory which will hold all the files.
  2. Next, you will need to edit the makefile. Set the variable MPID to the /include/ subdirectory of the MPI distribution you will be using. Set FFTDIR to the main directory of the FFTW, which should have subdirectories named /rfftw/ and /mpi/. Please note if you are using an older version of the FFTW (version 2.0.x), it may have a slightly different subdirectory structure. If you believe this to be the case, try using the file makefile.old. Edit the variables FC and CC with the name of your preferred Fortran and C Compilers, and set the other variables to match your preferred compilation flags.
  3. Now, make the executables. The file which runs the StarCrash code is named sphagr. The routine testinput, described in Sec. 4.1, will help you generate the input files needed to run the code. The routines b2pos and b2pos2 help you convert our binary output files into ASCII files which can be read into other runs, and are easily converted into general-purpose I/O tools for use in data analysis.

Hopefully, your installation should now be complete. Enjoy the StarCrash code!


next up previous contents
Next: Numerical Methods Up: StarCrash: A Parallel Smoothed Previous: Introduction   Contents
Joshua Faber 2003-06-28