  An improved implementation of an N-body code for simulating collisionless
cosmological dynamics is presented. TPM (Tree-Particle-Mesh) combines the PM
method on large scales with a tree code to handle particle-particle
interactions at small separations. After the global PM forces are calculated,
spatially distinct regions above a given density contrast are located; the tree
code calculates the gravitational interactions inside these denser objects at
higher spatial and temporal resolution. The new implementation includes
individual particle time steps within trees, an improved treatment of tidal
forces on trees, new criteria for higher force resolution and choice of time
step, and parallel treatment of large trees. TPM is compared to P^3M and a tree
code (GADGET) and is found to give equivalent results in significantly less
time. The implementation is highly portable (requiring a Fortran compiler and
MPI) and efficient on parallel machines. The source code can be found at
http://astro.princeton.edu/~bode/TPM/
