%0 Computer Program
%A Durante, Danilo
%A Marrone, Salvatore
%A Brömmel, Dirk
%A Colagrossi, Andrea
%A Speck, Robert
%A Gibbon, Paul
%T The Pretty Efficient Parallel Coulomb Solver (PEPC) (v2.1.0-DVH)
%M FZJ-2024-06842
%D 2024
%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, Darwin for magnetoinductive plasmas (no EM wave propagation), 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, PEPC-dvh, vortex dynamics using the diffused vortex hydrodynamics method several internal experimental frontends.
%K Barnes-Hut (Other)
%K tree code (Other)
%K High Performance Computing (Other)
%K HPC (Other)
%K DVH (Other)
%K Vortex (Other)
%F PUB:(DE-HGF)33
%9 Software
%R 10.5281/ZENODO.10640946
%U https://juser.fz-juelich.de/record/1034009