Sooty Solutions - Burnaby BC Consulting Company - Advising Business Managers on Security, Information Technology, Business Process Performance, & Best Practices
Sooty HomeContractors are BetterThe Sooty ApproachLong Range PlanningThe Sooty PartnersContact Us

Plasma Simulation

Quick Links
  Vacuum Pumps
  Vacuum Chambers
  Noble Gases
  Power Supplies
  Vacuum Gauges
  Plasma Tests

Simulating a Plasma

In a plasma there are positive ions and negative electrons. Opposites attract (+ attracts -) so there is a force on each drawing opposites together and likes repeal (- to - and + to +) forcing them apart. As each particle moves it appears as a current which creates a magnetic field. The magnetic fields of adjacent particles cause a force which pushes at right angles to the magnetic field and the direction of a particle.

Any particle sees attractive electrostatic forces, repulsive electrostatic forces and magnetic forces at right angles to its direction of motion. If we sum up all those forces we get a net force (vector) pushing it in some direction. Since we know the mass of the particle we can use F=ma to find its acceleration. If we integrate its acceleration we get its change in velocity (needed for the magnetic effects) and integrating that we can find its new position (needed for electrostatic effects).

For each step in the simulation and for each particle we calculate its new position and velocity. The assembly of all the particles represents the state of the simulation for that step. You start the simulation at some arbitrary state (usually a uniform distribution) and run it until you see a pattern emerge. Sometimes the pattern appears static because the particles move through the plasma in a recurring path. Usually the pattern is like a river with eddies and currents that are changing but still form a recognizable pattern. Occasionally there is no pattern and the simulation will not converge into something recognizable. The fact that the simulation does not converge may be because the real world device is chaotic or more likely you screwed up when you coded the simulation.

The nice part of a plasma simulation is that in the real world the particles are luminous. This means the shape of the glow in the vacuum chamber should look like the picture painted on a computer screen by the simulator.

Particle in Cell (PIC) Simulator

The XOOPIC simulator is the basis for the simulations used in this project. It is a 2D simulator which means you have to design the experimental devices to work in a two dimensional plane. This is not a problem for my project because my plasma amplifiers only do interesting things in two dimensions. There may be effects from the third dimension but these should not be large enough to invalidate the ability of the simulation to predict the behaviour of the devices.

As devices are constructed and the simulations are run the results will be posted (probably with OOPIC source code and pictures) here.

Nvidia Video Card Hardware Accelerator Using CUDA

Nvidia video cards (8400s, 8800, 9800s, 280s) are designed so they can be used as vector processors or massively parallel computers. An accurate simulation of plasma is a computationally intensive problem and the Nvidia cards should make the simulator run 100+ times faster than a PC CPU.

Nvidia are providing great support for using their cards as GPUs. They provide a support library (CUDA) and drivers specifically for operating their video cards as general purpose computers. Nvidia has written books on the use of their cards that include working code to demonstrate their capabilities. GPU Gems 1 and 2 are now freely available at the Nvidia site and many of the chapters and a lot of the code from GPU Gems 3 is also available. I have provided the splash page of GPU Gems 3 DVD for the links along with and extract of the ebook. I am using "Ch. 31: Fast N-Body Simulation with CUDA" as a starting point for my attempt to put OOPIC into an Nvidia card.

If you are looking to do something other than plasma simulation there is an active community at that is using Nvidia and other video cards as general purpose computers.

The Puddles Simulation Computer

My simulator hardware ("Puddles") is a water cooled computer using a quad core Intel motherboard with dual Nvida 8800 GTXs cards tied together with an SLI strap. This should provide nearly a teraFLOP of parallel computer power and allow very detailed simulations in a reasonable run time. As I work through trying to get OOPIC on an Nvidia card the progress, pictures and OOPIC/CUDA source code (some IP witheld) will be provided here.