pub struct PhononSpectrum { /* private fields */ }Expand description
A crystal’s phonon density of states ρ(ω), ω in eV: the values
ρ_i at ω = i·step, ρ_0 = 0, quadratic in ω up to the first
point, linear between the others and zero beyond the last, scaled to
unit area.
Implementations§
Source§impl PhononSpectrum
impl PhononSpectrum
Sourcepub fn new(step_ev: f64, density: Vec<f64>) -> Result<Self, LatticeError>
pub fn new(step_ev: f64, density: Vec<f64>) -> Result<Self, LatticeError>
The spectrum with values density every step_ev from 0.
§Errors
LatticeError::InvalidSpectrum unless step_ev is finite and
positive, density holds at least two finite values, 0 or more, the
first 0 and another positive, and the scaled values are finite.
Sourcepub fn debye(theta_k: f64, points: usize) -> Result<Self, LatticeError>
pub fn debye(theta_k: f64, points: usize) -> Result<Self, LatticeError>
Debye’s spectrum 3ω²/ω_D³ up to ω_D = k·θ_D, on points values.
§Errors
LatticeError::InvalidSpectrum unless theta_k is finite and
positive and points is at least 2.
Sourcepub fn effective_temperature_k(&self, temperature_k: f64) -> f64
pub fn effective_temperature_k(&self, temperature_k: f64) -> f64
T_eff, the free gas’s temperature with the kernel’s variance at
temperature_k: k·T_eff = ½∫ρ·ω·coth(ω/2kT) dω.
Trait Implementations§
Source§impl Clone for PhononSpectrum
impl Clone for PhononSpectrum
Source§fn clone(&self) -> PhononSpectrum
fn clone(&self) -> PhononSpectrum
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PhononSpectrum
impl Debug for PhononSpectrum
Source§impl PartialEq for PhononSpectrum
impl PartialEq for PhononSpectrum
impl StructuralPartialEq for PhononSpectrum
Auto Trait Implementations§
impl Freeze for PhononSpectrum
impl RefUnwindSafe for PhononSpectrum
impl Send for PhononSpectrum
impl Sync for PhononSpectrum
impl Unpin for PhononSpectrum
impl UnsafeUnpin for PhononSpectrum
impl UnwindSafe for PhononSpectrum
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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