TY - COMP AU - Gibbon, Paul AU - Brömmel, Dirk AU - Chew, Junxian AU - Steinbusch, Benedikt AU - Winkel, Mathias AU - Siddi, Lorenzo AU - Speck, Robert AU - Arnold, Lukas AU - Salmagne, Christian AU - Henkel, Marvin-Lucas AU - Hofmann, Michael AU - Hübner, Helge AU - Breslau, Andreas AU - Keldenich, Marc TI - The Pretty Efficient Parallel Coulomb Solver (PEPC) (v2.0.0); 2.0.0 M1 - FZJ-2023-02162 PY - 2023 AB - 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. KW - Barnes-Hut (Other) KW - tree code (Other) KW - High Performance Computing (Other) KW - HPC (Other) LB - PUB:(DE-HGF)33 DO - DOI:10.5281/ZENODO.7965549 UR - https://juser.fz-juelich.de/record/1007680 ER -