PICPANTHER: A simple, concise implementation of the relativistic moment implicit particle-in-cell method ?
A three-dimensional, parallelized implementation of the electromagnetic relativistic moment implicit particle-in-cell method in Cartesian geometry (Noguchi etal., 2007) is presented. Particular care was taken to keep the C++11 codebase simple, concise, and approachable. GMRES is used as a field solver and during the NewtonKrylov iteration of the particle pusher. Drifting Maxwellian problem setups are available while more complex simulations can be implemented easily. Several test runs are described and the codes numerical and computational performance is examined. Weak scaling on the SuperMUC system is discussed and found suitable for large-scale production runs. Program title: PICPANTHER Catalogue identifier: AEVA_v1_0 Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEVA_v1_0.html Program obtainable from: CPC Program Library, Queens University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 359567 No. of bytes in distributed program, including test data, etc.: 105206138 Distribution format: tar.gz 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 vectorized 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 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 CourantFriedrichsLewy 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 NewtonKrylov scheme. Parallelization is achieved using simple domain decomposition, resulting in good scalability. Restrictions: PICPANTHER only allows for Euclidean geometries. Currently, only periodic boundary conditions are provided. Unusual features: PICPANTHER makes use of advanced numerical techniques (GMRES, NewtonKrylov) 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.
gmres newtonkrylov particle in cell implicit moment relativistic implicit moment particle mesh