eduPIC: an introductory particle based code for radio-frequency plasma simulation

Particle based simulations are indispensable tools for numerical studies of charged particle swarms and low-temperature plasma sources. The main advantage of such approaches is that they do not require any assumptions regarding the shape of the particle velocity/energy distribution function (VDF/EDF), but provide these basic quantities of kinetic theory as a result of the computations. Additionally, they can provide, e.g. transport coefficients, under arbitrary time and space dependence of the electric/magnetic fields. For the self-consistent description of various plasma sources operated in the low-pressure (nonlocal, kinetic) regime, the particle-in-cell simulation approach, combined with the Monte Carlo treatment of collision processes (PIC/MCC), has become an important tool during the past decades. In particular, for radio-frequency (RF) capacitively coupled plasma (CCP) systems PIC/MCC is perhaps the primary simulation tool these days. This approach is able to describe discharges over a wide range of operating conditions, and has largely contributed to the understanding of the physics of CCPs operating in various gases and their mixtures, in chambers with simple and complicated geometries, driven by single- and multi-frequency (tailored) waveforms. PIC/MCC simulation codes have been developed and maintained by many research groups, some of these codes are available to the community as freeware resources. While this computational approach has already been present for a number of decades, the rapid evolution of the computing infrastructure makes it increasingly more popular and accessible, as simulations of simple systems can be executed now on personal computers or laptops. During the past few years we have experienced an increasing interest in lectures and courses dealing with the basics of particle simulations, including the PIC/MCC technique. In a response to this, the current paper (i) provides a tutorial on the physical basis and the algorithms of the PIC/MCC technique and (ii) presents a basic (spatially one-dimensional) electrostatic PIC/MCC simulation code, whose source is made freely available in various programming languages. We share the code in C/C++ versions, as well as in a version written in Rust, which is a rapidly emerging computational language. Our code intends to be a ‘starting tool’ for those who are interested in learning the details of the PIC/MCC technique and would like to develop the ‘skeleton’ code further, for their research purposes. Following the description of the physical basis and the algorithms used in the code, a few examples of results obtained with this code for single- and dual-frequency CCPs in argon are also given.

[1]  A. Lichtenberg,et al.  Principles of Plasma Discharges and Materials Processing , 1994 .

[2]  P. Couturier Japan , 1988, The Lancet.

[3]  Guy E. Blelloch,et al.  Pthreads for Dynamic and Irregular Parallelism , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[4]  Bartosz Chaber Particle-in-Cell code for gas discharge simulations , 2020, 2020 IEEE 21st International Conference on Computational Problems of Electrical Engineering (CPEE).

[5]  D. Voloshin,et al.  ‘Virtual IED sensor’ for df rf CCP discharges , 2020, Plasma Sources Science and Technology.

[6]  Rodion Groll,et al.  picFoam: An OpenFOAM based electrostatic Particle-in-Cell solver , 2021, Comput. Phys. Commun..

[7]  J. W. Gallagher,et al.  Nonequilibrium Effects in Ion and Electron Transport , 1990 .

[8]  John P. Verboncoeur OOPIC: object oriented particle-in-cell code , 1995 .

[9]  T. Makabe,et al.  Plasma Electronics: Applications in Microelectronic Device Fabrication , 2006 .

[10]  Peter Van Roy,et al.  Concepts, Techniques, and Models of Computer Programming , 2004 .

[11]  Olivier Richard,et al.  CONCURRENCY AND COMPUTATION : PRACTICE AND EXPERIENCE , 2018 .

[12]  Christian Oehr,et al.  Plasma processes and polymers , 2004 .

[13]  N. Hanzlikova Particle-in-cell simulations Of highly collisional plasmas on the GPU in 1 and 2 dimensions , 2015 .

[14]  R W Hockney,et al.  Computer Simulation Using Particles , 1966 .

[15]  Michael A. Lieberman,et al.  Principles of Plasma Discharges and Materials Processing, 2nd Edition , 2003 .

[16]  Bhaskar Chaudhury,et al.  A Novel Implementation of 2D3V Particle-in-Cell (PIC) Algorithm for Kepler GPU Architecture , 2017, 2017 IEEE 24th International Conference on High Performance Computing (HiPC).