Afterlive: A performant code for Vlasov-Hybrid simulations

作者:Kilian Patrick*; Schreiner Cedric; Spanier Felix
来源:Computer Physics Communications, 2018, 230: 121-134.
DOI:10.1016/j.cpc.2018.04.014

摘要

A parallelized implementation of the Vlasov-Hybrid method (Nunn, 1993) is presented. This method is a hybrid between a gridded Eulerian description and Lagrangian meta-particles. Unlike the Particle-in-Cell method (Dawson, 1983) which simply adds up the contribution of meta-particles, this method does a reconstruction of the distribution function f in every time step for each species. This interpolation method combines meta-particles with different weights in such a way that particles with large weight do not drown out particles that represent small contributions to the phase space density. These core properties allow the use of a much larger range of macro factors and can thus represent a much larger dynamic range in phase space density.
The reconstructed phase space density f is used to calculate momenta of the distribution function such as the charge density p. The charge density p is also used as input into a spectral solver that calculates the self-consistent electrostatic field which is used to update the particles for the next time-step.
Afterlive (A Fourier-based Tool in the Electrostatic limit for the Rapid Low-noise Integration of the Vlasov Equation) is fully parallelized using MPI and writes output using parallel HDF5. The input to the simulation is read from a JSON description that sets the initial particle distributions as well as domain size and discretization constraints. The implementation presented here is intentionally limited to one spatial dimension and resolves one or three dimensions in velocity space. Additional spatial dimensions can be added in a straight forward way, but make runs computationally even more costly.
Program summary
Program Title: Afterlive (A Fourier-based Tool in the Electrostatic limit for the Rapid Low-noise Integration of the Vlasov Equation)
Program Files doi : http://dx.doi.org/10.17632/nt79b5nfsc.1
Licensing provisions: GNU Public Licence v3
Programming language: C++
External routines/libraries: C++ compiler (tested with g++ 4.8, 4.9, 5.3 and 6.3), MPI 1.1 (tested with OpenMPI 1.6.5, 1.8.1, and 1.10.2 and MPICH 3.1), HDF5 with support for parallel 1/0(tested with version 1.8.13, 1.8.15, 1.8.16 and 1.10.0), FFTW3 (tested with version 3.3.3, 3.3.4 and 3.3.5), Blitz++ (tested with version 0.10), Jansson (tested with version 2.7.1, 2.7.3, 2.7.5 and 2.9.1) and pkg-config
Nature of problem: Kinetic simulations of collisionless plasma are often done with particle-in-cell codes which also mix Eulerian (fields on a grid) and Lagrangian (freely flowing meta-particles to track particle densities) description. In these codes however computational meta-particles are added up in the deposition scheme. Thus particles are usually equal weights and the noise level is considerable. Purely Eulerian codes must go to great length to yield a stable scheme without excessive numerical diffusion.
Solution method: In this method an Eulerian description of the electrostatic field is also combined with a Lagrangian description of particles, but the distribution function f is reconstructed over the full phase space in a way that avoids drowning out particles with a low phase space weight. This allows for the use of a wide range of macro factors for different tracer particles and an excellent dynamic range in densities.
Restrictions: The current implementation handles one dimension in space and one or three dimensions in velocity only and is applicable to electrostatic scenarios. Using the two extra components of the velocity is computationally costly.
Unusual features: The configuration is stored in JSON files.