Coulomb_logarithm
- plasmapy.formulary.collisions.coulomb.Coulomb_logarithm(T: Unit("K"), n_e: Unit("1 / m3"), species: (<class 'plasmapy.particles.particle_class.Particle'>, <class 'plasmapy.particles.particle_class.Particle'>), z_mean: ~numbers.Real = nan, V: Unit("m / s") = <Quantity nan m / s>, method='classical')
Compute the Coulomb logarithm.
- Parameters:
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 m^{-3}.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 ifmethod
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 six 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 Notes section of this docstring for more information, including about abbreviated aliases of these names.
- Returns:
ln_Lambda – The dimensionless Coulomb logarithm.
- Return type:
- Raises:
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, or if any of
n_e
,T
, orV
is not aQuantity
.PhysicsError – If the result is smaller than 1.
RelativityError – If the input velocity is same or greater than the speed of light.
- Warns:
UnitsWarning
– If units are not provided, SI units are assumed.RelativityWarning
– If the input velocity is greater than 5% of the speed of light.
Notes
Summary of Supported Methods of Computing the Coulomb Logarithm
PlasmaPy supports seven methods of computing the Coulomb logarithm:
"classical"
or"ls"
"ls_min_interp"
or"GMS-1"
"ls_full_interp"
or"GMS-2"
"ls_clamp_mininterp"
or"GMS-3"
"hls_min_interp"
or"GMS-4"
"hls_max_interp"
or"GMS-5"
"hls_full_interp"
or"GMS-6"
Options 1–4 are straight-line Landau-Spitzer (
"ls..."
) methods in which the trajectory of a Coulomb collision is modeled as a straight line. For the straight-line Landau-Spitzer methods, the Coulomb logarithm (\(\ln{Λ}\)) is defined to be:\[\ln{Λ} \equiv \ln\left( \frac{b_{max}}{b_{min}} \right)\]Options 5–7 are hyperbolic Landau-Spitzer (
"hls..."
) methods in which the trajectory of a Coulomb collision is modeled as a hyperbola. For the hyperbolic Landau-Spitzer methods, the Coulomb logarithm (\(\ln{Λ}\)) is defined to be:\[\ln{Λ} \equiv \frac{1}{2} \ln\left(1 + \frac{b_{max}^2}{b_{min}^2} \right)\]For all 7 methods, \(b_{min}\) and \(b_{max}\) are the inner impact parameter and the outer impact parameter, respectively, for Coulomb collisions [Spitzer, 1962]; \(b_{min}\) and \(b_{max}\) are each computed by
impact_parameter
.The abbreviations of Options 2–7 (
"GMS-..."
) refer to the first initials of the three authors of Gericke et al. [2002].Note
For strongly-coupled plasma, PlasmaPy recommends Option 7,
"hls_full_interp"
or"GMS-6"
, because of its high accuracy regardless of a plasma’s strength of coupling.Explanation of Supported Methods of Computing the Coulomb Logarithm
In this section, further information about each method, such as about interpolation and other special features, is documented. Please refer to Spitzer [1962] and Gericke et al. [2002] for additional information about these methods.
Option 1:
"classical"
or"ls"
(Landau-Spitzer)The classical straight-line Landau-Spitzer method in which \(b_{min}\) is defined to be the higher of the de Broglie wavelength (\(λ_{de Broglie}\)) and the distance of closest approach (\(ρ_⟂\)) if they are not equal (and either of the two if they are equal) and \(b_{max}\) is defined to be the Debye length (\(λ_{Debye}\)).
\[\ln{Λ} \equiv \ln\left( \frac{b_{max}}{b_{min}} \right)\]\[\begin{split}b_{min} \equiv \left\{ \begin{array}{ll} λ_{de Broglie} & \mbox{if } λ_{de Broglie} \geq ρ_⟂ \\ ρ_⟂ & \mbox{if } ρ_⟂ \geq λ_{de Broglie} \end{array} \right.\end{split}\]\[b_{max} \equiv λ_{Debye}\]The inner impact parameter (\(b_{min}\)) is the higher of \(λ_{de Broglie}\) and \(ρ_⟂\) because for impact parameters lower than \(λ_{de Broglie}\), quantum effects cause the collision to be non-Coulombic [Chen, 2016, Fundamenski and Garcia, 2007].
The outer impact parameter (\(b_{max}\)) is defined to be the Debye length (\(λ_{Debye}\)) because at distances higher than the Debye length, the electric fields created by other particles are screened out by the electrons rearranging themselves.
The uncertainty of the classical straight-line Landau-Spitzer method is on the order of its reciprocal.
This method is invalid if \(\ln{Λ} < 2\) because of the uncertainty of this method and is invalid if \(\ln{Λ} < 0\), which may be true if the coupling parameter is high (such as for nonideal, dense, cold plasmas).
Please refer to Spitzer [1962] for additional information about this method.
Option 2:
"ls_min_interp"
or"GMS-1"
(Landau-Spitzer, interpolation of \(b_{min}\))A straight-line Landau-Spitzer method in which \(b_{min}\) is interpolated between the de Broglie wavelength (\(λ_{de Broglie}\)) and the distance of closest approach (\(ρ_⟂\)) and \(b_{max}\) is defined to be the Debye length (\(λ_{Debye}\)).
\[\ln{Λ} \equiv \ln\left( \frac{b_{max}}{b_{min}} \right)\]\[b_{min} \equiv \sqrt{λ_{de Broglie}^2 + ρ_⟂^2}\]\[b_{max} \equiv λ_{Debye}\]This method is invalid if \(\ln{Λ} < 0\), which may be true if the coupling parameter is high (such as for nonideal, dense, cold plasmas).
Note: This is the first method in Table 1 of Gericke et al. [2002].
Option 3:
"ls_full_interp"
or"GMS-2"
(Landau-Spitzer, interpolation of \(b_{min}\) and \(b_{max}\))A straight-line Landau-Spitzer method in which \(b_{min}\) and \(b_{max}\) are each interpolated. \(b_{min}\) is interpolated between the de Broglie wavelength (\(λ_{de Broglie}\)) and the distance of closest approach (\(ρ_⟂\)). \(b_{max}\) is interpolated between the Debye length (\(λ_{Debye}\)) and the ion sphere radius (\(a_i\)).
\[\ln{Λ} \equiv \ln\left( \frac{b_{max}}{b_{min}} \right)\]\[b_{min} \equiv \sqrt{λ_{de Broglie}^2 + ρ_⟂^2}\]\[b_{max} \equiv \sqrt{λ_{Debye}^2 + a_i^2}\]This method is invalid if \(\ln{Λ} < 0\), which may be true if the coupling parameter is high (such as for nonideal, dense, cold plasmas).
Note: This is the second method in Table 1 of Gericke et al. [2002].
Option 4:
"ls_clamp_mininterp"
or"GMS-3"
(Landau-Spitzer with a clamp, interpolation of \(b_{min}\))A straight-line Landau-Spitzer method in which the value of \(\ln{Λ}\) is clamped at a minimum of \(2\) so that it is impossible for \(\ln{Λ} < 0\) (which is possible by the classical Landau-Spitzer method). \(b_{min}\) is interpolated between the de Broglie wavelength (\(λ_{de Broglie}\)) and the distance of closest approach (\(ρ_⟂\)). \(b_{max}\) is defined to be the Debye length (\(λ_{Debye}\)).
\[\begin{split}\ln{Λ} \equiv \left\{ \begin{array}{ll} \ln\left(\frac{b_{max}}{b_{min}} \right) & \mbox{if } \ln\left( \frac{b_{max}}{b_{min}}\right) \geq 2 \\ 2 & \mbox{if } \ln\left( \frac{b_{max}}{b_{min}} \right) \leq 2 \end{array} \right.\end{split}\]\[b_{min} \equiv \sqrt{λ_{de Broglie}^2 + ρ_⟂^2}\]\[b_{max} \equiv λ_{Debye}\]This method is valid for any plasma because it is impossible for \(\ln{Λ} < 0\) by this method, even if the coupling parameter is high (such as for nonideal, dense, cold plasmas).
Note: This is the third method in Table 1 of Gericke et al. [2002].
Option 5:
"hls_min_interp"
or"GMS-4"
(Hyperbolic Landau-Spitzer, interpolation of \(b_{min}\))A hyperbolic Landau-Spitzer method in which \(b_{min}\) is interpolated between the de Broglie wavelength (\(λ_{de Broglie}\)) and the distance of closest approach (\(ρ_⟂\)) and \(b_{max}\) is defined to be the Debye length (\(λ_{Debye}\)).
\[\ln{Λ} \equiv \frac{1}{2} \ln\left(1 + \frac{b_{max}^2}{b_{min}^2} \right)\]\[b_{min} \equiv \sqrt{λ_{de Broglie}^2 + ρ_⟂^2}\]\[b_{max} \equiv λ_{Debye}\]This method is valid for any plasma because it is impossible for \(\ln{Λ} < 0\) by this method, even if the coupling parameter is high (such as for nonideal, dense, cold plasmas).
Note: This is the fourth method in Table 1 of Gericke et al. [2002].
Option 6:
"hls_max_interp"
or"GMS-5"
(Hyperbolic Landau-Spitzer, interpolation of \(b_{max}\))A hyperbolic Landau-Spitzer method in which \(b_{max}\) is interpolated between the Debye length (\(λ_{Debye}\)) and the ion sphere radius (\(a_i\)) and \(b_{min}\) is defined to be the distance of closest approach (\(ρ_⟂\)).
\[\ln{Λ} \equiv \frac{1}{2} \ln\left(1 + \frac{b_{max}^2}{b_{min}^2} \right)\]\[b_{min} \equiv ρ_⟂\]\[b_{max} \equiv \sqrt{λ_{Debye}^2 + a_i^2}\]This method is valid for any plasma because it is impossible for \(\ln{Λ} < 0\) by this method, even if the coupling parameter is high (such as for nonideal, dense, cold plasmas).
Caution: This method overestimates \(\ln{Λ}\) at high temperatures.
Note: This is the fifth method in Table 1 of Gericke et al. [2002].
Option 7:
"hls_full_interp"
or"GMS-6"
(Hyperbolic Landau-Spitzer, interpolation of \(b_{min}\) and \(b_{max}\))A hyperbolic Landau-Spitzer method in which \(b_{min}\) and \(b_{max}\) are each interpolated. \(b_{min}\) is interpolated between the de Broglie wavelength (\(λ_{de Broglie}\)) and the distance of closest approach (\(ρ_⟂\)). \(b_{max}\) is interpolated between the Debye length (\(λ_{Debye}\)) and the ion sphere radius (\(a_i\)).
\[\ln{Λ} \equiv \frac{1}{2} \ln\left(1 + \frac{b_{max}^2}{b_{min}^2} \right)\]\[b_{min} \equiv \sqrt{λ_{de Broglie}^2 + ρ_⟂^2}\]\[b_{max} \equiv \sqrt{λ_{Debye}^2 + a_i^2}\]This method is valid for any plasma because it is impossible for \(\ln{Λ} < 0\) by this method, even if the coupling parameter is high (such as for nonideal, dense, cold plasmas).
Note: This is the sixth method in Table 1 of Gericke et al. [2002].
Examples
>>> import astropy.units as u >>> n_e = 1e19 * u.m**-3 >>> T = 1e6 * u.K >>> Coulomb_logarithm(T, n_e, ('e-', 'p+')) 14.545527... >>> Coulomb_logarithm(T, n_e, ('e-', 'p+'), V = 1e6 * u.m / u.s) 11.363478...
See also
impact_parameter
Computes \(b_{min}\) and \(b_{max}\).