plasmapy.formulary.parameters.Alfven_speed(B: Unit("T"), density: [Unit("1 / m3"), Unit("kg / m3")], ion='p+', z_mean=None) -> Unit("m / s")

Return the Alfvén speed.

Aliases: va_

  • B (Quantity) – The magnetic field magnitude in units convertible to tesla.
  • density (Quantity) – Either the ion number density in units convertible to 1 / m**3, or the mass density in units convertible to kg / m**3.
  • ion (str, optional) – Representation of the ion species (e.g., 'p' for protons, 'D+' for deuterium, or 'He-4 +1' for singly ionized helium-4), which defaults to protons. If no charge state information is provided, then the ions are assumed to be singly charged.
  • z_mean (Quantity, optional) – The average ionization (arithmetic mean) for a plasma where the a macroscopic description is valid. If this quantity is not given then the atomic charge state (integer) of the ion is used. This is effectively an average Alfven speed for the plasma where multiple charge states are present.

V_A – The Alfvén speed of the plasma in units of meters per second.

Return type:

Quantity with units of speed

  • TypeError – The magnetic field and density arguments are not instances of Quantity and cannot be converted into those.
  • UnitConversionError – If the magnetic field or density is not in appropriate units.
  • RelativityError – If the Alfven velocity is greater than or equal to the speed of light
  • ValueError – If the density is negative, or the ion mass or charge state cannot be found.
  • ~plasmapy.utils.RelativityWarning – If the Alfven velocity exceeds 5% of the speed of light
  • ~astropy.units.UnitsWarning – if units are not provided, SI units are assumed.


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

\[V_A = \frac{B}{\sqrt{\mu_0\rho}}\]

where the mass density is \(\rho = n_i m_i + n_e m_e\).

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


>>> from astropy import units as u
>>> from import m_p, m_e
>>> B = 0.014*u.T
>>> n = 5e19*u.m**-3
>>> rho = n*(m_p+m_e)
>>> ion = 'p'
>>> Alfven_speed(B, n, ion)
<Quantity 43173.870... m / s>
>>> Alfven_speed(B, rho, ion)
<Quantity 43173.870... m / s>
>>> Alfven_speed(B, rho, ion).to(
<Quantity 4.317387 cm / us>