  Understanding fundamental kinetic processes is important for many problems,
from plasma physics to gas dynamics. A first-principles approach to these
problems requires a statistical description via the Boltzmann equation, coupled
to appropriate field equations. In this paper we present a novel version of the
discontinuous Galerkin (DG) algorithm to solve such kinetic equations. Unlike
Monte-Carlo methods we use a continuum scheme in which we directly discretize
the 6D phase-space using discontinuous basis functions. Our DG scheme
eliminates counting noise and aliasing errors that would otherwise contaminate
the delicate field-particle interactions. We use modal basis functions with
reduced degrees of freedom to improve efficiency while retaining a high formal
order of convergence. Our implementation incorporates a number of software
innovations: use of JIT compiled top-level language, automatically generated
computational kernels and a sophisticated shared-memory MPI implementation to
handle velocity space parallelization.
