Skip to content

PHY653B · Computational Plasma Simulation

A knowledge wiki for PHY653B — Thammasat University graduate course, the second half of the computational sequence. PHY653 taught you to write a simulation. This course is about writing one you would be willing to defend.

The course in one paragraph

Everything descends from one equation — the Boltzmann equation for the distribution function — and every method in this course is a different admission that you cannot solve it. Take moments and you get fluid equations plus an unclosed term: the closure problem, which never terminates. Keep all of \(f\) on a grid and you get the Vlasov solver, which reproduces Landau damping exactly and then betrays you with recurrence at a time you can predict from the grid alone. Sample \(f\) with markers instead and you get PIC, which is cheap, noisy, and lies in specific, catalogued ways. Give up on kinetics and you get MHD, where the difficulty moves to shock capturing and the divergence constraint. Average over the gyro-orbit and you get gyrokinetics and the zonal flows that regulate tokamak turbulence. And in the last third, a method that is not a plasma method at all — the lattice Boltzmann equation, where the discretisation is the kinetic theory, and the viscosity is a prediction you can check to three digits.

Running underneath all of it is the part that makes it research rather than programming: verification and validation, the method of manufactured solutions, and diagnostics that survive contact with a referee.

Learning path

Chapter Topics
1 · Foundations Closure problemCollision operatorsNormalisation & resolutionVerification & validationManufactured solutions
2 · Vlasov & velocity space Vlasov–PoissonSemi-Lagrangian solverLandau damping numericallyRecurrenceNonlinear trapping
3 · PIC done properly Shape functionsBoris pusherWeibel instabilityHow PIC lies
4 · Diagnostics From arrays to claimsGrowth rates and why R² lies
5 · Magnetohydrodynamics Godunov MHD & Brio–WuThe divergence constraint
6 · Gyrokinetics Gyrokinetic orderingZonal flows
7–9 · Lattice Boltzmann The D2Q9 latticeChapman–EnskogThermal LBM & convectionVariable transport

Jump in

The habit this course is really teaching

Every method here has a number it must reproduce: \(\gamma = -0.15336\) for Landau damping at \(k\lambda_D = 0.5\); \(\nu = c_s^2(\tau - \tfrac12)\) for the lattice; second-order convergence for the Boris pusher; the Brio–Wu shock positions. Before you trust a result your code has never been asked to check, find the benchmark. A simulation that has not reproduced a known answer is not evidence of anything.

Where this sits

Prerequisite: PHY653 for integrators, field solvers and basic PIC. The physics being simulated is PC368 — Landau damping, instabilities, MHD equilibrium and stability. The fluid chapters connect to PC316, and the contour deformation behind the Landau problem is developed in PHY622.