pub struct Element {
pub z: u8,
pub symbol: &'static str,
pub atomic_weight: f64,
pub weight_is_mass_number: bool,
pub density_g_cm3: Option<f64>,
pub default_surface_binding_ev: Option<f64>,
pub default_displacement_ev: Option<f64>,
}Expand description
One element of the periodic table with its default data.
Fields§
§z: u8Atomic number.
symbol: &'static strElement symbol, e.g. "Si".
atomic_weight: f64Standard (conventional) atomic weight in g/mol; see the module docs.
weight_is_mass_number: boolTrue if atomic_weight is the mass number of the longest-lived isotope
because IUPAC publishes no standard atomic weight for the element.
density_g_cm3: Option<f64>Default solid density in g/cm³, if one is defined; see the module docs.
default_surface_binding_ev: Option<f64>Default surface binding energy E_s in eV (cohesive-energy convention).
default_displacement_ev: Option<f64>Default displacement energy E_d in eV (ASTM E521 convention).
Implementations§
Source§impl Element
impl Element
Sourcepub fn mass_kg(&self) -> f64
pub fn mass_kg(&self) -> f64
Atomic mass in kg: atomic_weight times the atomic mass constant.
(The molar-mass constant differs from 1 g/mol by about 1e-9, CODATA
2022 M_u = 1.000 000 001 05e-3 kg/mol; the standard-atomic-weight
uncertainty is far larger.)
Sourcepub fn density_kg_m3(&self) -> Option<f64>
pub fn density_kg_m3(&self) -> Option<f64>
Default density in kg/m³, if defined.
Trait Implementations§
impl Copy for Element
impl StructuralPartialEq for Element
Auto Trait Implementations§
impl Freeze for Element
impl RefUnwindSafe for Element
impl Send for Element
impl Sync for Element
impl Unpin for Element
impl UnsafeUnpin for Element
impl UnwindSafe for Element
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