The complete manuscript is available in postscript. The code is available from the Hydra consortium. It contains a full N-body code with potential solver and time evolution. The final state of a Dark Matter simulation using Couchman's code has been created using the group's visualization program: TIPSY.

It is easier to see the three dimensional structure in a MPEG movie of a rotation about the z axis. This movie was also created using TIPSY.

The purpose of cosmological simulations is to model the growth of structure in the universe. The techniques described here model the mass density of the universe with a distribution of softened particles. Evolution is simulated by following the trajectories of these particles under their mutual gravity. Since the region of the universe modelled is typically very much smaller than the horizon volume, Newtonian equations of motion are adequate to describe the particle dynamics and evolution of structure. The resulting numerical schemes are straightforward and robust. An alternative approach is to describe the mass distribution as a fluid and calculate the evolution from the appropriate fluid equations (e.g., Peebles 1987). A number of other analytic and semi-analytic approaches to gravitational evolution have been discussed. The description of the growth of small perturbations in the matter distribution is well established, both to first order and at higher orders (see, for example, Peebles 1980). Many observational constraints, however, are the result of highly non-linear gravitational evolution for which perturbation analysis is of limited use. Numerical N-body techniques offer a simple and effective tool for investigating non-linear cosmological gravitational evolution.

Many of the results arising from potential theory and the theory of gravitating systems of particles, as discussed in this volume and elsewhere, are directly applicable to the cosmological situation and will not be addressed here in further detail. The principal features peculiar to cosmological simulations arise from the construction of an initial particle distribution, the necessity of describing evolution in an expanding cosmic background and the choice of suitable boundary conditions. The remainder of the introduction addresses these issues and describes the popular mesh-based cosmological particle methods. Two computer codes are discussed in this chapter: the first is used to generate an initial distribution of particles; the second to evolve it. The algorithms are described in Sect. 2 and the FORTRAN77 implementation in Sect. 3. The reader interested in trying the codes immediately may skip to Sect. 4 where a test case is presented. __________________________________________________________________