  We analyse the performance of twelve different implementations of Smoothed
Particle Hydrodynamics (SPH) using seven tests designed to isolate key
hydrodynamic elements of cosmological simulations which are known to cause the
SPH algorithm problems. In order, we consider a shock tube, spherical adiabatic
collapse, cooling flow model, drag, a cosmological simulation, rotating
cloud-collapse and disc stability. In the implementations special attention is
given to the way in which force symmetry is enforced in the equations of
motion. We study in detail how the hydrodynamics are affected by different
implementations of the artificial viscosity including those with a
shear-correction modification. We present an improved first-order
smoothing-length update algorithm that is designed to remove instabilities that
are present in the Hernquist and Katz (1989) algorithm.
  For all tests we find that the artificial viscosity is the most important
factor distinguishing the results from the various implementations. The second
most important factor is the way force symmetry is achieved in the equation of
motion. Most results favour a kernel symmetrization approach. The exact method
by which SPH pressure forces are included has comparatively little effect on
the results. Combining the equation of motion presented in Thomas and Couchman
(1992) with a modification of the Monaghan and Gingold (1983) artificial
viscosity leads to an SPH scheme that is both fast and reliable.
