Plasma Simulation Courses


3/18/2020: With so many of you now quarantined away from work or offices, you may be interested in catching up on the Particle in Cell Method. Hence, I decided to reduce the price of my Fundamentals of the Particle in Cell Method to only $55 for the full and $25 for the student registration. Take advantage of this special offer as it may not last long!

1/1/2020: This semester (Spring 2020), I am teaching ASTE-499 Applied Scientific Computing at USC Viterbi Department of Astronautical Engineering. This course is basically intro to scientific computing beyond Matlab. We cover the following topics:

  1. Overview of programming languages
  2. C++ Object Oriented Programming
  3. Interactive online simulations with Javascript
  4. Finite Difference and Finite Volume methods
  5. Solution techniques for steady and unsteady advection-diffusion equation
  6. Kinetic methods for rarefied gases and plasma simulations (DSMC and PIC)
  7. Code documentation, version control, and unit testing
  8. Parallelization with multithreading, MPI, and CUDA
  9. Embedded computing with Arduino and FPGAs
  10. Optimization and machine learning

I am hoping that this course will eventually become a standard part of the curriculum. I am also hoping to get another book written covering the material.

For this reason, I am also currently not teaching my online simulation courses. However, you can access the old recordings by registering below, or alternatively, you can purchase my book Plasma Simulations by Example (use FMQ13 code for a discount).

Course Listing

Here is a brief overview of all available courses. Registering for PIC Fundamentals, Advanced PIC, or Distributed Computing will give you instant access to the materials from the last time the course was held “live”. I am available to review your assignments and answer any questions. You will also receive the certificate if all assignments are completed.

  1. Fundamentals of the PIC method: This course introduces the Particle in Cell method used for kinetic plasma simulations using a step-by-step approach. We will develop 1D, 3D, and 2D (axisymmetric) codes to simulate plasma sheath, E×B transport, plasma flow past a charged sphere, and a simple ion gun.
  2. Advanced PIC techniques: This course covers topics beyond the scope of the intro course. It covers three main concepts: electromagnetic PIC (EM-PIC), Direct Simulation Monte Carlo (DSMC) collision modeling, and finite element PIC (FEM-PIC).
  3. Distributed Computing for Plasma Simulations: In this course you’ll learn how to develop plasma simulation codes that utilize multiple CPUs and graphic cards to handle larger simulation domains or to run faster. We’ll cover multithreading, distributed computing with MPI, and GPU computing using CUDA.
  4. Fluid modeling of plasmas (March 2018): This new course will teach you how simulate dense plasmas in which the continuum assumption holds. We will cover single and multi-fluid MHD equations as well as hybrid approaches with detailed electron model and some advanced topics like Vlasov solvers.

Do not hesitate to email me if you have any questions.


Course Selection
Course NameFullUniE/B
PIC Fundamentals 55 25
Distributed Computing 650 325
Advanced PIC 650 325
Fluid Modeling 650 325
Total: 0 USD

Excludes returning-student discount

Register for two or more courses and receive a 20% discount

Check to select the discounted student rate
Registration Information Name:
Affiliation: (optional for full rate, required if registering for student rate)
Email Address: (student area access information will be sent here)

Returning students: use the same email address used previously to receive 20% discount when registering for a single course

You will be able to review your information on the next page


I am halfway through the course and I really have to thank you because you have made complex subject accessible, especially for those who do not have a computational background. – DM

This is a great course! – KD

Thank you for all courses, which were, and will be, very helpful for my work. – WK

Some of my students have taken your PIC course couple years ago and in general find the experience useful and rewarding. Having access to these type of courses is especially important for me, as myself I am not a computational person and have to rely on collaborators for help with computations for my students. – Prof. A. S.