Technical Foundations of CORSIKA 8: New Concepts for Scientific Computing
2019 July 22
CORSIKA is the leading simulation code for air showers in the field of astroparticle physics. CORSIKA 8 is a new project aiming to make CORSIKA ready for the next decades of research; a rewrite of CORSIKA in modern C++ with a flexible, efficient, and modular design. CORSIKA 8 makes full use of open development, being a collaborative project with contributors from around the world. The modular design makes modifications and contributions very straightforward and lowers the technical barrier for users to become active developers. CORSIKA 8 is written in C++17, which brings new powerful features useful for scientific high-performance computing. We discuss work on its technical foundations, the geometry and quantity system (a quantity is a number with a dimension). The goal of these systems is to make physical and geometric calculations easy and safe in CORSIKA 8, while maintaining highest computational speed. We further discuss how continuous integration is used to maintain high code quality standards.