Alfven_speed
- 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,
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 (
int
, keyword-only, optional) – The mass number corresponding toion
.Z (
float
, keyword-only, optional) – The charge number corresponding toion
. Note that the value ofZ
does not impact the Alfvén speed.
- Returns:
V_A – The Alfvén speed in units of m/s.
- 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 particle-like.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
>>> 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>