Published December 21, 2021 | Version 0.6.0
Software Open

ComputationalRadiationPhysics/picongpu: C++14, New Solvers, I/O via openPMD API, HIP Support

Description

This release switches to C++14 as minimum required version. Transition to C++17 is planned for upcoming releases.

We extended PIConGPU with a few new solvers. Binary collisions are now available. We added arbitrary-order FDTD Maxwell's solver. All field solvers are now compatible with perfectly matched layer absorber, which became default. Yee solver now supports incident field generation using total field/scattered field technique. We added Higuera-Cary particle pusher and improved compatibility of pushers with probe species. Implementation of particle boundaries was extended to support custom positions, reflecting and thermal boundary kinds were added.

With this release, PIConGPU fully switches to openPMD API library for performing I/O. The native HDF5 and ADIOS output plugins were replaced with a new openPMD plugin. All other plugins were updated to use openPMD API. Plugins generally support HDF5 and ADIOS2 backends of openPMD API, a user can choose file format based on their installation of openPMD API. We also added new plugins for SAXS and particle merging.

We added support for HIP as a computational backend. In particular, it allows running on AMD GPUs. Several performance optimizations were added. Some functors and plugins now have performance-influencing parameters exposed to a user.

The code was largely modernized and refactored, documentation was extended.

Thanks to Sergei Bastrakov, Kseniia Bastrakova, Brian Edward Marre, Alexander Debus, Marco Garten, Bernhard Manfred Gruber, Axel Huebl, Jakob Trojok, Jeffrey Kelling, Anton Lebedev, Felix Meyer, Paweł Ordyna, Franz Poeschel, Lennert Sprenger, Klaus Steiniger, Manhui Wang, Sebastian Starke, Maxence Thévenet, Richard Pausch, René Widera for contributions to this release!

Files

ComputationalRadiationPhysics/picongpu-0.6.0.zip

Files (8.6 MB)

Additional details

References

  • L. V. Keldysh (1965). Ionization in the field of a strong electromagnetic wave.
  • D. Bauer and P. Mulser (1999). Exact field ionization rates in the barrier-suppression regime from numerical time-dependent Schrödinger-equation calculations. DOI:10.1103/PhysRevA.59.569
  • R. Pausch et al. (2014). How to test and verify radiation diagnostics simulations within particle-in-cell frameworks. DOI:10.1016/j.nima.2013.10.073
  • A. Huebl (2014). Injection Control for Electrons in Laser-Driven Plasma Wakes on the Femtosecond Time Scale. DOI:10.5281/zenodo.15924
  • A. Gonoskov et al. (2015). Extended particle-in-cell schemes for physics in ultrastrong laser fields: Review and developments. DOI:10.1103/PhysRevE.92.023305
  • A. Huebl et al. (2015). openPMD: A meta data standard for particle and mesh based data. DOI:10.5281/zenodo.591699
  • M. Vranic et al. (2016). Classical radiation reaction in particle-in-cell simulations. DOI:10.1016/j.cpc.2016.04.002
  • A. Matthes et al. (2016). In situ, steerable, hardware-independent and data-structure agnostic visualization with ISAAC. DOI:10.14529/jsfi160403
  • A. Huebl et al. (2017). On the Scalability of Data Reduction Techniques in Current and Upcoming HPC Systems from an Application Perspective. DOI:10.1007/978-3-319-67630-2_2
  • R. Pausch et al. (2018). Quantitatively consistent computation of coherent and incoherent radiation in particle-in-cell codes - a general form factor formalism for macro-particles. DOI:10.1016/j.nima.2018.02.020
  • A. Huebl (2019). PIConGPU: Predictive Simulations of Laser-Particle Accelerators with Manycore Hardware. DOI:10.5281/zenodo.3266820