plasmapy.formulary.speeds.Alfven_speed(B: Quantity, density: (Unit('1 / m3'), Unit('kg / m3')), ion: str | int | integer | Particle | CustomParticle | Quantity | None = None, *, mass_numb: int | None = None, Z: float | 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_

  • 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 (int, keyword-only, optional) – The mass number corresponding to ion.

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


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

Return type:


  • 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.


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


>>> import astropy.units as u
>>> from 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( /
<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>