Afterlive: a performant code for Vlasov-Hybrid simulations
Abstract
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
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
is used to calculate momenta of the distribution function such as the charge density . The charge density
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 (AF ourier-based T ool in the E lectrostatic limit for the R apid L ow-noise I ntegration of the V lasov E quation) 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 (AF ourier-based T ool in the E lectrostatic limit for the R apid L ow-noise I ntegration of the V lasov E quation)
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 I/O(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 a Eulerian description of the electrostatic field is also combined with a Lagrangian description of particles, but the distribution function
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.
URI
http://hdl.handle.net/10394/26960https://www.sciencedirect.com/science/article/pii/S0010465518301309
https://doi.org/10.1016/j.cpc.2018.04.014