Enum Element

Source
pub enum Element {
Show 118 variants H = 1, He = 2, Li = 3, Be = 4, B = 5, C = 6, N = 7, O = 8, F = 9, Ne = 10, Na = 11, Mg = 12, Al = 13, Si = 14, P = 15, S = 16, Cl = 17, Ar = 18, K = 19, Ca = 20, Sc = 21, Ti = 22, V = 23, Cr = 24, Mn = 25, Fe = 26, Co = 27, Ni = 28, Cu = 29, Zn = 30, Ga = 31, Ge = 32, As = 33, Se = 34, Br = 35, Kr = 36, Rb = 37, Sr = 38, Y = 39, Zr = 40, Nb = 41, Mo = 42, Tc = 43, Ru = 44, Rh = 45, Pd = 46, Ag = 47, Cd = 48, In = 49, Sn = 50, Sb = 51, Te = 52, I = 53, Xe = 54, Cs = 55, Ba = 56, La = 57, Ce = 58, Pr = 59, Nd = 60, Pm = 61, Sm = 62, Eu = 63, Gd = 64, Tb = 65, Dy = 66, Ho = 67, Er = 68, Tm = 69, Yb = 70, Lu = 71, Hf = 72, Ta = 73, W = 74, Re = 75, Os = 76, Ir = 77, Pt = 78, Au = 79, Hg = 80, Tl = 81, Pb = 82, Bi = 83, Po = 84, At = 85, Rn = 86, Fr = 87, Ra = 88, Ac = 89, Th = 90, Pa = 91, U = 92, Np = 93, Pu = 94, Am = 95, Cm = 96, Bk = 97, Cf = 98, Es = 99, Fm = 100, Md = 101, No = 102, Lr = 103, Rf = 104, Db = 105, Sg = 106, Bh = 107, Hs = 108, Mt = 109, Ds = 110, Rg = 111, Cn = 112, Nh = 113, Fl = 114, Mc = 115, Lv = 116, Ts = 117, Og = 118,
}
Expand description

All elements from the periodic system.

Variants§

§

H = 1

Element Hydrogen (H) atomic number: 1

§

He = 2

Element Helium (He) atomic number: 2

§

Li = 3

Element Lithium (Li) atomic number: 3

§

Be = 4

Element Beryllium (Be) atomic number: 4

§

B = 5

Element Boron (B) atomic number: 5

§

C = 6

Element Carbon (C) atomic number: 6

§

N = 7

Element Nitrogen (N) atomic number: 7

§

O = 8

Element Oxygen (O) atomic number: 8

§

F = 9

Element Fluorine (F) atomic number: 9

§

Ne = 10

Element Neon (Ne) atomic number: 10

§

Na = 11

Element Sodium (Na) atomic number: 11

§

Mg = 12

Element Magnesium (Mg) atomic number: 12

§

Al = 13

Element Aluminium (Al) atomic number: 13

§

Si = 14

Element Silicon (Si) atomic number: 14

§

P = 15

Element Phosphorus (P) atomic number: 15

§

S = 16

Element Sulfur (S) atomic number: 16

§

Cl = 17

Element Chlorine (Cl) atomic number: 17

§

Ar = 18

Element Argon (Ar) atomic number: 18

§

K = 19

Element Potassium (K) atomic number: 19

§

Ca = 20

Element Calcium (Ca) atomic number: 20

§

Sc = 21

Element Scandium (Sc) atomic number: 21

§

Ti = 22

Element Titanium (Ti) atomic number: 22

§

V = 23

Element Vanadium (V) atomic number: 23

§

Cr = 24

Element Chromium (Cr) atomic number: 24

§

Mn = 25

Element Manganese (Mn) atomic number: 25

§

Fe = 26

Element Iron (Fe) atomic number: 26

§

Co = 27

Element Cobalt (Co) atomic number: 27

§

Ni = 28

Element Nickel (Ni) atomic number: 28

§

Cu = 29

Element Copper (Cu) atomic number: 29

§

Zn = 30

Element Zinc (Zn) atomic number: 30

§

