EXP: N-body integration using basis function expansions
  We present the N-body simulation techniques in EXP. EXP uses
empirically-chosen basis functions to expand the potential field of an ensemble
of particles. Unlike other basis function expansions, the derived basis
functions are adapted to an input mass distribution, enabling accurate
expansion of highly non-spherical objects, such as galactic discs. We measure
the force accuracy in three models, one based on a spherical or aspherical
halo, one based on an exponential disc, and one based on a bar-based disc
model. We find that EXP is as accurate as a direct-summation or tree-based
calculation, and in some ways is better, while being considerably less
computationally intensive. We discuss optimising the computation of the basis
function representation. We also detail numerical improvements for performing
orbit integrations, including timesteps.
