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

castep-periodic-table

Periodic-table-like database for relevant usage in CASTEP

10 unstable releases (4 breaking)

0.5.1 Jun 20, 2024
0.5.0 Jun 13, 2024
0.4.0 May 21, 2024
0.3.2 Apr 25, 2024
0.1.0 Nov 4, 2022

#85 in Science

Download history 11/week @ 2024-03-30 10/week @ 2024-04-06 248/week @ 2024-04-13 155/week @ 2024-04-20 24/week @ 2024-04-27 1/week @ 2024-05-04 2/week @ 2024-05-11 203/week @ 2024-05-18 22/week @ 2024-05-25 14/week @ 2024-06-01 123/week @ 2024-06-08 192/week @ 2024-06-15 60/week @ 2024-06-22 7/week @ 2024-06-29 9/week @ 2024-07-06 5/week @ 2024-07-13

114 downloads per month
Used in 11 crates (9 directly)

MIT license

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

~2–2.7MB
~58K SLoC