Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aeva_v1_0.tar.gz(102740 Kbytes)
Manuscript Title: PICPANTHER: A simple, concise implementation of the relativistic moment implicit Particle-in-Cell method
Authors: Andreas Kempf, Patrick Kilian, Urs Ganse, Cedric Schreiner, Felix Spanier
Program title: PICPANTHER
Catalogue identifier: AEVA_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 188(2015)198
Programming language: C++11.
Computer: Program should work on any system with a modern C++11 Compiler (e.g. g++ in GCC 4.7 and later) and MPI, HDF5 implementations.
Operating system: Linux / Unix.
Has the code been vectorised or parallelized?: Parallelized using the Message Passing Interface, successfully tested on SuperMUC with good scaling behavior.
RAM: Variable, depending on simulation size, ≈ 2 kiB per cell, 56 B per particle
Keywords: Particle in cell, Implicit moment, Relativistic implicit moment, Particle mesh, Newton-Krylov, GMRES.
Classification: 19.3.

External routines: Eigen3 (header files, http://eigen.tuxfamily.org, tested with versions 3.2.1, 3.2.2), MPI2 (e.g. OpenMPI, http://open-mpi.org, tested with version 1.8.1), HDF5 1.8 (http://hdfgroup.org/HDF5, tested with version 1.8.13)

Nature of problem:
Kinetic simulations of collisionless plasma mostly need to resolve the smallest scales in a plasma, limiting the problem domains that can be tackled. The Courant-Friedrichs-Lewy condition poses further problems. Explicit algorithms require large amounts of computational power to cope with these restrictions. Implementations of implicit algorithms, on the other hand, are very complex. Very few implicit codes are openly available and approachable. Fully relativistic, three-dimensional electromagnetic implicit PiC codes in particular are rare in general.

Solution method:
PICPANTHER implements the relativistic moment implicit particle-in-cell method. The implicit electric field equation is solved using the GMRES algorithm with operators represented as sparse matrices. For each particle, the implicit equation of motion is solved via a robust Newton-Krylov scheme. Parallelization is achieved using simple domain decomposition, resulting in good scalability.

PICPANTHER only allows for Euclidean geometries. Currently, only periodic boundary conditions are provided.

Unusual features:
PICPANTHER makes use of advanced numerical techniques (GMRES, Newton-Krylov) to implicitly solve relativistic versions of the movement and field equations of a PiC code. It was designed to be simple and concise, using advanced C++11 language features. Moreover, it is parallelized and exhibits good scaling behavior.

Running time:
Minutes to days, depending on problem size and CPU count.