Ga = 31

Element Gallium (Ga) atomic number: 31

§

Ge = 32

Element Germanium (Ge) atomic number: 32

§

As = 33

Element Arsenic (As) atomic number: 33

§

Se = 34

Element Selenium (Se) atomic number: 34

§

Br = 35

Element Bromine (Br) atomic number: 35

§

Kr = 36

Element Krypton (Kr) atomic number: 36

§

Rb = 37

Element Rubidium (Rb) atomic number: 37

§

Sr = 38

Element Strontium (Sr) atomic number: 38

§

Y = 39

Element Yttrium (Y) atomic number: 39

§

Zr = 40

Element Zirconium (Zr) atomic number: 40

§

Nb = 41

Element Niobium (Nb) atomic number: 41

§

Mo = 42

Element Molybdenum (Mo) atomic number: 42

§

Tc = 43

Element Technetium (Tc) atomic number: 43

§

Ru = 44

Element Ruthenium (Ru) atomic number: 44

§

Rh = 45

Element Rhodium (Rh) atomic number: 45

§

Pd = 46

Element Palladium (Pd) atomic number: 46

§

Ag = 47

Element Silver (Ag) atomic number: 47

§

Cd = 48

Element Cadmium (Cd) atomic number: 48

§

In = 49

Element Indium (In) atomic number: 49

§

Sn = 50

Element Tin (Sn) atomic number: 50

§

Sb = 51

Element Antimony (Sb) atomic number: 51

§

Te = 52

Element Tellurium (Te) atomic number: 52

§

I = 53

Element Iodine (I) atomic number: 53

§

Xe = 54

Element Xenon (Xe) atomic number: 54

§

Cs = 55

Element Caesium (Cs) atomic number: 55

§

Ba = 56

Element Barium (Ba) atomic number: 56

§

La = 57

Element Lanthanum (La) atomic number: 57

§

Ce = 58

Element Cerium (Ce) atomic number: 58

§

Pr = 59

Element Praseodymium (Pr) atomic number: 59

§

Nd = 60

Element Neodymium (Nd) atomic number: 60

§

Pm = 61

Element Promethium (Pm) atomic number: 61

§

Sm = 62

Element Samarium (Sm) atomic number: 62

§

Eu = 63

Element Europium (Eu) atomic number: 63

§

Gd = 64

Element Gadolinium (Gd) atomic number: 64

§

Tb = 65

Element Terbium (Tb) atomic number: 65

§

Dy = 66

Element Dysprosium (Dy) atomic number: 66

§

Ho = 67

Element Holmium (Ho) atomic number: 67

§

Er = 68

Element Erbium (Er) atomic number: 68

§

Tm = 69

Element Thulium (Tm) atomic number: 69

§

Yb = 70

Element Ytterbium (Yb) atomic number: 70

§

Lu = 71

Element Lutetium (Lu) atomic number: 71

§

Hf = 72

Element Hafnium (Hf) atomic number: 72

§

Ta = 73

Element Tantalum (Ta) atomic number: 73

§

W = 74

Element Tungsten (W) atomic number: 74

§

Re = 75

Element Rhenium (Re) atomic number: 75

§

Os = 76

Element Osmium (Os) atomic number: 76

§

Ir = 77

Element Iridium (Ir) atomic number: 77

§

Pt = 78

Element Platinum (Pt) atomic number: 78

§

Au = 79

Element Gold (Au) atomic number: 79

§

Hg = 80

Element Mercury (Hg) atomic number: 80

§

Tl = 81

Element Thallium (Tl) atomic number: 81

§

Pb = 82

Element Lead (Pb) atomic number: 82

§

Bi = 83

Element Bismuth (Bi) atomic number: 83

§

Po = 84

Element Polonium (Po) atomic number: 84

§

At = 85

Element Astatine (At) atomic number: 85

§

Rn = 86

Element Radon (Rn) atomic number: 86

§

Fr = 87

Element Francium (Fr) atomic number: 87

§

Ra = 88

Element Radium (Ra) atomic number: 88

§

Ac = 89

