Skip to content

C++17, lasers via incidentField, DispersivePulse laser profile, sub-stepping field solver, and PICMI support

Latest
Compare
Choose a tag to compare
@psychocoderHPC psychocoderHPC released this 19 Oct 11:01
c317f07

With this release, laser initialization switches to an incidentField approach, which allows easier initialization of arbitrary Maxwell-compliant electromagnetic fields in a simulation. Old laser.param files won't work anymore. See the documentation! This update of the laser implementation was also used to add a new profile 'DispersivePulse' and to rename the existing laser profiles. The new profile allows the initialization of Gaussian laser pulses with arbitrary first, second and third order dispersion, while the renaming aims at a more precise expression of the laser profile.

Basic PICMI support is also added to PIConGPU, as well as time substepping for field solvers and improved handling of currents in PML boundaries. Again, see the documentation for details.

Major code refactorings also come with this release. These include a cleanup of the code base, in particular removal of unused plugins and CuSTL, performance improvements, and a switch to C++17 as the minimum required version.

As usual, this release contains fixes to PIConGPU and enhancements and clarifications to the documentation.

Thanks to Sergei Bastrakov, Finn-Ole Carstens, Alexander Debus, Fabia Dietrich, Simeon Ehrig, Marco Garten, Bernhard Manfred Gruber, Axel Huebl, Jeffrey Kelling, Anton Lebedev, Brian Edward Marre, Paweł Ordyna, Richard Pausch, Franz Pöschel, Klaus Steiniger, Jan Stephan, Hannes Tröpgen, Mika Soren Voß, and René Widera for their contributions to this release!