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}:
  -5.591267080405637e-10 + 0.001733716805212507im
  1.1814740133436883e-11 + 0.015523556200559376im
 -2.7188258697643577e-11 + 0.028929069404806326im
  -3.292278168837148e-11 + 0.04160490507485877im
 -1.5619146329762454e-11 + 0.05319885427274207im
  -7.383568756402781e-11 + 0.06334868233408818im
   7.703880742969111e-11 + 0.07167903077297627im
  -4.260579389292474e-11 + 0.07779841964352106im
  1.0607299760794044e-11 + 0.08129639542061405im
  -7.397520099196482e-11 + 0.08174088187361032im
 -2.1920857436522994e-11 + 0.07867581934394642im
  2.9660596159950596e-11 + 0.07161920042187728im
   2.316654862790964e-11 + 0.06006163317267935im
  -1.172128574755682e-10 + 0.043465596602235416im
   6.697709533887936e-11 + 0.021265575617587285im
     8.22087532370937e-6 + 1.5473525027187473e-6im
    3.887515506352713e-6 + 3.171265732882773e-7im
    1.551357325838361e-8 + 4.848335653163775e-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