pub struct DrudeLorentz { /* private fields */ }Expand description
A sum of Drude-Lorentz oscillators: an analytic, synthetic ELF with closed-form sum rules (see the module docs).
Implementations§
Source§impl DrudeLorentz
impl DrudeLorentz
Sourcepub fn new(
oscillators: Vec<DrudeLorentzOscillator>,
) -> Result<Self, ElectronDataError>
pub fn new( oscillators: Vec<DrudeLorentzOscillator>, ) -> Result<Self, ElectronDataError>
At least one oscillator; every strength, energy and width finite and positive.
Sourcepub fn oscillators(&self) -> &[DrudeLorentzOscillator]
pub fn oscillators(&self) -> &[DrudeLorentzOscillator]
The oscillators.
Sourcepub fn plasma_energy_ev(&self) -> f64
pub fn plasma_energy_ev(&self) -> f64
The plasma energy ħΩ_p = sqrt(Σ A_i), eV, defined by the f-sum
∫ W ELF dW = (π/2) (ħΩ_p)² (closed form).
Sourcepub fn to_optical_elf(
&self,
material: &str,
lo_ev: f64,
hi_ev: f64,
n: usize,
) -> Result<OpticalElf, ElectronDataError>
pub fn to_optical_elf( &self, material: &str, lo_ev: f64, hi_ev: f64, n: usize, ) -> Result<OpticalElf, ElectronDataError>
Sample the model on n log-spaced energies from lo_ev to hi_ev
into an OpticalElf (interpolated linearly between the samples).
The provenance says that the table is synthetic and lists the
parameters.
Trait Implementations§
Source§impl Clone for DrudeLorentz
impl Clone for DrudeLorentz
Source§fn clone(&self) -> DrudeLorentz
fn clone(&self) -> DrudeLorentz
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 DrudeLorentz
impl Debug for DrudeLorentz
Source§impl PartialEq for DrudeLorentz
impl PartialEq for DrudeLorentz
impl StructuralPartialEq for DrudeLorentz
Auto Trait Implementations§
impl Freeze for DrudeLorentz
impl RefUnwindSafe for DrudeLorentz
impl Send for DrudeLorentz
impl Sync for DrudeLorentz
impl Unpin for DrudeLorentz
impl UnsafeUnpin for DrudeLorentz
impl UnwindSafe for DrudeLorentz
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
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> ⓘ
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