Next: How to set initial
Up: PM Code
Previous: Finding Halos with Bound
The code consists of several different FORTRAN programs:
- PM_to_ASCII.f
- PMhalos.f
- PMmain.f
- PMmodelCHDM.f
- PMmodels.f
- PMpower.f
- PMselect.f
- PMstartCDM.f
- PMstartCHDM.f
A Makefile is provided to allow easy compilation of all of the programs.
You should edit the Makefile and put in your preferred compilation flags
for:
- Optimization. On both our Sun machines running Solaris, and our HP
running HPUNIX, we use -O3.
- The routine PMmodels.f should be compiled using double
precision for all ``real'' variables and constants. On the Sun, this
can be accomplished using the -R8 flag, on the HP with -dbl.
The general scheme for running the code and analyzing results is as follows:
- 1.
- Set initial conditions using PMmodels and PMstartCDM.
- 2.
- Run the PM code using PMmain.
- 3.
- Analyze the results using PMpower, and PMhalos.
PM_to_ASCII will scale your results to ``normal'' units.
More details on each step are provided in subsequent sections.
Some important parameters and variables which are used in the codes,
for which you will either be prompted or may wish to change before
compilation. Please note the last item which may require you to
make a change in the code!
- AEXPN = expansion parameter ( = 1/(1 + z) ). AEXP0 is the
expansion parameter at initial moment.
- NROW = number of particles in one dimension ( = 2n). The total
number of particles is equal to NROW 3. Particles are stored in
direct-access files. Each record of the files contains NROW 2 particles.
- NGRID = size of the computational mesh ( = 2m). The total number of
cells is NGRID 3. If you need to change either NROW or NGRID, the
only place where you need to make changes is the file PMparameters.h.
- ASTEP = step in the expansion parameter a . Time integration is
done with a constant step in the expansion parameter: da = ASTEP.
- ISTEP = current integration step
- Nspecies = number of additional species of particles. This is
curretly used for the CHDM models. For plain CDM, ODM, or
CDM
models Nspecies = 0.
- Om0,Oml0,Ocurv = densities of matter, cosmological constant,
and curvature at z = 0 .
- hubble = the Hubble constant in units of 100 km/s/Mpc
- NACCES = length of a record of direct-access files with
coordinates and velocities of particles (e.g., PMcrs0.DAT). For some
computers the length of the record is counted in bytes, for some it is
in machine words. If you get errors when running the code that
indicate problems with accessing the data files, multiply NACCES by 4
in file PMauxiliary.f, routine RDTAPE, and in files
PMstart...f. If the length of the data files is too long (it should be
24 x NROW 3 bytes), divide NACCES by 4.
Next: How to set initial
Up: PM Code
Previous: Finding Halos with Bound
Jon Holtzman
12/9/1997