Plasma Physics Programs

Interactive simulations for computational plasma physics — particle motion, wave phenomena, and kinetic instabilities

These Python programs run directly in your browser using Pyodide (WebAssembly Python). The first run downloads the Python environment (~15MB). Click "Run" to execute!

Charged Particle Motion

Boris pusher algorithm for charged particle gyration and EƗB drift in uniform fields

Click Run to execute the Python code

First run will download Python environment (~15MB)

Key Equations of Plasma Physics

Fundamental Plasma Parameters

Debye Length:

$$\lambda_D = \sqrt{\frac{\varepsilon_0 k_B T_e}{n_e e^2}}$$

Plasma Frequency:

$$\omega_{pe} = \sqrt{\frac{n_e e^2}{\varepsilon_0 m_e}}$$

Cyclotron Frequency:

$$\omega_c = \frac{|q|B}{m}$$

Larmor Radius:

$$r_L = \frac{m v_\perp}{|q| B}$$

Vlasov Equation

$$\frac{\partial f}{\partial t} + \vec{v} \cdot \nabla f + \frac{q}{m}(\vec{E} + \vec{v} \times \vec{B}) \cdot \frac{\partial f}{\partial \vec{v}} = 0$$

Collisionless kinetic equation for the distribution function \( f(\vec{x}, \vec{v}, t) \)

Langmuir Wave Dispersion

$$\omega^2 = \omega_{pe}^2 + 3k^2 v_{th}^2$$

Landau damping rate:

$$\gamma_L \approx -\sqrt{\frac{\pi}{8}} \frac{\omega_{pe}}{(k\lambda_D)^3} \exp\!\left(-\frac{1}{2k^2\lambda_D^2}\right)$$

Magnetohydrodynamics

MHD Momentum:

$$\rho\frac{d\vec{v}}{dt} = -\nabla p + \vec{J} \times \vec{B}$$

Alfven Speed:

$$v_A = \frac{B}{\sqrt{\mu_0 \rho}}$$

Magnetic Pressure:

$$p_B = \frac{B^2}{2\mu_0}$$

Plasma Beta:

$$\beta = \frac{2\mu_0 n k_B T}{B^2}$$

Guiding Center Drifts

E x B Drift

$$\vec{v}_E = \frac{\vec{E} \times \vec{B}}{B^2}$$

Grad-B Drift

$$\vec{v}_{\nabla B} = \frac{m v_\perp^2}{2qB^3} \vec{B} \times \nabla B$$

Curvature Drift

$$\vec{v}_R = \frac{m v_\parallel^2}{qB^2} \frac{\vec{R}_c \times \vec{B}}{R_c^2}$$