MAGI: many-component galaxy initialiser
  Providing initial conditions is an essential procedure for numerical
simulations of galaxies. The initial conditions for idealised individual
galaxies in $N$-body simulations should resemble observed galaxies and be
dynamically stable for time scales much longer than their characteristic
dynamical times. However, generating a galaxy model ab initio as a system in
dynamical equilibrium is a difficult task, since a galaxy contains several
components, including a bulge, disc, and halo. Moreover, it is desirable that
the initial-condition generator be fast and easy to use. We have now developed
an initial-condition generator for galactic $N$-body simulations that satisfies
these requirements. The developed generator adopts a
distribution-function-based method, and it supports various kinds of density
models, including custom-tabulated inputs and the presence of more than one
disc. We tested the dynamical stability of systems generated by our code,
representing early- and late-type galaxies, with $N=$~2,097,152 and 8,388,608
particles, respectively, and we found that the model galaxies maintain their
initial distributions for at least 1~Gyr. The execution times required to
generate the two models were $8.5$ and $221.7$ seconds, respectively, which is
negligible compared to typical execution times for $N$-body simulations. The
code is provided as open-source software and is publicly and freely available
at \url{https://bitbucket.org/ymiki/magi}.
