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:
  • kc_x_max (float) – Max value of k_perpendicular*c/w_c.

  • kc_z_max (float) – Max value of k_parallel*c/w_c.

  • m_i (float) – Ion mass in terms of electron masses.

  • wp_e (float) – Electron plasma frequency in terms of electron gyro frequency.

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

Submodules#