This repo contains 16 Jupyter notebooks that put Aether.jl through the classic hydro, MHD, and dust test problems and plot the results against exact or reference solutions. Each one is a short, self-contained script.
All notebooks ship with their output rendered, so you can browse the results right here on GitHub without running anything.
julia --project=. -e 'using Pkg; Pkg.instantiate()' # first time only
julia --project=. -e 'using IJulia; notebook(dir=".")' # or open in VS Code / JupyterLabPick the Julia 1.12 kernel and run top to bottom. The 2-D and 3-D notebooks use the GPU when CUDA is available and fall back to the CPU otherwise (fine, just slow at these resolutions or you can use multi-thread). On an RTX 4090 most finish in seconds to a couple of minutes; the implosion and the dusty disc are the longest at ~6–8 min each.
Heads up:
16_mhd_turbulenceis the one exception, it drives a 256³ box for thousands of cycles and takes about 15 minutes on an A100. So it requires a GPU (there is no CPU fallback). DropNto 128 for a quick look.
| Notebook | Problem |
|---|---|
| 01_sod_shock_tube | Sod shock tube vs the exact Riemann solution |
| 02_shu_osher | Shu–Osher shock–turbulence interaction: PLM vs WENO-Z vs PPM |
| 03_implosion | Liska–Wendroff implosion at 1024² |
| 04_kelvin_helmholtz | Kelvin–Helmholtz instability at 1024² |
| 05_sedov_taylor_3d | 3-D Sedov–Taylor blast in spherical-polar coordinates |
| 06_brio_wu | Brio–Wu MHD shock tube |
| 07_orszag_tang | Orszag–Tang vortex |
| 08_cpaw | Circularly polarised Alfvén wave convergence |
| 09_dust_advection | Pressureless dust advection |
| 10_dusty_wave | Damped dusty sound wave |
| 11_dust_sod_tube | Steady dusty shock |
| 12_dusty_damping | Gas–dust drag damping |
| 13_rayleigh_taylor | Single-mode Rayleigh–Taylor vs the linear growth rate |
| 14_vsi | Vertical shear instability in a protoplanetary disc |
| 15_vsi_dust | VSI with 100 μm dust: settling vs VSI stirring |
| 16_mhd_turbulence | Driven MHD turbulence at 256³: velocity and magnetic spectra ⏳ ~15 min, GPU only |
aether_examples.jl holds the shared plotting style and a few small
post-processing helpers; every notebook includes it.