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:

    • q = -1, m = 1/1836, n = 1e6, T∥ = 24840 eV, T⊥ = 24840 eV, v0 = 0
    • q = +1, m = 1, n = 1e6, T∥ = 24840 eV, T⊥ = 49680 eV, v0 = 0
using PlasmaBO

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

n = 1e6
me_mp = 1 / 1836

electron = Maxwellian(:e, n, 24840.0)
proton   = Maxwellian(n, 24840.0, 49680.0)

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}:
  2.4746098961454454e-10 + 0.0017337170547183478im
  5.7387849905275724e-11 + 0.015523556105815954im
 -2.4949938238980012e-11 + 0.028929069367337995im
 -2.5276500584763593e-11 + 0.041604905107330475im
   5.301559873385008e-12 + 0.053198854270879295im
   5.784263977338675e-11 + 0.06334868242075466im
  2.5728614578461942e-11 + 0.07167903068456492im
  2.6563207347542367e-11 + 0.07779841958825619im
  -3.109016516456009e-12 + 0.08129639533373137im
 -2.2496644939303017e-11 + 0.08174088193675501im
   4.666433905953227e-12 + 0.07867581919310403im
   4.511955392638711e-11 + 0.07161920017561207im
   7.360647760921102e-11 + 0.06006163274041975im
   3.890884175666716e-11 + 0.04346559778572855im
   2.744321263292715e-12 + 0.021265572589007395im
    1.767972771963032e-5 + 6.829061897633627e-7im
  -2.2616872804293147e-6 + 2.688081833893754e-6im
   -5.073158105359251e-8 + 3.585609696092792e-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