Element Actinium (Ac) atomic number: 89

§

Th = 90

Element Thorium (Th) atomic number: 90

§

Pa = 91

Element Protactinium (Pa) atomic number: 91

§

U = 92

Element Uranium (U) atomic number: 92

§

Np = 93

Element Neptunium (Np) atomic number: 93

§

Pu = 94

Element Plutonium (Pu) atomic number: 94

§

Am = 95

Element Americium (Am) atomic number: 95

§

Cm = 96

Element Curium (Cm) atomic number: 96

§

Bk = 97

Element Berkelium (Bk) atomic number: 97

§

Cf = 98

Element Californium (Cf) atomic number: 98

§

Es = 99

Element Einsteinium (Es) atomic number: 99

§

Fm = 100

Element Fermium (Fm) atomic number: 100

§

Md = 101

Element Mendelevium (Md) atomic number: 101

§

No = 102

Element Nobelium (No) atomic number: 102

§

Lr = 103

Element Lawrencium (Lr) atomic number: 103

§

Rf = 104

Element Rutherfordium (Rf) atomic number: 104

§

Db = 105

Element Dubnium (Db) atomic number: 105

§

Sg = 106

Element Seaborgium (Sg) atomic number: 106

§

Bh = 107

Element Bohrium (Bh) atomic number: 107

§

Hs = 108

Element Hassium (Hs) atomic number: 108

§

Mt = 109

Element Meitnerium (Mt) atomic number: 109

§

Ds = 110

Element Darmstadtium (Ds) atomic number: 110

§

Rg = 111

Element Roentgenium (Rg) atomic number: 111

§

Cn = 112

Element Copernicium (Cn) atomic number: 112

§

Nh = 113

Element Nihonium (Nh) atomic number: 113

§

Fl = 114

Element Flerovium (Fl) atomic number: 114

§

Mc = 115

Element Moscovium (Mc) atomic number: 115

§

Lv = 116

Element Livermorium (Lv) atomic number: 116

§

Ts = 117

Element Tennessine (Ts) atomic number: 117

§

Og = 118

Element Oganesson (Og) atomic number: 118

Implementations§

Source§

impl Element

Source

pub const fn atomic_number(&self) -> usize

Get the number in the periodic system of the elements for this element.

Source

pub const fn new(atomic_number: usize) -> Option<Element>

Get an element based on the atomic number

Source

pub fn from_symbol(symbol: impl AsRef<str>) -> Option<Element>

Get an element based on the symbol, eg “He” for Helium

Source

pub fn symbol(&self) -> &'static str

Get the symbol for this element eg “He” for Helium

Source

pub const fn full_name(&self) -> &'static str

Get the full name for an element, eg “Helium” for Element::He

Source

pub const fn atomic_radius(&self) -> &'static AtomicRadius

Get the AtomicRadius for this element, see the documentation for the struct to get more information.

Source

pub const fn weight(&self) -> Option<f64>

Get the atomic weight for the given element. Applicable for all normal materials. The mean value is given for the uncertainty surrounding the values for all elements. Source: CIAAW. Atomic weights of the elements 2020. Available online at https://www.ciaaw.org/atomic-weights.htm.

Source

pub const fn electro_negativity(&self) -> Option<f64>

Get the Pauling electronegativity for the element. Source: WM Haynes (ed), CRC Handbook of Chemistry and Physics, 95th Edition. CRC Press. Boca Raton, Florida, 2014-2015; Section 9, Molecular Structure and Spectroscopy; Electronegativity

Trait Implementations§

Source§

impl Clone for Element

Source§

fn clone(&self) -> Element

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Element

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Element

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for Element

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for Element

Source§

fn cmp(&self, other: &Element) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for Element

Source§

fn eq(&self, other: &Element) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for Element

Source§

fn partial_cmp(&self, other: &Element) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl TryFrom<&str> for Element

Source§

type Error = &'static str

The type returned in the event of a conversion error.
Source§

fn try_from(value: &str) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl Copy for Element

Source§

impl Eq for Element

Source§

impl StructuralPartialEq for Element

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.