%0 Computer Program
%A Gibbon, Paul
%A Brömmel, Dirk
%A Chew, Junxian
%A Steinbusch, Benedikt
%A Winkel, Mathias
%A Siddi, Lorenzo
%A Speck, Robert
%A Arnold, Lukas
%A Salmagne, Christian
%A Henkel, Marvin-Lucas
%A Hofmann, Michael
%A Hübner, Helge
%A Breslau, Andreas
%A Keldenich, Marc
%T The Pretty Efficient Parallel Coulomb Solver (PEPC) (v2.0.0); 2.0.0
%M FZJ-2023-02162
%D 2023
%X The PEPC project (Pretty Efficient Parallel Coulomb Solver) is a public tree code that has been developed at Jülich Supercomputing Centre since the early 2000s. Our tree code is a non-recursive version of the Barnes-Hut algorithm, using a level-by-level approach to both tree construction and traversals. The parallel version is a hybrid MPI/PThreads implementation of the Warren-Salmon 'Hashed Oct-Tree' scheme, including several variations of the tree traversal routine - the most challenging component in terms of scalability. The code is structurally divided into three parts: kernel routines that handle all tree code specific data structures and communication as well as the actual tree traversal. interaction-specific modules , i.e. routines that apply to specific interaction kernels and multipole expansions. Currently, the following interaction kernels are available: Coulomb-interaction/gravitation, algebraic kernels for vortex methods, nearest-neighbour interactions for smooth particle hydrodynamics (SPH). 'front-end' applications . For example PEPC-essential, a skeleton molecular dynamics program simulating a coulomb explosion, PEPC-b, a code for laser- or particle beam-plasma interactions as well as plasma-wall interactions, PEPC-v, an application for simulating vortex dynamics using the vortex particle method, several internal experimental frontends.
%K Barnes-Hut (Other)
%K tree code (Other)
%K High Performance Computing (Other)
%K HPC (Other)
%F PUB:(DE-HGF)33
%9 Software
%R 10.5281/ZENODO.7965549
%U https://juser.fz-juelich.de/record/1007680