Case: R-, L-, and P-mode waves
This page reproduces the “case 1” benchmark (Cattaert et al. [7]) in BO-PBK Bai and Xie [8] for the R-, L-, and P-mode branches.
The configuration is a single electron population with a strongly non-Maxwellian parallel kappa index (κ∥ = 1) and nearly Maxwellian perpendicular index (κ⟂ = 200), with oblique propagation at $θ = 30°$.
Setup
using PlasmaBO
using PlasmaBO: q, me
B0 = 1.0e-6 # [Tesla]
θ = deg2rad(30)
n = 2.43e6 # [m^-3]
T = 2555.0 # [eV]
κz = 1.0
κx = 200.0
electron = BiKappa2(:e, n, κz, κx, T; sigma = 0.0)
wce = abs(B0 * q / me)
ρce = electron.vtp / wce
kn = 1 / ρce # so that k/kn = kρce
kρ_scan = range(1.0e-4, 0.3; length = 80)
ks = kρ_scan .* kn5.881508223911365e-7:2.232739640950656e-5:0.0017644524671734095Analytic PBK (BO-PBK) solver
Solve the same case with the analytic PBK (BO-PBK) solver:
julia> sol_pbk = solve(electron, B0, ks, θ, BOPBK);using CairoMakie
f, axs = plot(sol_pbk, kn, wce)
ylims!(axs[1], 0, 3)
f
Plot the tracked PBK branches:
Seeds at kρce = 0.1 are used to identify the branches: upper R-X, O(P), L-X, lower R-X
seed_kρ = 0.1
seeds_ω = [1.37366, 1.07271, 0.75519, 0.39861] .* wce
initial_points = [(seed_kρ * kn, ω0) for ω0 in seeds_ω]
branches_pbk = track.(sol_pbk, initial_points)
f, (ax1, ax2) = plot_branches(branches_pbk, kn, wce)
ylims!(ax1, nothing, 3)
ylims!(ax2, -0.01, 0.001)
f
General HH solver
Solve the same case with the general Hermite-Hermite (HH) basis solver:
using CairoMakie
sol_HH = solve(electron, B0, ks, θ; N = 4, J = 16)
branches_HH = track.(sol_HH, initial_points)
f, axs = plot(sol_HH, kn, wce)
ylims!(axs[1], 0, 3)
f
Plot the tracked branches
plot_branches(branches_HH, kn, wce)
We can see that the results from the HH solver is very different than the PBK solver. It does not yield the same branches as the PBK solver due to the small parallel kappa index.
As a comparison, we solve it for a Maxwellian electron population:
electron = Maxwellian(:e, n, T)
sol_M = solve([electron], B0, ks, θ; N = 3)
f, axs = plot(sol_M, kn, wce)
ylims!(axs[1], 0, 3)
f