Advanced PIC Techniques

★ This course has now ended but you can access the course materials by registering ★
Student Area: access here
Past Course Date: September 19th – November 14th, 2016
Registration Fee: $650 (Regular), $325 (Student)
Register now!


This advanced plasma simulation course is a follow up to PIC Fundamentals. It covers three primary areas: particle in cell simulations on unstructured meshes (FEM-PIC), electromagnetic particle in cell (EM-PIC) method, and collision modeling with DSMC. In addition, we cover topics related to particle sampling and variable specific weight.

Course Objectives

At the conclusion of this course, you should have a solid understanding of the EM-PIC method. You should also understand how to use the DSMC and Finite Element methods. You should be able to develop a 3D electrostatic PIC code operating on an unstructured grid.

Course Format

The course consists of eight lectures that were conducted through Citrix® GoToMeeting. All registered students receive access to a student area where the course materials are posted. These materials include recordings of the lectures, copy of the lesson slides, and example codes. The course also includes optional homework assignments, which need to be completed in order to receive a certificate of completion.

Course Outline

  • Lesson 1 (Review, Particle Motion on Unstructured Grid):We start the course with study of particle motion on unstructured meshes. We learn how to generate unstructured meshes using the open-source program Salome. We then learn how to move particles, and how to interpolate values to and from the grid using basis functions.
  • Lesson 2 (Faster Particle Mover and 1D FEM): We first implement neighbor traverse to speed up the unstructured grid particle integrator. Next we learn about particle joining and splitting. We then switch to learning about the Finite Element Method. We develop a 1D FEM code to solve Poisson’s equation that builds the matrix “by hand”.
  • Lesson 3 (FEM/FVM Field Solver): We continue working on the 1D FEM example by adding code to build the stiffness matrix automatically. We then generate the mesh for the sphere problem and start learning about 3D Finite Element Method.
  • Lesson 4 (Unstructured Flow past a Sphere): We combine the FEM solver and unstructured mesh particle pusher to get a 3D FEM PIC code to simulate flow of ions past a charged sphere. We compare these results obtained on the Cartesian mesh in the PIC Fundamentals course.
  • Lesson 5 (Shape Factors, Variable Weight, and DSMC): In this lecture we’ll cover advanced particle techniques. We learn how to use higher-order shape functions and how to improve our statistics by using variable macroparticle weight. We also cover collision modeling using Direct Simulation Monte Carlo (DSMC).
  • Lesson 6 (Dielectrics, and 1D EM-PIC): We learn how to solve potential across dielectrics. We then develop a simple magnetostatic solver before starting developing a 1D EM-PIC code. We’ll learn how to advance the electric and magnetic fields.
  • Lesson 7 (Plasma Heating): We start by covering the Discrete Fourier Transforms method of solving potential. We then continue working on the 1D EM-PIC code, and use it perform a simulation of plasma heating by an electromagnetic wave.
  • Lesson 8 (2D EM-PIC): We conclude our study of EM-PIC by developing a 2D code. We cover the finite volume method and staggered grids. We also cover boundary conditions for EM codes and relativistic particle push.


Slide on FEM formulation and formation of a bow shock captured by the DSMC method. See Advanced PIC Debrief for more.


  • Homework 1 gives you a chance to practice the FEM method “by hand”.
  • Homework 2 asks you to write a program to build the FEM matrix automatically on a 1D domain.
  • Homework 3 lets you compare DSMC to MCC by having you develop a simple collision test program.
  • Homework 4 is a Fourier Transform Method solution of the Poisson’s equation.
  • Homework 5 involves completing a 2D EM-PIC code from the class lecture.


The instructor, Dr. Lubos Brieda, is the founder and president of Particle In Cell Consulting, LLC, a Los Angeles-based company specializing in providing tools and services for the plasma physics and rarefied gas communities. Dr. Brieda has over 10 years of experience developing PIC codes for a wide range of applications, including electric propulsion, space environment interactions, surface processing, and plasma medicine. His teaching experience includes the position of a Lecturer at the George Washington University.


Completion of the PIC Fundamentals course, or an existing understanding of the Particle In Cell (PIC) method, including particle motion, mesh interpolation, and field solving. In addition, all students are expected to have a basic understanding of numerical techniques, plasma and gas dynamics, and computer programming. The lectures and demonstration programs will utilize the C++ and Python programming languages. Students need to have access to a computer with a compiler of choice. Computer with Internet access will be needed to access the lectures and course material. The course will be conducted in English.

Register now!