An improved iteration loop for the three dimensional quasi-static particle-in-cell algorithm: QuickPIC
We present improvements to the three-dimensional (3D) quasi-static particle-in-cell (PIC) algorithm, which is used to efficiently model short-pulse laser and particle beamplasma interactions. In this algorithm the fields including the index of refraction created by a static particle/laser beam are calculated. These fields are then used to advance the particle/laser beam forward in time (distance). For a 3D quasi-static code, calculating the wake fields is done using a two-dimensional (2D) PIC code where the time variable is ?=ct-z ? = ct - z and z is the propagation direction of the particle/laser beam. When calculating the wake, the fields, particle positions and momenta are not naturally time centered so an iterative predictor corrector loop is required. In the previous iterative loop in QuickPIC (currently the only 3D quasi-static PIC code), the field equations are derived using the Lorentz gauge. Here we describe a new algorithm which uses gauge independent field equations. It is found that with this new algorithm, the results converge to the results from fully explicitly PIC codes with far fewer iterations (typically 1 iteration as compared to 28) for a wide range of problems. In addition, we describe a new deposition scheme for directly depositing the time derivative of the current that is needed in one of the field equations. The new deposition scheme does not require message passing for the particles inside the iteration loop, which greatly improves the speed for parallelized calculations. Comparisons of results from the new and old algorithms and to fully explicit PIC codes are also presented.
quasi-static pic plasma wake field accelerator beam plasma interaction