plasmapy.physics.parameters.Alfven_speed(B, density, ion='p+', z_mean=None)

Return the Alfven speed.

  • 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 Alfven velocity of the plasma in units of meters per second.

Return type:

Quantity with units of velocity

  • 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 velocity \(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.

This function switches B and density when B has units of number density or mass density and density has units of magnetic field strength.


>>> from astropy import units as u
>>> from plasmapy.constants 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.87029559 m / s>
>>> Alfven_speed(B, rho, ion)
<Quantity 43173.87029559 m / s>
>>> Alfven_speed(B, rho, ion).to(
<Quantity 4.31738703 cm / us>