Concept Graph · Computational Plasma Simulation
Arrows mean "understand this first". The spine of the course is the descent from one kinetic equation through progressively cheaper descriptions — and the verification discipline that runs underneath all of them.
flowchart TD
BOLTZ["Boltzmann equation"] --> CLOSE["The closure problem"]
BOLTZ --> COLL["Collision operators"]
COLL --> CLOSE
CLOSE --> VP["Vlasov–Poisson (no closure)"]
CLOSE --> MHD["MHD (closed)"]
CLOSE --> GK["Gyrokinetics (reduced)"]
COLL --> LBM["Lattice Boltzmann (BGK)"]
NORM["Normalisation & resolution"] --> VP
NORM --> PIC["PIC: shape functions"]
VP --> SL["Semi-Lagrangian solver"]
SL --> LD["Landau damping benchmark"]
LD --> REC["Recurrence"]
LD --> TRAP["Nonlinear trapping"]
VP --> PIC
PIC --> BORIS["Boris pusher"]
BORIS --> WEIB["Weibel instability"]
PIC --> NOISE["How PIC lies"]
NOISE --> WEIB
MHD --> GOD["Godunov & Brio–Wu"]
GOD --> DIV["Divergence constraint"]
GK --> ZF["ITG & zonal flows"]
LBM --> D2Q9["The D2Q9 lattice"]
D2Q9 --> CE["Chapman–Enskog: ν = c_s²(τ−½)"]
CE --> TLBM["Thermal LBM & convection"]
TLBM --> VT["Temperature-dependent transport"]
VV["Verification & validation"] --> MMS["Manufactured solutions"]
VV --> DIAG["Numerical diagnostics"]
DIAG --> FIT["Growth-rate fitting"]
VV -.-> LD
VV -.-> GOD
VV -.-> CE
MMS -.-> VT
FIT -.-> WEIB
FIT -.-> LD
classDef found fill:#8e7cc3,stroke:#5b4b8a,color:#fff
classDef bench fill:#c0392b,stroke:#7b2418,color:#fff
class VV,MMS,DIAG,FIT found
class LD,WEIB,GOD,CE bench
Purple = the verification apparatus of Chapter 1 and 4, which applies to everything. Red = the four benchmarks the course insists your code must reproduce. Dotted arrows mean "is checked by".
Reading the graph
Three routes down from the Boltzmann equation, distinguished by what they refuse to give up:
- Keep all of \(f\) → Vlasov. Exact kinetics, no noise, crippling dimensionality.
- Sample \(f\) → PIC. Cheap in high dimension, and noisy in ways you must learn to distrust.
- Close the hierarchy → MHD. Fast, and blind to everything the closure discarded.
Plus two reductions that are neither: gyrokinetics removes a dimension by exploiting a time-scale ordering, and LBM discretises kinetics so aggressively that the discretisation becomes the model.