PlasmaPy Wave-Dispersion Laboratory
A completed plasma physics study of wave dispersion, phase and group speed, model validity, solver agreement, and collisionless Landau damping across three controlled plasma regimes.

Software compatibility
The released source, retained results, tests, and documents use Python 3.12 and PlasmaPy 2026.2.0. MATLAB, Mathematica, COMSOL, and proprietary plasma-simulation files are not included.
Project definition
Problem statement
A dispersion curve can look smooth even when a solver is being used outside its physical assumptions. Plasma regime, propagation angle, scale, branch identity, and frequency ordering must be retained with every result.
The physics problem is to compare selected fluid and kinetic wave relations while keeping their assumptions visible and separating model output from spacecraft or laboratory measurement.
Project objectives
- Calculate characteristic plasma scales for solar-wind, magnetosheath, and low-beta laboratory profiles.
- Evaluate fast, Alfven, and ion-acoustic branches over controlled wavenumber and angle grids.
- Compare the complete two-fluid and reduced Hollweg relations inside their shared validity region.
- Test kinetic-Alfven frequency and parallel phase-speed ordering over five propagation angles.
- Solve the complex Vlasov-Poisson dielectric relation and quantify Landau damping.
- Retain every result, validity flag, figure, and numerical residual needed for reproduction.
Project structure
Project components
Plasma scales
Uses Astropy and PlasmaPy quantities to calculate inertial lengths, Debye length, gyrofrequencies, thermal speeds, Alfven speed, sound speed, and plasma beta.
Fluid dispersion
Evaluates complete two-fluid and Hollweg branches across declared profiles, angles, and normalized wavenumbers.
Kinetic checks
Evaluates the kinetic-Alfven approximation and solves complex Langmuir roots with explicit validity and residual checks.
Evidence analysis
Calculates phase speed, group speed, solver differences, approximation boundaries, and exact study summaries.
Documentation
Retains CSV and JSON evidence, labelled figures, public literature images, annotated references, tests, and editable documentation.
Methodology
Project workflow
- 01Load the profiles
A validated JSON configuration declares three uniform proton-electron plasma states and every experimental grid.
- 02Calculate scales
The project derives the normalization and characteristic speeds needed to interpret each solver.
- 03Run the relations
PlasmaPy evaluates the complete two-fluid, Hollweg, kinetic-Alfven, and plasma-dispersion-function calculations.
- 04Check validity
Every row retains frequency ordering, thermal-speed ordering, convergence state, or dielectric residual as appropriate.
- 05Compare and verify
Tables, figures, tests, dependency checks, and repository validation confirm the released evidence.
Demonstration scenario
The student rebuilds the complete matrices, compares how normalized branch structure changes between solar wind, magnetosheath, and laboratory profiles, then explains why the Hollweg matrix remains valid while only 60 percent of the selected kinetic-Alfven cases satisfy every declared condition. The separate Langmuir experiment shows progressively stronger collisionless damping while retaining a maximum dielectric residual below 1.8e-13.
Engineering
Tools and method
- Tools
- The project uses PlasmaPy 2026.2.0, Python 3.12, Astropy, NumPy, SciPy, Pandas, Matplotlib for subject analysis, simulation, and results.
- Physics library
- PlasmaPy 2026.2.0 supplies characteristic quantities, fluid dispersion solvers, kinetic-Alfven evaluation, and the plasma dispersion function.
- Root calculation
- SciPy solves thirteen complex Vlasov-Poisson roots from controlled continuation guesses.
- Numerical analysis
- NumPy and Pandas retain complete matrices and calculate gradients, differences, fractions, and summaries.
- Figures
- Matplotlib generates twelve labelled result figures in raster and vector formats from retained data.
- Reproducibility
- Pinned dependencies, a digest-pinned Linux container, exact configuration, automated tests, Word files, and PDFs support independent reruns.
Testing
Evaluation
Evaluation measures
- Complete fast, Alfven, and ion-acoustic branch response across three plasma profiles
- Propagation-angle and normalized-wavenumber dependence
- Low-frequency validity fraction by profile and mode
- Hollweg and complete two-fluid relative frequency differences
- Kinetic-Alfven low-frequency and thermal-speed ordering
- Complex Langmuir frequency, damping rate, and dielectric residual
Project boundaries
- The released profiles are controlled uniform plasma states, not measured spacecraft intervals or laboratory discharges.
- The selected relations assume collisionless proton-electron plasmas and retain model-specific frequency, beta, and angle limits.
- The fluid relations do not calculate collisionless damping, while the separate Langmuir experiment is electrostatic and unmagnetized.
- Nonlinear turbulence, inhomogeneity, mode conversion, collisions, additional species, measured uncertainty, and experimental calibration are outside the completed scope.
- The results are a reproducible engineering study, not proof that one selected relation is universally valid.
Included
- 01Complete Python and PlasmaPy source code
- 02Three declared proton-electron plasma profiles
- 03One thousand four hundred and seventy-six complete two-fluid results
- 04Three hundred and sixty-nine Hollweg results and matching solver comparisons
- 05Two hundred and five kinetic-Alfven results
- 06Thirteen converged complex Langmuir roots
- 07Twelve labelled result figures in PNG and SVG formats
- 08Forty-nine automated tests with 98.46 percent branch-aware coverage
- 09Complete project files, calculations, results, and analysis material in a private GitHub repository
- 1078-page project documentation in PDF and editable Word formats
- 1115-page setup and usage guide in PDF and editable Word formats
- 12Forty-eight annotated references and three sourced literature images
Project record
No information is collected on this page.
- Permanent project ID
- GP-PH-0V6O7ZF
- Catalogued
- 21 Aug 2026
- Completed
- 28 Aug 2026
- Verified
- 28 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.