Syllabus and Class Notes

Computational Methods for Kinetic Processes in Plasma Physics

PH 789, FALL 2014 (planned)

COURSE SUMMARY: This course is intended to provide students with basic concepts of computer simulation using particle-in-cell (PIC) code to understand kinetic processes in plasmas. PIC simulation is, in principle, a most accurate method and provides the widest range of plasma effects. Recently the computer power is powerful enough to perform reasonable 3-dimensional simulations to investigate realistic plasma dynamics. The course will cover the fundamental concepts of plasma simulation through performing one-dimensional electrostatic codes and electromagnetic codes with the related numerical methods and analyses. Starting with brief plasma physics, the mathematics and physics behind the algorithms will be described. We will explore how PIC simulations reveal plasma behaviors that are highly nonlinear phenomena. The final part of this course provides an introduction to modern 3-dimensional simulation studies using super computers, where the message passing interface (MPI) protocols are used to write numerical codes that can be efficiently run on multi-core or multi-processor machines or even large scale distributed memory clusters.

Course Goals:

After completing this course, you should

  • be familiar with the numerical method of PIC codes.
  • know about the PIC code to study the fundamental plasma physics.
  • understand the physical principles that control plasmas.
  • know the important properties of the linear and nonlinear processes in plasmas.
  • understand how PIC simulations works to improve our understanding of complex phenomena in plasma dynamics in nature.
  • have a strong enough background to be able to understand and enjoy articles about kinetic processes in plasmas, and to find the necessity of MHD simulations to understand the macroscopic dynamics in plasma.

Text: Plasma Physics via Computer Simulation (Series in Plasma Physics)”,

C.K. Birdsall and A.B. Langdon; ISBN-10: 0750310251, ISBN-13: 978-0750310253 Paperback (Programs in the text book are written in Fortran)


  • Program languages: Fortran or C;
  • PH 531 Introduction to Plasma Physics; Ph 631 Electromagnetic Theory I;
  • preferably PH 673 High Energy Astrophysics


  1. Plasma physics on computer (General description)
  2. Kinetic Plasma Simulations (nonphysical instability, approximate nonlinear analysis, plasma behavior, linear weighting, nonphysical effects)
  3. How PIC works (cold plasma dispersion, plasma dispersion function)
  4. Electrostatic codes (grid quantities, beat heating)
  5. ES1 test run (dipole scheme, grid noise)
  6. Electromagnetic codes (hybrid oscillation, warm plasma, unmagnetized plasma)
  7. EM1 test run (force weighting)
  8. Finite-difference Time-Domain Maxwell solver on Yee grid (leapfrog algorism)
  9. Particle movers: Boris’s algorism
  10. Conservative charge deposition method
  11. Boundary conditions (particles and fields)
  12. Simulations for astrophysical plasmas
  13. Recent work 1: Weibel instability in relativistic jets (radiation, weighted beam)
  14. Recent work 2: Reconnection (particle acceleration)

Further readings:

Plasma Physics for Astrophysics”, (Princeton Series in Astrophysics) Russel M. Kulsrud, ISBN-10: 0691120730, ISBN-13: 978-0691120737

Classical Electrodynamics”, J. D. Jackson, 1962, 1974, John Wiley & Sons, Yew York, ISBN 0-471-43132-X

Class Notes in Fall 2011 (will be revised in Fall 2014)

Class1: August 18 (Class1Aug18.ppt)(pdf)

Class2-3: August 23 (Class2-3Aug23.ppt)(pdf)

Class5: September 1 (Class5Sept1.ppt)(pdf)

Class6: September 6 (Class6Sept6.ppt)(pdf)

Class7: September 8 (Class7Sept8.ppt)(pdf)

Class8: September 13 (Class8Sept13.ppt)

Class9: September 15 (Class9Sept15.ppt)

Class10: September 20 (Class10Sept20.ppt)

Class11: September 22 (Class1Sept22.ppt)

Class12: September 27 (Class12Sept27.ppt)

Class13: September 28 (Class13Sept28n.ppt)

Class14: September 29 (Class14Sept29.ppt)

Class15: October 11 (Class15Oct11.ppt)

Class16: October 13 (Class16Oct13.ppt)

Class18: October 18 (Class18Oct18n.ppt)

Class19: October 20 (Class19Oct20.ppt)

Class20: October 27 (Class20Oct27.ppt)

Class21: November 1 (Class21Nov1.ppt)

Class22: November 3 (Class22 Nov3.ppt)

Class23: November 8 (Class23Nov8.ppt)

Class24: November 10 (Class24Nov10.ppt)

Class25: November 15 (Class25Nov15.ppt)

Class26: November 17 (Class26Nov17.ppt)