pg_utils.numerics.utils.eigenfreq_Malkus_pg

pg_utils.numerics.utils.eigenfreq_Malkus_pg(m: Union[int, ndarray], n: Union[int, ndarray], Le: Union[float, mpfr], mode: str = 'all', timescale: str = 'spin', prec: Optional[int] = None)[source]

Analytic eigenfrequency for the PG model with Malkus bg field

Parameters:
  • m (Union[int, np.ndarray]) – azimuthal wavenumber

  • n (Union[int, np.ndarray]) – order of the eigenmode

  • Le (float) – Lehnert number (see also Le )

  • mode (str) – fast or slow, default to “all”

  • timescale (str) – characteristic timescale, default to “spin”, alternative: “alfven”. See note below for more details.

  • prec (Optional[int]) – precision to be computed to. Default to None, calculate to double precision using numpy.

Returns:

eigenfrequency array(s)

Note

When using spin rate for characteristic time scale, i.e. \(\tau=\Omega^{-1}\)

\[\omega = \frac{\omega_0}{2} \left(1 \pm \sqrt{\mathrm{Le}^2 \frac{4m(m - \omega_0)}{\omega_0^2}}\right)\]

When using Alfven time scale, i.e. \(\tau=\frac{\sqrt{\rho\mu_0}L}{B}\)

\[\omega = \frac{\omega_0}{2\mathrm{Le}} \left(1 \pm \sqrt{\mathrm{Le}^2 \frac{4m(m - \omega_0)}{\omega_0^2}}\right)\]

where \(\omega_0\) is the inertial mode eigenfrequency for the PG model, see eigenfreq_psi_op for details. The plus sign gives the fast mode, and the minus sign gives the slow mode.