MATLAB modules for introductory plasma physics

## Introduction to Plasma Physics with Applications

Educational material by Andre Jaun (KTH/Stockholm) and Anders Bondeson (CTH/Gothenburg).

Even if the phenomena described in an introductory undergraduate plasma physics course are in principle simple, teaching the subject quickly leads to the use of rather heavy mathematics. Indeed, plasma physics combines electromagnetics, mechanics and fluid dynamics, which are generally considered difficult subjects. Students are nowadays highly computer literate, at the expense however of old fashioned skills in analytical theory. Rather than reducing the scope of the material presented, these modules aim at using their new strengths; in fact, this makes it possible to take the physical descriptions to a higher degree of realism while also familiarizing the students with the limitations intrinsic to numerical methods.

 Single particle motion in electric and magnetic fields (SPM)

Purpose. This application integrates the ordinary differential equations of motion (Newton's equation) for a charged particle in prescribed electric and magnetic fields (resulting in a Lorentz force modifying the trajectory). Relying on a powerful user interface from Matlab with buttons and sliders, the script is written so as to make it easy for the student to prescribe any field configuration and plot the resulting particle trajectory. A number of configurations of practical interest are already preset, such as constant, dipole and toroidal magnetic fields with or without rotational transform. In the simple cases, the student can for example directly observe and measure the Larmor radius, ExB, Grad(B), the curvature and the polarization drifts. More complicated examples illustrate the principle of magnetic confinement in a tokamak and show how charged particles get trapped in the earth's magnetic field.
Code. In Matlab command language (version 5.2-7.0), including the graphics interface spm.m (271 lines), the equations of motion eqMotion.m (119 lines) and the input data data.m (23 lines). The application has been tested 1998-2001 in the classroom: here is an example showing the trajectory of a fast electron trapped in the dipole field of the earth and viewed from the equator.
Distribution. Register to immediately download the source file(s) and pay a small fee (USD 29.00) using a secured paypal credit-card payment.

 Dispersion relation of a cold plasma (DSPRL)

Purpose.The propagation of electromagnetic waves is an important and very rich subject in plasma physics.  Applications include many diverse subjects such as reflection of light by a mirror, the propagation of perturbations in the ionosphere or interstellar space, interferometry, and heating schemes used in fusion devices. In a straightforward, but very useful approximation, the entire subject can be studied starting from the same quadratic dispersion relation for an index of refraction.  This is very tedious to solve analytically, but extremely easy to handle numerically in Matlab, for example, for a varying frequency or inhomogeneous plasma parameters. A number of scenarii of physical interest are already preset, such as short waves in the ionosphere, waves in the upper and lower hybrid range, ion-ion mode conversion current drive and fast or Alfven wave heating in tokamaks. The wave branches can directly be plotted and the input parameters modified, prescribing the profiles in an interactive command window and changing parameter with a slider.
Code. In Matlab command language (version 5.2-7) for the entire script dsprl.m (593 lines). The application has been tested 1999-2001 in the classroom: here is an example of the wavelengths calculated for a DIII-D tokamak ion-ion hybrid heating scenario.
Distribution. Register to immediately download the source file(s) and pay a small fee (USD 29.00) using a secured paypal credit-card payment.

 Particle in cell simulation (PIC)

Purpose.A self-consistent evolution of the Newton-Poisson equations is computed in 1D using the particle-in-cell method.  Applications include non-linear plasma oscillations, the instability of counter-propagating electron beams in a periodic plasma and the behaviour of a Bohm sheath in a radio-frequency heated bounded plasma device.  The plasma evolution is diagnosed by selecting plots for the phase-space, the charge density, the electric field / potential in configuration or Fourier space.
Code. In Matlab command language (version 5.2-7.0) for the entire script pic.m (690 lines) and a small driver for quiet start initialization revers.m. The application has been tested 2000-2001 in the classroom: here is an example of a calculation showing the formation of a Bohm sheath in an industrial plasma used for ion-implantation.
Distribution. Register to immediately download the source file(s) and pay a small fee (USD 29.00) using a secured paypal credit-card payment.

 Ray-tracing in a tokamak (RAY)

Purpose.Currently under development in collaboration with A.Kaufman (UC Berkeley) and E.Tracy (William & Mary), the code solves for the trajectories of electromagnetic waves assimilated to rays in toroidal geometry. Applications include the radio-frequency heating and current drive in fusion energy devices.   This set of modules may be useful at a graduate level to familiarize the students with the toroidal geometry of tokamaks.
Code. In Matlab command language (version 5.2-7.0) for the entire script.This application has not been tested yet for teaching purposes: here is an example of a pencil of magnetosonic rays reflected at the evanescent layer in front of the ion-ion hybrid resonance.
Distribution. The code is under development to tackle mode-conversion in 2D and is not at present openly distributed. You may however inquire about a possible collaboration by contacting André Jaun.

 Our experience in the classroom (CTH/Gothenburg, Sweden).

For all these projects, it is the initial educational motivation that led to the analytic formulation and the design of an application; this ensures that all the functionalities are really useful and what is needed is also available. The choice of the Matlab command language is motivated by the simplicity of the language which is also very familiar to the engineering students in Sweden.   Advanced functions in the programming environment considerably reduced the development time for the graphical user interface. Because of the large number of preset cases, debugging and testing the scripts were particularly important. Certainly, the Matlab programmes have simplified teaching an otherwise difficult subject.  One big advantage is that many principles can be very concretely illustrated.  We have been able to cut down on algebra, which has made it possible to focus more on applications and this is appreciated by the students.

 Copyright © Lifelong-learners at Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Denver' for 'MDT/-6.0/DST' instead in /home/lifejau0/public_html/share/SRC/macros.php on line 369 12:04:39, June 19th, 2013