Posts in Category Plasma Simulation

Setting up an Ubuntu Linux Cluster

Step-by-step tutorial for setting up an MPI Ubuntu cluster with network file system to be used for parallel distributed computing (Sep 7 2020)

Arduino Plasma Simulation

An example electrostatic particle-in-cell simulation was developed that runs on the Arduino microcontroller. Field results are visualized over serial port using Python. (May 27 2020)

Fun with Raspberry Pi – plasma simulation code performance

Raspberry Pi 3 Model B is a $40 credit card sized computer with 1.2GHz CPU and 1Gb of RAM. But before buying bunch of the boards to build a small MPI cluster, I wanted to see how the performance compares to a typical PC. (May 16 2016)

Brief Intro to GPU PIC with CUDA

This post shows how to develop a PIC plasma simulation code that uses NVIDIA CUDA to perform computations on the graphics card (GPU). Even without any optimization, the GPU version runs almost twice as fast as the CPU version for a large number of particles. (Feb 25 2016)

Finite Element Particle in Cell (FEM-PIC)

Example Finite Element Particle in Cell code for flow of ions past a charged sphere on an unstructured mesh (Dec 23 2015)

Particle In Cell Method in Cylindrical Coordinates

Details of implementing plasma simulations with the Particle In Cell Method in cylindrical coordinates. We develop a simulation of a simplistic ion gun. (Jun 15 2015)

Two Stream Instability Javascript Simulation

Particle In Cell (PIC) plasma simulation of two-stream instability implemented in Javascript and running in your browser. Two cold beams interact with each other until streaming is destroyed and particles become trapped in phase space vortices. (Apr 29 2015)

Current Density Limit

Ion thrusters are space charge limited devices, with maximum current density given by the Child Langmuir law. This simulation code explores the impact of space charge saturation on the flow between two planar electrodes. (May 27 2014)

Direct Simulation Monte Carlo (DSMC) Method

DSMC, or Direct Simulation Monte Carlo, is a particle based method for simulating gas kinetics. Popularized by G.A. Bird in the 60's, this method is now commonly used as an alternative to CFD. In addition, DSMC is commonly combined with PIC codes to include collisions in plasma simulations. This article demonstrates the method with an interactive HTML5 DSMC demo. (Dec 19 2012)

Loading an isotropic velocity distribution

Tutorial on the simple but important topic of loading particles with uniform spatially distributed velocity. This loading is important when loading background gas for particle simulations or when loading drifting Maxwellian beams. (May 24 2012)

Simple Particle In Cell Code in Matlab

This article includes the source code for a simple particle in cell code. The code simulates flow of plasma over a charged plate and is written in Matlab. (Nov 28 2011)

Monte Carlo Collisions (MCC) Example

Monte Carlo Collisions (MCC) is a simple algorithm for modeling particle collisions in situations where the target species is much denser than the source. In this example we use this method to model the charge-exchange (CEX) process in the plume of an ion thruster. We include an animation and the example Java source code. (Nov 24 2011)

Charge Exchange Collisions (CEX)

Charge exchange is an important reaction occurring in the plumes of electric propulsion devices. In this reaction, an ion and neutral come into a close contact and exchange an electron without any corresponding change in the momentum of the two particles. In the EP plumes this results in the formation of slow moving ions near the thruster exit. These ions are then accelerated radially out of the plume into areas with no line of sight to the thruster. (Nov 16 2011)

Particle Push in Magnetic Field (Boris Method)

A follow up on the previous article, in this tutorial we show you how to integrate the particle motion in the presence of a magnetic field. Inclusion of the magnetic field makes the integration an implicit problem, and care needs to be taken to conserve energy. A simple forward differencing would result in a non-physical energy gain, and the particle would spiral away from the guiding center. (Jul 11 2011)

Leapfrog Particle Push (Velocity Integration)

In this article we discuss probably the most fundamental aspect of numerical simulations with the particle in cell (PIC) method: pushing particles. We introduce the commonly used leapfrog method, and provide a simple numerical algorithm in the form of an Excel spreadsheet that implements this method. (Jul 10 2011)

The Electrostatic Particle In Cell (ES-PIC) Method

Particle In Cell (PIC) is the name of a method used to numerically model dynamics of ionized gases, or plasmas. Its name stems from the fact that the gas is represented by a large number of computational particles that move in a disretized domain. The mesh cells are used to determine the global interactions between the charged particles. In this tutorial we show you how to implement the PIC method and provide a simple Matlab PIC code. (Nov 8 2010)