Table of Contents
prun - cosmological particle-mesh (AP3M) integration code
prun is a cosmological
particle code, with the aim to follow the evolution of a large number of
interacting particles under Newtonian gravity. A unique aspect of this
version is the adaptive nature of the P3M method. A max number of refinements
of the mesh calculations can be set, to be able to follow the evolution
at small scales when large degrees of clustering occur.
The equations of
motion governing the evolution of the particle distribution in an expanding
cosmological model are solved in comoving coordinates. A time-centered leapfrog
integration is used.
The current NEMO implementation of prun is a wrapper
program, with the usual nemo user interface. It creates a parameter file
and calls the fortran executable. In this way it also hides some of the
complexities of the fortran user interface.
The following parameters
are recognized in any order if the keyword is also given:
following experiment sets up initial condition using pstart(1NEMO)
them using prun(1NEMO)
, converts data to NEMO’s snapshot(5NEMO)
plots the projected particle positions in a 2 by 2 panel using snapplot(1NEMO)
run directory. Must already exist yet (see pstart(1NEMO)
) Inside the working
directory a ASCII parameter file, prun.dat will be created, which contains
the input parameters for the program. This run directory will also contain
logfiles, and subdirectories where the data and Green’s functions are stored
(but see below to override). No default.
- run label. This is a non-negative
integer, not to exceed 9999, which is used as a ID label. Data and log filenames
are automatically derived from this label id. 
- final step.
Normally you want this to be a multiple of ipout= (see below). 
- steps between data output. The first step is not output (since it already
exists), but each multiple of ipout (called iout) is output. One file is
created per data output. The filename is $datadir/rv$irun(%04d).$iout(%04d)
- steps between restart dump output. The filename is $datadir/rvdump.dat1.
- delta-p, the time step. The starting time of these cosmological
simulations is always defined to be 1.0. [0.84].
- Accuracy parameter,
see also eq. (11.2) in Couchman (1994). [1.5].
- initial softening.
- minimum softening allowed. Setting sftinit = sftmin >= 3.5 makes
the code run in PM mode, which speeds up the code by several (13) factors.
- maximum pairwise force error (%). This also influences the
efficiency of P3M and AP3M. Small errors require large mesh-force softenings
and hence large chaining cells. This value must be in the range of 3 to
- maximum refinement level. By setting this to 0 no mesh refinements
are done, and you can use this to estimate the time saving of the A3PM
algorithm. (In the standard case this saves about 40% for the final steps)
- Name of the fortran derived pstartP executable file, which can
reside anywhere as long as the host OS can resolve it’s location (e.g. under
UNIX anywhere in the $path command search path) [pstart.exe].
to store Green’s functions. Can require up to 5Mb. By default it is placed
inside the working run directory (see dir=) [greenfn/].
to store data file storage. Requires about 6 Nobj words (normally 4 bytes/word)
times the number of snapshots (ipout/ipstop + 1) By default it is placed
inside the working run directory (see dir=) [data/].
data file. By default it is derived from the one presumably created by pstart(1NEMO)
$datadir/rv$irun(%04d).0000. File must be in rvc(5NEMO)
% pstart dir=run123 istart=123
% prun dir=run123 irun=123
% cat run123/data/rv* | rvcsnap - run123.snap
% snapplot run123.snap xrange=1:33 yrange=1:33 nxy=2,2
Note on the third line that we can use a wildcard in the conversion pipe,
because the the lexicographically order is also in time order.
a Sparc 10-30 with the default parametrs
Simulations Using Particle-Mesh Methods’’, H. Couchman, Ch. 11 in: XXX ed. Benz
et al. 1994.
‘‘XXX’’, H. Couchman, (1991) ApJLett 368, L23-26.
Hugh Couchman (fortran), Peter Teuben (C)
xx-xxx-xx Fortran version prun HMPC
7-may-94 V1.0 NEMO wrapper written PJT
16-may-95 V1.1 new version from Couchman PJT
Table of Contents