Analysis of tensor-product discontinous Galerkin operators for Vlasov-Poisson simulations and GPU implementation on Python
Abstract
The discontinuous Galerkin (DG) finite element method is conservative, lends itself well to parallelization, and is high-order accurate due to its close affinity with the theory of quadrature and orthogonal polynomials. When applied with an orthogonal discretization (\textit{i.e.} a rectilinear grid) the DG method may be efficiently implemented on a GPU in just a few lines of high-level language such as Python. This work demonstrates such an implementation by writing the DG semi-discrete equation in a tensor-product form and then computing the products using open source GPU libraries. The results are illustrated by simulating a problem in plasma physics, namely an instability in the magnetized Vlasov-Poisson system. Further, as DG is closely related to spectral methods through its orthogonal basis it is possible to calculate a transformation to an alternative set of global eigenfunctions for purposes of analysis or to perform additional operations. This transformation is also posed as a tensor product and may be GPU-accelerated. In this work a Fourier series is computed for example (although this does not beat discrete Fourier transform), and is used to solve the Poisson part of the Vlasov-Poisson system to -accuracy.
Cite
@article{arxiv.2202.13532,
title = {Analysis of tensor-product discontinous Galerkin operators for Vlasov-Poisson simulations and GPU implementation on Python},
author = {D. W. Crews},
journal= {arXiv preprint arXiv:2202.13532},
year = {2022}
}