Picongpu Documentation Release 0.6.0-Dev
Total Page:16
File Type:pdf, Size:1020Kb
PIConGPU Documentation Release 0.6.0-dev The PIConGPU Community Sep 24, 2021 INSTALLATION 1 Installation 3 1.1 Introduction.............................................3 1.1.1 Ways to Install.......................................3 1.1.2 References.........................................4 1.2 Instructions..............................................4 1.2.1 Spack............................................4 1.2.2 Docker...........................................5 1.2.3 From Source........................................6 1.3 Dependencies.............................................8 1.3.1 Overview..........................................8 1.3.2 Requirements........................................8 1.4 picongpu.profile........................................... 15 1.4.1 Hemera (HZDR)...................................... 15 1.4.2 Summit (ORNL)...................................... 24 1.4.3 Piz Daint (CSCS)...................................... 25 1.4.4 Taurus (TU Dresden).................................... 27 1.4.5 Lawrencium (LBNL).................................... 34 1.4.6 Cori (NERSC)....................................... 35 1.4.7 Draco (MPCDF)...................................... 39 1.4.8 D.A.V.I.D.E (CINECA)................................... 40 1.4.9 JURECA (JSC)....................................... 42 1.4.10 JUWELS (JSC)....................................... 48 1.4.11 ARIS (GRNET)....................................... 53 1.4.12 Ascent (ORNL)....................................... 55 1.5 Changelog.............................................. 56 1.5.1 0.5.0............................................. 56 1.5.2 0.4.3............................................. 63 1.5.3 0.4.2............................................. 64 1.5.4 0.4.1............................................. 65 1.5.5 0.4.0............................................. 66 1.5.6 0.3.2............................................. 79 1.5.7 0.3.1............................................. 80 1.5.8 0.3.0............................................. 81 1.5.9 0.2.5............................................. 88 1.5.10 0.2.4............................................. 89 1.5.11 0.2.3............................................. 89 1.5.12 0.2.2............................................. 90 1.5.13 0.2.1............................................. 90 1.5.14 0.2.0 “Beta”......................................... 91 1.5.15 0.1.0............................................. 100 1.5.16 Open Beta RC6....................................... 103 1.5.17 Open Beta RC5....................................... 106 1.5.18 Open Beta RC4....................................... 109 1.5.19 Open Beta RC3....................................... 110 i 1.5.20 Open Beta RC2....................................... 111 1.5.21 Open Beta RC1....................................... 113 1.5.22 Open Alpha......................................... 113 2 Usage 115 2.1 Reference............................................... 115 2.1.1 Citation........................................... 115 2.1.2 Acknowledgements..................................... 115 2.1.3 Community Map...................................... 116 2.2 Basics................................................. 116 2.2.1 Preparation......................................... 116 2.2.2 Step-by-Step........................................ 116 2.2.3 Details on the Commands Above.............................. 117 2.3 .param Files............................................. 120 2.3.1 Editing........................................... 120 2.3.2 Rationale.......................................... 121 2.3.3 Files and Their Usage.................................... 121 2.3.4 All Files........................................... 121 2.3.5 Python Generator (Third party)............................... 191 2.4 Plugins................................................ 191 2.4.1 Charge Conservation.................................... 191 2.4.2 Checkpoint......................................... 192 2.4.3 Count Particles....................................... 194 2.4.4 Count per Supercell..................................... 194 2.4.5 Energy Fields........................................ 195 2.4.6 Energy Histogram...................................... 196 2.4.7 Energy Particles....................................... 199 2.4.8 Intensity........................................... 201 2.4.9 ISAAC........................................... 202 2.4.10 openPMD.......................................... 207 2.4.11 Particle Calorimeter..................................... 211 2.4.12 Particle Merger....................................... 214 2.4.13 Particle Merger Probabilistic Version............................ 216 2.4.14 Phase Space......................................... 217 2.4.15 PNG............................................. 221 2.4.16 Positions Particles...................................... 226 2.4.17 Radiation.......................................... 227 2.4.18 Resource Log........................................ 236 2.4.19 Slice Emittance....................................... 237 2.4.20 Slice Field Printer...................................... 239 2.4.21 Sum Currents........................................ 240 2.4.22 Transition Radiation.................................... 241 2.4.23 xrayScattering........................................ 246 2.4.24 Period Syntax........................................ 248 2.4.25 Python Postprocessing................................... 248 2.5 TBG................................................. 249 2.5.1 Usage............................................ 249 2.5.2 .cfg File Macros....................................... 250 2.5.3 Batch System Examples.................................. 257 2.6 Python................................................ 258 2.6.1 Memory Calculator..................................... 259 2.7 Example Setups........................................... 260 2.7.1 Bremsstrahlung: Emission of Bremsstrahlung from Laser-Foil Interaction........ 260 2.7.2 Bunch: Thomson scattering from laser electron-bunch interaction............ 261 2.7.3 Empty: Default PIC Algorithm............................... 261 2.7.4 FoilLCT: Ion Acceleration from a Liquid-Crystal Target................. 261 2.7.5 KelvinHelmholtz: Kelvin-Helmholtz Instability...................... 262 2.7.6 LaserWakefield: Laser Electron Acceleration....................... 262 ii 2.7.7 TransitionRadiation : Transtion Radiation......................... 262 2.7.8 WarmCopper: Average Charge State Evolution of Copper Irradiated by a Laser..... 263 2.8 Workflows.............................................. 263 2.8.1 Adding Laser........................................ 263 2.8.2 Boundary Conditions.................................... 264 2.8.3 Setting the Number of Cells................................ 265 2.8.4 Changing the Resolution with a Fixed Target....................... 266 2.8.5 Calculating the Memory Requirement per Device..................... 266 2.8.6 Setting the Laser Initialization Cut-Off........................... 269 2.8.7 Definition of Composite Materials............................. 269 2.8.8 Quasi-Neutral Initialization................................. 269 2.8.9 Probe Particles....................................... 271 2.8.10 Tracer Particles....................................... 273 2.8.11 Particle Filters........................................ 274 3 Models 279 3.1 The Particle-in-Cell Algorithm.................................... 279 3.1.1 System of Equations.................................... 279 3.1.2 Relativistic Plasma Physics................................. 279 3.1.3 Electro-Magnetic PIC Method............................... 280 3.1.4 References......................................... 280 3.2 Finite-Difference Time-Domain Method.............................. 280 3.2.1 Discretization on a staggered mesh............................. 280 3.2.2 Maxwell’s equations on the mesh.............................. 281 3.2.3 Dispersion relation of light waves on a mesh........................ 283 3.2.4 Usage............................................ 287 3.2.5 References......................................... 287 3.3 Hierarchy of Charge Assignment Schemes............................. 287 3.3.1 References......................................... 288 3.4 Landau-Lifschitz Radiation Reaction................................ 288 3.4.1 References......................................... 288 3.5 Field Ionization............................................ 288 3.5.1 Overview: Implemented Models.............................. 289 3.5.2 Ionization Current...................................... 289 3.5.3 Usage............................................ 289 3.5.4 Barrier Suppression Ionization............................... 289 3.5.5 Tunneling Ionization.................................... 289 3.5.6 Predicting Charge State Distributions........................... 290 3.5.7 References......................................... 293 3.6 Collisional Ionization........................................ 293 3.6.1 LTE Models......................................... 293 3.6.2 NLTE Models........................................ 294 3.7 Photons................................................ 295 3.7.1 References......................................... 295 3.8 Binary collisions........................................... 295 3.8.1 1 Introduction........................................ 295 3.8.2 2 Usage..........................................