#chemistry #castep #table #periodic #element #symbols #lookup

castep-periodic-table

Periodic-table-like database for relevant usage in CASTEP

7 releases

new 0.3.2 Apr 25, 2024
0.3.1 Apr 18, 2024
0.2.2 Jul 10, 2023
0.2.0 Jun 2, 2023
0.1.0 Nov 4, 2022

#90 in Science

Download history 6/week @ 2024-02-19 17/week @ 2024-02-26 10/week @ 2024-03-11 15/week @ 2024-04-01 11/week @ 2024-04-08 264/week @ 2024-04-15

290 downloads per month
Used in 7 crates (5 directly)

MIT license

59KB
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

~2–2.8MB
~59K SLoC