plasmapy.formulary.collisions.coupling_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') -> Unit(dimensionless)

Coupling parameter. Coupling parameter compares Coulomb energy to kinetic energy (typically) thermal. Classical plasmas are weakly coupled Gamma << 1, whereas dense plasmas tend to have significant to strong coupling Gamma >= 1.

  • 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.

coupling – The coupling parameter for 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 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 coupling parameter is given by

\[\Gamma = \frac{E_{Coulomb}}{E_{Kinetic}}\]

The Coulomb energy is given by

\[E_{Coulomb} = \frac{Z_1 Z_2 q_e^2}{4 \pi \epsilon_0 r}\]

where \(r\) is the Wigner-Seitz radius, and 1 and 2 refer to particle species 1 and 2 between which we want to determine the coupling.

In the classical case the kinetic energy is simply the thermal energy

\[E_{kinetic} = k_B T_e\]

The quantum case is more complex. The kinetic energy is dominated by the Fermi energy, modulated by a correction factor based on the ideal chemical potential. This is obtained more precisely by taking the the thermal kinetic energy and dividing by the degeneracy parameter, modulated by the Fermi integral [1]

\[E_{kinetic} = 2 k_B T_e / \chi f_{3/2} (\mu_{ideal} / k_B T_e)\]

where \(\chi\) is the degeneracy parameter, \(f_{3/2}\) is the Fermi integral, and \(\mu_{ideal}\) is the ideal chemical potential.

The degeneracy parameter is given by

\[\chi = n_e \Lambda_{deBroglie} ^ 3\]

where \(n_e\) is the electron density and \(\Lambda_{deBroglie}\) is the thermal deBroglie wavelength.

See equations 1.2, 1.3 and footnote 5 in [2] for details on the ideal chemical potential.


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


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