pub struct BandDefaults {
pub material: &'static str,
pub kind: BandKind,
pub fermi_ev: Option<CitedValue>,
pub work_function_ev: Option<CitedValue>,
pub valence_band_width_ev: Option<CitedValue>,
pub band_gap_ev: Option<CitedValue>,
pub affinity_ev: Option<CitedValue>,
pub gap: &'static str,
}Expand description
The cited band parameters of one material. A field is None where no
source that could be opened gives the value; BandDefaults::gap says
what was tried. Fields that do not belong to the entry’s BandKind are
always None.
Fields§
§material: &'static strThe material, as a chemical formula ("Si", "SiO2", …).
kind: BandKindMetal or insulator.
fermi_ev: Option<CitedValue>Fermi energy above the band bottom, eV (metals).
work_function_ev: Option<CitedValue>Work function, eV (metals).
valence_band_width_ev: Option<CitedValue>Valence band width, eV (insulators).
band_gap_ev: Option<CitedValue>Band gap, eV (insulators).
affinity_ev: Option<CitedValue>Electron affinity, eV (insulators).
gap: &'static strWhy the missing parameters are missing.
Implementations§
Source§impl BandDefaults
impl BandDefaults
Sourcepub fn complete(
&self,
fill: BandFill,
provenance: &str,
) -> Result<BandStructure, BandError>
pub fn complete( &self, fill: BandFill, provenance: &str, ) -> Result<BandStructure, BandError>
Build a BandStructure from the cited values, taking each missing
parameter from fill. provenance names the source of the filled
values and must not be blank when any is filled. Refused: a parameter
with neither a cited value nor a fill (the error quotes
BandDefaults::gap), a fill for a parameter that is already cited,
and a fill for a parameter of the other BandKind. The returned
band’s provenance lists every cited value with its source, then the
filled values with provenance.
Trait Implementations§
Source§impl Clone for BandDefaults
impl Clone for BandDefaults
Source§fn clone(&self) -> BandDefaults
fn clone(&self) -> BandDefaults
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 BandDefaults
Source§impl Debug for BandDefaults
impl Debug for BandDefaults
Source§impl PartialEq for BandDefaults
impl PartialEq for BandDefaults
impl StructuralPartialEq for BandDefaults
Auto Trait Implementations§
impl Freeze for BandDefaults
impl RefUnwindSafe for BandDefaults
impl Send for BandDefaults
impl Sync for BandDefaults
impl Unpin for BandDefaults
impl UnsafeUnpin for BandDefaults
impl UnwindSafe for BandDefaults
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