Published April 22, 2024 | Version 2.1.0
Software Open

The Pretty Efficient Parallel Coulomb Solver (PEPC)

  • 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:

  1. kernel routines that handle all tree code specific data structures and communication as well as the actual tree traversal.
  2. 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).
  3. '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

Files (14.3 MB)

Name Size Download all
md5:901a74f2666fbf121ba5def0b315b834
1.6 kB Preview Download
md5:7236e34b4b9dbfc360b9dc6786197255
6.4 kB Download
md5:df83a26f28729e0dd99c29a774eb8e3e
14.3 MB Preview Download

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