The pencil code, a modular MPI code for partial differential equations and particles: multipurpose and multiuser-maintained
The Pencil Code Collaboration; Brandenburg, Axel; Johansen, Anders; Bourdin, Philippe A; Dobler, Wolfgang; Lyra, Wladimi; Rheinhardt, Matthias; Bingert, Sven; Haugen, Nils Erland L; Mee, Antony; Gent, Frederick; Babkovskaia, Natalia; Yang, Chao-Chin; Heinemann, Tobias; Dintrans, Boris; Mitra, Dhrubaditya; Candelares, Simon; Warnecke, Jörn; Käpylä, Petri J; Li, Xiang-Yu; Krüger, Jonas; Aarnes, Jørgen R; Sarson, Graeme R; Oishi, Jeffrey S; Schober, Jennifer; Schreiber, Andreas; Chatterjee, Piyali; Käpylä, Maarit J; Plasson, Raphaël; Sandin, Christer; Karchniwy, Ewa; Rodrigues, Luiz Felippe S; Hubbard, Alexander; Guerrero, Gustavo; Snodin, Andrew; Losada, Illa R; Pekkilä, Johannes; Qian, Chengeng
Date:
2021-02-21
Abstract:
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).
Show full item record