We have developed educational Jupyter notebooks that allow users to run PIC codes to study:

  • Dispersion relation for electron plasma waves
  • Dispersion relation for light waves
  • Light waves traveling from vacuum into plasma (with either gradual or sharp gradient)
  • X- and O-mode dispersion
  • Propagating X-waves
  • R- and L-waves
  • Faraday rotation
  • Two-stream instability
  • Velocities: introduction to phase and group velocity (no simulations)

Each notebook has a theory section that presents theory on a specific topic, followed by a simulation section that allows students to run PIC codes from within the notebook, plot the output, and analyze the results in the context of the theory.

We invite you to try running the notebooks here: https://jupyter.picksc.org.

The public GitHub repository for these notebooks, along with instructions for running them on your personal system, are available here: https://github.com/UCLA-Plasma-Simulation-Group/JupyterPIC.

Finally, for those who are interested in deploying these notebooks on a JupyterHub, we are happy to talk with you about our experiences in doing this for an undergraduate class.