J. P. Verboncoeur, A. B. Langdon, and N. T. Gladd
Electronics Research Laboratory, University of California, Berkeley, CA 94720
Physics Department, Lawrence Livermore National Laboratory, Livermore, CA 94550
Berkeley Research Associates, Berkeley, CA 94701
The object-oriented paradigm provides an opportunity for advanced PIC modeling, increased flexibility, and extensibility. Particle-in-cell codes for simulating plasmas are traditionally written in structured FORTRAN or C. This has resulted in large legacy codes which are difficult to maintain and extend with new models. In this ongoing research, we apply the object-oriented design technique to address these issues. The resulting code architecture, OOPIC (Object Oriented Particle-in-Cell), is a two-dimensional relativistic electromagnetic PIC code. The object-oriented implementation of the algorithms is described, including an integral-form field solve, and a piecewise current deposition and particle position update. The architecture encapsulates key PIC algorithms and data into objects, simplifying extensions such as new boundary conditions and field algorithms.