11 unstable releases (4 breaking)
new 0.5.2 | Dec 10, 2024 |
---|---|
0.5.1 | Jun 20, 2024 |
0.4.0 | May 21, 2024 |
0.3.2 | Apr 25, 2024 |
0.1.0 | Nov 4, 2022 |
#92 in Science
37 downloads per month
Used in 11 crates
(9 directly)
60KB
2K
SLoC
castep-periodic-table
A periodic table for use in CASTEP, written in rust.
Properties
Example Element
:
Element {
symbol: "C",
atomic_number: 6_u8,
lcao: 2_u8,
mass: 12.0109996796,
potential: "C_00PBE.usp",
spin: 0_u8,
}
Usage
extern crate castep_periodic_table as cpt;
use cpt::element::Element;
use cpt::data::ELEMENT_TABLE;
// Lookup element "Co" by symbol
let cobalt: &Element = ELEMENT_TABLE.get_by_symbol("Co").unwrap();
// Lookup element by atomic_number
let oxygen = ELEMENT_TABLE.get_by_atomic_number(8_u8).unwrap();
// Get fields
let lcao_cobalt: u8 = cobalt.lcao();
let mass_cobalt: f64 = cobalt.mass();
let spin: u8 = cobalt.spin();
let potential: &str = cobalt.potential();
// Iterator
// ELEMENT_TABLE.iter()...
Maintainance
Currently the crate only include C, H, O, transition metals and Lanthanides due to personal interest. It can be updated by modifying the element_table.yaml
and generate a new data.rs
with the provided method in ElementYamlTable
.
Dependencies
~1.9–2.7MB
~57K SLoC