1-D particle-in-cell simulations of plasmas with kappa velocity distributions.
The main aim of this project was the development of a particle-in-cell (PIC) plasma simulation code. While particle-in-cell simulations are not new, they have largely focused on using an initial Maxwellian particle loading. The new feature the code implemented for this project is the use of kappa distributions as an initial loading. This specialises the code for the investigation of waves and instabilities in space plasmas having kappa-type velocity distributions. The kappa distribution has been found to provide a better fit to space plasma particle velocity distributions than the Maxwellian in a wide variety of situations. In particular, it possesses a power law tail which is a frequent feature of charged particle velocity distributions in space plasmas. Traditionally, the treatment of such out-of-equilibrium velocity distributions has been via a summation over several Maxwellians with different temperatures and average number densities. Instead, the approach used in this work is guided by recent advances in non-extensive statistical mechanics, which provide a rigorous underpinning for the existence of kappa distributions. As case studies, the simulation code was used to investigate the ion-acoustic instability as well as electrostatic Bernstein waves in both Maxwellian and kappa plasmas. Results were compared to kinetic theory and the differences in the Maxwellian and kappa plasma behaviours are discussed. To analyse the instabilities various diagnostics were used, including Fourier analysis of the wave fields to determine the dispersion relation, and particle binning to determine the particle velocity distributions. Both the Maxwellian and kappa particle loading algorithms were found to agree well with the theoretical velocity distributions and the dispersion relations were found to agree with kinetic theory for both kappa and Maxwellian plasmas. The code was developed in the C programming language using an incremental approach that enabled careful testing after each new level of sophistication was added. A version of the code was parallelised using Message Passing Interface (MPI) to take advantage of the distributed supercomputing environment provided by the CHPC.