We use the ZPIC educational code tool-suite to introduce particle-in-cell codes to graduate and undergraduate members of our team. ZPIC is an open-source code, written in C. All simulation inputs/outputs can be controlled by jupyter notebooks.
We developed a number of jupyter ZPIC notebook demonstrators of fundamental plasma physics phenomena that are useful to complement basic and advanced plasma physics courses at the undergraduate and graduate levels.
ZPIC is also ideal to develop and test new algorithms before their full implementation into a production PIC code (such as Osiris):