plasmapy.formulary.impact_parameter(T: Unit("K"), n_e: Unit("1 / m3"), species, z_mean: Unit(dimensionless) = <Quantity nan>, V: Unit("m / s") = <Quantity nan m / s>, method='classical')

Impact parameters for classical and quantum Coulomb collision

  • 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 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) for a plasma where the a macroscopic description is valid. This is used to recover the average ion density (given the average ionization and electron density) for calculating the ion sphere radius for non-classical impact parameters.
  • V (Quantity, optional) – The relative velocity between particles. If not provided, thermal velocity is assumed: \(\mu V^2 \sim 2 k_B T\) where mu is the reduced mass.
  • method (str, optional) – Selects which theory to use when calculating the Coulomb logarithm. Defaults to classical method.

bmin, bmax – The minimum and maximum impact parameters (distances) for a Coulomb collision.

Return type:

tuple of floats

  • 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 the n_e, T, or V are not Quantities.
  • RelativityError – If the input velocity is same or greater than the speed of light.
  • ~astropy.units.UnitsWarning – If units are not provided, SI units are assumed
  • ~plasmapy.utils.RelativityWarning – If the input velocity is greater than 5% of the speed of light.


The minimum and maximum impact parameters may be calculated in a variety of ways. The maximum impact parameter is typically the Debye length.

For quantum plasmas the maximum impact parameter can be the quadratic sum of the debye length and ion radius (Wigner_Seitz) [1]

\[b_{max} = \left(\lambda_{De}^2 + a_i^2\right)^{1/2}\]

The minimum impact parameter is typically some combination of the thermal deBroglie wavelength and the distance of closest approach for a 90 degree Coulomb collision. A quadratic sum is used for all GMS methods, except for GMS-5, where b_min is simply set to the distance of closest approach [1].

\[b_{min} = \left(\Lambda_{deBroglie}^2 + \rho_{\perp}^2\right)^{1/2}\]


>>> from astropy import units as u
>>> n = 1e19*u.m**-3
>>> T = 1e6*u.K
>>> species = ('e', 'p')
>>> impact_parameter(T, n, species)
(<Quantity 1.051...e-11 m>, <Quantity 2.182...e-05 m>)
>>> impact_parameter(T, n, species, V=1e6 * u.m / u.s)
(<Quantity 2.534...e-10 m>, <Quantity 2.182...e-05 m>)


[1](1, 2) Dense plasma temperature equilibration in the binary collision approximation. D. O. Gericke et. al. PRE, 65, 036418 (2002). DOI: 10.1103/PhysRevE.65.036418