The Pretty Efficient Parallel Coulomb Solver (PEPC)
Creators
- 1. Institute for Advanced Simulation, Jülich Supercomputing Centre, Forschungszentrum Jülich GmbH, 52425 Jülich, Germany
- 2. National Research Council, Institute of Marine Engineering (CNR-INM), Via di Vallerano 139, Rome, Italy
- 3. Technische Universität Chemnitz, Department of Computer Science, Str. der Nationen 62, 09111 Chemnitz
Description
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-breakup, to simulate plasma initiation in tokamaks via a Townsend avalanche,
- PEPC-dvh, vortex dynamics using the diffused vortex hydrodynamics method,
- several internal experimental frontends.
Files
CHANGELOG.md
Additional details
Related works
- Is described by
- Report: https://juser.fz-juelich.de/record/29160 (URL)
- Journal article: 10.1016/j.cpc.2011.12.013 (DOI)
Software
- Repository URL
- https://gitlab.jsc.fz-juelich.de/SLPP/pepc/pepc
- Programming language
- Fortran Free Form