Case: Mirror mode

The benchmark is based on Gary (1993), p131, Fig.7.4, with

  • Propagation angle: θ = 71°

  • Beta ratio: $β_{i,∥}/β_{e,∥} = 1$

  • Temperature anisotropy:

    • ions: $T_{i,⊥}/T_{i,∥} = 2$
    • electrons: $T_{e,⊥}/T_{e,∥} = 1$
  • Magnetic field: $B_0 = 100e-9 T$

  • Species:

    • Electron: n = 1e6, T∥ = 24840 eV, T⊥ = 24840 eV
    • Proton: n = 1e6, T∥ = 24840 eV, T⊥ = 49680 eV
using PlasmaBO

B0 = 100e-9
θ = deg2rad(71)

n = 1e6
Tpara = 24840.0
Tperp = 49680.0

electron = Maxwellian(:e, n, Tpara)
proton   = Maxwellian(n, Tpara, Tperp)

species = (proton, electron)
params = HHSolverParam.(species, B0)
ρᵢ = params[1].ρc
ωₙ = params[1].wc
ks = (0.005:0.04:0.7) ./ ρᵢ

sol = solve(species, B0, ks, θ)

# Extract the most unstable mode at each k (by growth rate)
ωmax = vec(argmax.(imag, sol.ωs))
18-element Vector{ComplexF64}:
  -7.070212351776434e-10 + 0.0017337171416100872im
   6.299898800251613e-12 + 0.015523556198837236im
   2.120422695935098e-11 + 0.028929069392872424im
  3.6680499349711626e-11 + 0.04160490504333282im
  -5.357054209953471e-12 + 0.05319885426879117im
  -2.575830246140061e-11 + 0.06334868232623805im
 -3.7893913045196756e-11 + 0.07167903068876207im
 -2.6444001529528707e-11 + 0.07779841962019993im
   4.695707647229175e-12 + 0.08129639545556998im
  -4.628818509044841e-11 + 0.08174088190778853im
 -3.9975149909285945e-11 + 0.07867581931917605im
   4.279050724864675e-11 + 0.07161920040661501im
  -5.445738304743486e-11 + 0.06006163333569381im
 -2.0996004825435263e-10 + 0.04346559698663879im
  -1.808034322607035e-10 + 0.021265570476059398im
   -8.619723730157846e-7 + 7.110120215635486e-6im
   -4.011391777529798e-6 + 4.354353848473666e-7im
    2.072716517126778e-7 + 5.157502909057793e-6im
using CairoMakie

let fig = Figure()
    ax1 = Axis(fig[1,1]; xlabel = "k*λD", ylabel = "ωᵣ / ωₙ")
    ax2 = Axis(fig[1,2]; xlabel = "k*λD", ylabel = "γ / ωₙ")
    scatterlines!(ax1, sol.ks .* ρᵢ, real.(ωmax)./ ωₙ)
    scatterlines!(ax2, sol.ks .* ρᵢ, imag.(ωmax)./ ωₙ)
    fig
end
Example block output