plasmapy.formulary.collisions.lengths.mean_free_path(T: ~astropy.units.quantity.Quantity, n_e: ~astropy.units.quantity.Quantity, species, z_mean: ~numbers.Real = nan, V: ~astropy.units.quantity.Quantity = <Quantity nan m / s>, method='classical') Quantity[source]

Collisional mean free path (m).

  • T (Quantity) – Temperature in units of temperature or energy per particle, which is assumed to be equal for both the test particle and the target particle.

  • n_e (Quantity) – The electron number density in units convertible to per cubic meter.

  • species (tuple) – A tuple containing string representations of the test particle (listed first) and the target particle (listed second).

  • z_mean (Quantity, optional) – The average ionization (arithmetic mean) of a plasma for which a macroscopic description is valid. This parameter is used to compute the average ion density (given the average ionization and electron density) for calculating the ion sphere radius for non-classical impact parameters. z_mean is a required parameter if method is "ls_full_interp", "hls_max_interp", or "hls_full_interp".

  • V (Quantity, optional) – The relative velocity between particles. If not provided, thermal velocity is assumed: \(μ V^2 \sim 2 k_B T\) where \(μ\) is the reduced mass.

  • method (str, optional) – The method by which to compute the Coulomb logarithm. The default method is the classical straight-line Landau-Spitzer method ("classical" or "ls"). The other 6 supported methods are "ls_min_interp", "ls_full_interp", "ls_clamp_mininterp", "hls_min_interp", "hls_max_interp", and "hls_full_interp". Please refer to the docstring of Coulomb_logarithm for more information about these methods.


mfp – The collisional mean free path for particles in a plasma.

Return type:

float or numpy.ndarray

  • ValueError – If the mass or charge of either particle cannot be found, or any of the inputs contain incorrect values.

  • UnitConversionError – If the units on any of the inputs are incorrect.

  • TypeError – If any of n_e, T, or V is not a Quantity.

  • RelativityError – If the input velocity is same or greater than the speed of light.

  • UnitsWarning – If units are not provided, SI units are assumed.

  • RelativityWarning – If the input velocity is greater than 5% of the speed of light.


The collisional mean free path (see Chen [2016]) is given by:

\[λ_{mfp} = \frac{v}{ν}\]

where \(v\) is the inter-particle velocity (typically taken to be the thermal velocity) and \(ν\) is the collision frequency.


>>> import astropy.units as u
>>> n = 1e19 * u.m**-3
>>> T = 1e6 * u.K
>>> mean_free_path(T, n, ("e-", "p+"))
<Quantity 7.839... m>
>>> mean_free_path(T, n, ("e-", "p+"), V=1e6 * u.m / u.s)
<Quantity 0.0109... m>