Alfven_speed

plasmapy.formulary.speeds.Alfven_speed(B: Quantity, density: (Unit('1 / m3'), Unit('kg / m3')), ion: str | Integral | Particle | CustomParticle | Quantity | None = None, *, mass_numb: Integral | None = None, Z: Real | None = None) Quantity[source]

Calculate the Alfvén speed.

The Alfvén speed \(V_A\) is the typical propagation speed of magnetic disturbances in a quasineutral plasma, and is given by:

\[V_A = \frac{B}{\sqrt{μ_0 ρ}}\]

where \(B\) is the magnetic field and \(ρ = n_i m_i + n_e m_e\) is the total mass density (\(n_i\) is the ion number density, \(n_e ≡ Z n_i\) is the electron number density assuming quasineutrality, \(m_i\) is the ion mass, and \(m_e\) is the electron mass) [Alfvén, 1942].

Aliases: va_

Parameters:
  • B (Quantity) – The magnetic field magnitude in units convertible to tesla.

  • density (Quantity) – Either the ion number density \(n_i\) in units convertible to m-3 or the total mass density \(ρ\) in units convertible to kg m-3.

  • ion (Particle, optional) – Representation of the ion species (e.g., 'p+' for protons, 'D+' for deuterium, 'He-4 1+' for singly ionized helium-4, etc.). If the density is an ion number density, then this parameter is required in order to convert to mass density.

  • mass_numb (integer, keyword-only, optional) – The mass number corresponding to ion.

  • Z (Real, keyword-only, optional) – The charge number corresponding to ion. Note that the value of Z does not impact the Alfvén speed.

Returns:

V_A – The Alfvén speed in units of m/s.

Return type:

Quantity

Raises:
Warns:
  • RelativityWarning – If the Alfvén velocity exceeds 5% of the speed of light.

  • UnitsWarning – If units are not provided for the magnetic field B, units of tesla are assumed.

Notes

This expression does not account for relativistic effects, and loses validity when the resulting speed is a significant fraction of the speed of light.

Examples

>>> import astropy.units as u
>>> from astropy.constants.si import m_p, m_e
>>> B = 0.014 * u.T
>>> n = 5e19 * u.m**-3
>>> ion = "p+"
>>> rho = n * (m_p + m_e)
>>> Alfven_speed(B=B, density=n, ion=ion)
<Quantity 43173.870... m / s>
>>> Alfven_speed(B=B, density=rho)
<Quantity 43173.870... m / s>
>>> Alfven_speed(B=B, density=rho).to(u.cm / u.us)
<Quantity 4.317387 cm / us>
>>> Alfven_speed(B=B, density=n, ion="He-4 2+")
<Quantity 21664.18... m / s>
>>> Alfven_speed(B=B, density=n, ion="He", Z=1.8)
<Quantity 21664.18... m / s>