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.
- First, unpack the tarball file, starcrash.tar.gz, into the
directory which will hold all the files.
- 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.
- 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: Numerical Methods
Up: StarCrash: A Parallel Smoothed
Previous: Introduction
  Contents
Joshua Faber
2003-06-28