pub enum ScreeningLength {
Universal,
Firsov,
Lindhard,
}Expand description
Screening length a(Z1, Z2).
Variants§
Universal
Universal length, a_U = 0.8853 a0 / (Z1^0.23 + Z2^0.23).
Ziegler, Biersack, Littmark (1985), Ch. 2; the page numbers are those of
J. F. Ziegler, J. P. Biersack and M. D. Ziegler, SRIM: The Stopping
and Range of Ions in Matter (SRIM Co., 2015), Eq. 2-73, p. 2-30, which
prints the prefactor as 0.8853; its Figs. 2-16 and 2-17 (p. 2-32) label it
.8854. We use the Thomas-Fermi constant (0.88534, the same value
as the Firsov and Lindhard lengths), which agrees with Eq. 2-73 to the
printed digits; see docs/data-provenance.md.
Firsov
Firsov length, a_F = 0.8853 a0 / (sqrt(Z1) + sqrt(Z2))^(2/3).
O. B. Firsov, Sov. Phys. JETP 6, 534 (1958): the scaled distance
x' = (Z1^(1/2) + Z2^(1/2))^(2/3) R / a (p. 536), with
a = (9 pi^2/128)^(1/3) hbar^2/(m e^2) = 4.68e-9 cm (p. 535, below
eq. (4)). Verified against the scan at
http://www.jetp.ras.ru/cgi-bin/dn/e_006_03_0534.pdf.
Lindhard
Lindhard (Thomas-Fermi) length,
a_L = 0.8853 a0 / (Z1^(2/3) + Z2^(2/3))^(1/2).
J. Lindhard, M. Scharff, H. E. Schiott, Mat. Fys. Medd. Dan. Vid. Selsk.
33(14) (1963), p. 8, printed as a = a0 . 0.8853 (Z1^(2/3) + Z2^(2/3))^(-1/2). Verified against the scan at
http://gymarkiv.sdu.dk/MFM/kdvs/mfm%2030-39/mfm-33-14.pdf.
Implementations§
Trait Implementations§
Source§impl Clone for ScreeningLength
impl Clone for ScreeningLength
Source§fn clone(&self) -> ScreeningLength
fn clone(&self) -> ScreeningLength
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ScreeningLength
Source§impl Debug for ScreeningLength
impl Debug for ScreeningLength
impl Eq for ScreeningLength
Source§impl Hash for ScreeningLength
impl Hash for ScreeningLength
Source§impl PartialEq for ScreeningLength
impl PartialEq for ScreeningLength
impl StructuralPartialEq for ScreeningLength
Auto Trait Implementations§
impl Freeze for ScreeningLength
impl RefUnwindSafe for ScreeningLength
impl Send for ScreeningLength
impl Sync for ScreeningLength
impl Unpin for ScreeningLength
impl UnsafeUnpin for ScreeningLength
impl UnwindSafe for ScreeningLength
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more