The Pencil Code, a modular MPI code for partial differential equations and particles: multipurpose and multiuser-maintained

Research output: Contribution to journalJournal articleResearchpeer-review

Documents

  • Fulltext

    Final published version, 157 KB, PDF document

  • Axel Brandenburg
  • Philippe A. Bourdin
  • Wolfgang Dobler
  • Wladimir Lyra
  • Matthias Rheinhardt
  • Sven Bingert
  • Nils Erland L. Haugen
  • Antony Mee
  • Frederick Gent
  • Natalia Babkovskaia
  • Chao-Chin Yang
  • Boris Dintrans
  • Dhrubaditya Mitra
  • Simon Candelaresi
  • Jörn Warnecke
  • Petri J. Käpylä
  • Andreas Schreiber
  • Piyali Chatterjee
  • Maarit J. Käpylä
  • Xiang-Yu Li
  • Jonas Krüger
  • Jørgen R. Aarnes
  • Graeme R. Sarson
  • Jeffrey S. Oishi
  • Jennifer Schober
  • Raphaël Plasson
  • Christer Sandin
  • Ewa Karchniwy
  • Luiz Felippe S. Rodrigues
  • Alexander Hubbard
  • Gustavo Guerrero
  • Andrew Snodin
  • Illa R. Losada
  • Johannes Pekkilä
  • Chengeng Qian
The Pencil Code is a highly modular physics-oriented simulation code that can be adapted to a wide range of applications. It is primarily designed to solve partial differential equations (PDEs) of compressible hydrodynamics and has lots of add-ons ranging from astrophysical magnetohydrodynamics (MHD) (A. Brandenburg & Dobler, 2010) to meteorological cloud microphysics (Li et al., 2017) and engineering applications in combustion (Babkovskaia et al., 2011). Nevertheless, the framework is general and can also be applied to situations not related to hydrodynamics or even PDEs, for example when just the message passing interface or input/output strategies of the code are to be used. The code can also evolve Lagrangian (inertial and noninertial) particles, their coagulation and condensation, as well as their interaction with the fluid. A related module has also been adapted to perform ray tracing and to solve the eikonal equation.
The code is being used for Cartesian, cylindrical, and spherical geometries, but further extensions are possible. One can choose between different time stepping schemes and different spatial derivative operators. High-order first and second derivatives are used to deal with weakly compressible turbulent flows. There are also different diffusion operators to allow for both direct numerical simulations (DNS) and various types of large-eddy simulations (LES).
Original languageEnglish
Article number2807
JournalThe Journal of Open Source Software
Volume6
Issue number58
Number of pages7
ISSN2475-9066
DOIs
Publication statusPublished - 2021

ID: 327021610