# Introduction to Plasma Simulation Methods

Course Date: June 22 – August 17, 2021
Lecture Time: Tuesdays 7am to 10am US Pacific Time (tentative)
Registration Fee: $225 (full),$175 (student)
Early Bird Discout: \$15 until May 31st, 2021
Texbook: Brieda, Plasma Simulations by Example, CRC 2019
20% discount to former students!

## Overview

This new course introduces fundamentals of plasma simulations by following the content of my recent textbook. We start by reviewing basic programming principles as well as numerical techniques such as Finite Difference. We then learn how to develop a fully kinetic simulation of plasma in a grounded box utilizing the Particle in Cell (PIC) method. Next we cover particle-fluid hybrid approaches, material interactions, and collisions. From there, we have a crash course on the Finite Element Method, Eulerian (fluid) approaches, and electromagnetics. We close the course by introducing parallel computing using multithreading, MPI, and CUDA. At the end of the course, you should have a good understanding of the underlying principles behind PIC and MHD methods, and be able to develop your own 1D, 2D, and 3D plasma simulation codes The course also cover post-processing and data visualization.

## Format

The course consists of online lessons conducted through GoToMeeting. The lessons are recorded and the videos, along with pdf slides and code examples, are posted online shortly after each lesson ends. The course also includes optional homework assignments, which need to be completed in order to receive a certificate of completion.

## Textbook

In order to participate, please obtain a copy of my 2019 book Plasma Simulations by Example, available from Routledge (CRC Press), Amazon, Barnes & Noble, or other similar book vendors.

## Outline

• Lesson 1 (Fundamentals), Jun 22: In this lesson, we cover basic C++ and Python programming concepts such as variables, loops, and functions. We then learn how to approximate derivatives using the Finite Difference Method, and use it develop a simulation of a charged particle oscillating in a potential well.
• Lesson 2 (Grounded Box), Jun 29: We next develop a 3D Particle in Cell simulation of electrons and ions oscillating in a grounded box
• Lesson 3 (Flow Around a Sphere), Jul 6: In this lesson, we replace the electrons with a fluid approximation, and also add a solid internal boundary to simulate flow of ions past a charged sphere
• Lesson 4 (Material Interactions), Jul 13: Next, we add models to surface recombination. We also learn how to simulate interparticle collisions using Monte Carlo Collisions (MCC) and Direct Simulation Monte Carlo (DSMC) methods
• Lesson 5 (Symmetry), Jul 20: In this lesson, we see how to speed up the computation by considering symmetry and reduced dimensionality. We also learn about the Finite Volume Method (FVM).
• Lesson 6 (Unstructured Meshes), Jul 27: This lesson introduces PIC simulations on unstructured meshes. We start by learning how to track particles and interpolate data using tetrahedral elements. We then review the Finite Element Method (FEM) for solving potential.
• Lesson 7 (Electromagnetics), Aug 3: Next, we cover solution methods for magnetostatic and electromagnetic problems in which we need to compute the magnetic field.
• Lesson 8 (Eulerian Methods), Aug 10: This class first introduces solution techniques for the model advection-diffusion equation. We then demonstrate its use to solve a simplified form of the Magnetohydrodynamics (MHD) equation. We close by introducing Vlasov solvers.
• Lesson 9 (Parallel Processing), Aug 17:We introduce multithreading, distributed computing with MPI, and GPU programming with CUDA. We learn how to parallelize the particle push and a field solve.

## Examples

Below you will find example output from codes to be developed as well as example of lecture slides from prior courses.

## Assignments

The course contains weekly optional assignments. These assignments need to be completed (graded on effort) in order to receive a course certificate

## Requirements

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 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.

## Instructor

The instructor, Dr. Lubos Brieda (Ph.D. George Washington University 2012, M.Sc. Virginia Tech 2005), is the founder and president of Particle In Cell Consulting, LLC, a Los Angeles-based company specializing in providing tools and services for spacecraft contamination control and electric propulsion communities. He has over 15 years of experience developing plasma simulation codes for a wide range of applications, including electric propulsion, space environment interactions, surface processing, and plasma medicine. His teaching experience includes an on-going position of a Lecturer at Department of Astronautics as the University of Southern California, where he developed a new course on applied scientific computing.

Register now!