Alfven_speed
- plasmapy.formulary.speeds.Alfven_speed(B: Unit('T'), density: (Unit('1 / m3'), Unit('kg / m3')), ion: str | Integral | Particle | CustomParticle | Quantity | None = None, z_mean: Real | None = None)
Calculate the Alfvén speed.
The Alfvén speed \(V_A\) is the typical propagation speed of magnetic disturbances in a 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\) is the electron number density, \(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 no charge state information is provided, then the ions are assumed to be singly ionized. If the density is an ion number density, then this parameter is required in order to convert to mass density.z_mean (
Real
, optional) – The average ionization state (arithmetic mean) of theion
composing the plasma. This is used in calculating the mass density \(ρ = n_i (m_i + Z_{mean} m_e)\).z_mean
is ignored ifdensity
is passed as a mass density and overrides any charge state info provided byion
.
- Returns:
V_A – The Alfvén speed in units of m s-1.
- Return type:
- Raises:
RelativityError – If the Alfvén velocity is greater than or equal to the speed of light.
TypeError – If
B
and/ordensity
are not of typeQuantity
, or convertible.TypeError – If
ion
is not of type or convertible toParticle
.UnitTypeError – If the magnetic field
B
does not have units equivalent to tesla.UnitTypeError – If the
density
does not have units equivalent to a number density or mass density.ValueError – If
density
is negative.
- Warns:
RelativityWarning
– If the Alfvén velocity exceeds 5% of the speed of light.UnitsWarning
– If units are not provided for the magnetic fieldB
, 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
>>> from astropy import units as u >>> from astropy.constants.si 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=ion) <Quantity 43173.870... m / s> >>> Alfven_speed(B, rho) <Quantity 43173.870... m / s> >>> Alfven_speed(B, rho).to(u.cm/u.us) <Quantity 4.317387 cm / us> >>> Alfven_speed(B, n, ion="He +2") <Quantity 21664.18... m / s> >>> Alfven_speed(B, n, ion="He++") <Quantity 21664.18... m / s> >>> Alfven_speed(B, n, ion="He", z_mean=1.8) <Quantity 21661.51... m / s>