#chemistry #castep

castep-periodic-table

Periodic-table-like database for relevant usage in CASTEP

2 unstable releases

new 0.2.0 Jun 2, 2023
0.1.0 Nov 4, 2022

#157 in Science

Download history 16/week @ 2023-02-15 32/week @ 2023-02-22 4/week @ 2023-03-01 4/week @ 2023-03-08 5/week @ 2023-03-15 5/week @ 2023-03-29 6/week @ 2023-04-05 11/week @ 2023-04-12 1/week @ 2023-04-19 6/week @ 2023-04-26 9/week @ 2023-05-03 4/week @ 2023-05-10 19/week @ 2023-05-17 1/week @ 2023-05-24 44/week @ 2023-05-31

71 downloads per month
Used in 2 crates (via castep-model-core)

MIT license

31KB
1K 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.8–2.6MB
~58K SLoC