On partial pressure determination of condensable materials with a TQCM

In this article we look at how we could use surface flux collected by a quartz crystal microbalance (QCM) to compute the volumetric partial pressure of condensable materials such as magnesium vapor.

Initial Progress on Micro Cathodic Arc Thruster Plume Simulations

Preliminary results from a fully-kinetic simulation of a micro cathode arc thruster for nanosatellites. The thruster uses a magnetic field to turn an initially radial jet into the axial direction to crate thrust.

Bird’s DSMC0.FOR in Java

G.A. Bird included several example codes with his book on the DSMC method. These codes are written in Fortran 77 which makes them somewhat hard to understand due to short variable names and reliance on global variables. This post is a summary of my e...
Figure 5. Erosion Angle.

Surface Erosion

Every time a particle impacts a surface there is a chance that it will knock off or “sputter” some material from the surface. Over time this can cause noticeable degradation in high flux areas such as Hall thruster channels, electrostatic acceler...

HTML5 + Javascript DSMC Simulation

Details of the Javascript implementation of the Direct Simulation Monte Carlo (DSMC) method and a how to guide to plotting animated simulation results with Javascript and HTML5 canvas element.

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

Starfish Tutorial Part 5: Collisions and Chemical Reactions

The final part of the multipart Startfish tutorial. In this part we discuss adding material interactions, including chemical reactions, Monte Carlo Collisions (MCC), and Direct Simulation Monte Carlo (DSMC).

Starfish Tutorial Part 4: Steady State, Surface Flux, and Averaging

Part 4 of the multi-part Starfish tutorial. In this part we add commands to export surface properties such as surface flux, learn about steady state, and setup data averaging.

Starfish Tutorial Part 3: Surface Interactions

Part 3 of Starfish plasma simulation solver tutorial. Here we introduce surface interactions and modify the input files to simulate the recombinations of ions at the surface of the cylinder.

Starfish Tutorial Part 2: Particles and Animation

The second part of the multi-part Starfish tutorial. In this part we add particle sources to simulate flow of plasma over a cylinder. We also introduce animations.

Starfish Tutorial Part 1: Domain, Boundaries, and a Potential Solver

The first part of the multi-part Starfish tutorial. In this article we introduce the input files needed to setup a simulation for a flow of plasma over an infinitely long cylinder.

Exporting Magnetic Field from FEMM

FEMM is a powerful (and free) 2D magnetic, electrostatic, and heat transfer solver. FEMM contains a nice GUI for defining and analyzing the problem. It does not contain an option for exporting the results. However, you can export the results from FEM...

Finite Element Experiments in MATLAB

Collection of examples of the Continuous Galerkin Finite Element Method (FEM) implemented in Matlab comparing linear, quadratic, and cubic elements, as well as mesh refinement to solve the Poisson's and Laplace equations over a variety of domains.

A quick summary of the past six months

A quick summary of the projects completed over the past 6 months. These include development of a 2D plasma simulation code Starfish, publication of two papers, initial analysis of a plasma-wall interface, and development of a Java-based VTK GUI.

Interactive Elliptic Mesh Generation with SVG and Javascript

SVG and Javascript can be used to create interactive applications and graphical user interfaces. Here is an example of an interactive elliptic mesh generator.

Smooth Bézier Spline Through Prescribed Points

How do you construct a smooth line through a set of prescribed points? This article shows you how. It also includes an interactive SVG demo that allows you to try it in real-time.

Efficient Particle Data Structures

Particle codes have very different memory optimization requirements than fluid-based solvers. Here we consider three types of data structures for holding particles that offer an efficient way of adding and removing particles and compare their perform...

2D Finite Element Method in MATLAB

This tutorial discusses how to generate unstructured meshes using a Matlab code distmesh.m and how to use the mesh in a Matlab Finite Element Solver to solve the Poisson's equation on an unstructured domain.

Interpolation using an arbitrary quadrilateral

This article describes how to interpolate data between a particle and an arbitrary quadrilateral cell used in non-Cartesian grids. The technique is illustrated with several Matlab / Octave examples. The examples show how pick points located inside th...

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.