pyrfu.dispersion package#
- pyrfu.dispersion.disp_surf_calc(kc_x_max, kc_z_max, m_i, wp_e)[source]#
Calculate the cold plasma dispersion surfaces according to equation 2.64 in Plasma Waves by Swanson (2nd ed.)
- Parameters:
- Returns:
kx_ (numpy.ndarray) – kperpandicular*c/w_c meshgrid
kz_ (numpy.ndarray) – kparallel*c/w_c meshgrid
wf_ (numpy.ndarray) – Dispersion surfaces.
extra_param (dict) – Extra parameters to plot.
- pyrfu.dispersion.one_fluid_dispersion(b_0, theta, ions, electrons, n_k: int = 100)[source]#
Solves the one fluid dispersion relation.
- Parameters:
b_0 (float) – Magnetic field
theta (float) – The angle of propagation of the wave with respect to the magnetic field, \(\cos^{-1}(k_z / k)\)
ions (dict) – Hash table with n : number density, t: temperature, gamma: polytropic index.
electrons (dict) – Hash table with n : number density, t: temperature, gamma: polytropic index.
n_k (int, optional) – Number of wavenumbers.
- Returns:
wc_1 (xarray.DataArray) – 1st root
wc_2 (xarray.DataArray) – 2nd root
wc_3 (xarray.DataArray) – 3rd root