castep-periodic-table

Crates.iocastep-periodic-table
lib.rscastep-periodic-table
version0.5.2
sourcesrc
created_at2022-11-04 08:15:13.801554
updated_at2024-12-10 09:16:19.437343
descriptionPeriodic-table-like database for relevant usage in CASTEP
homepagehttps://github.com/TonyWu20/castep-periodic-table
repositoryhttps://github.com/TonyWu20/castep-periodic-table
max_upload_size
id704932
size75,439
Tony (TonyWu20)

documentation

README

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.

Commit count: 21

cargo fmt