/soap-rust

Smooth Overlap of Atomic Positions in rust

Primary LanguageRustMIT LicenseMIT

soap-rust

Smooth overlap of atomic positions (SOAP)[1] evaluated in rust using GTO radial basis functions and real spherical harmonic angular functions.[2]

[1] A. P. Bartók et al., Phys. Rev. B, 87, 184115.
[2] L. Himanen et al., Comput. Phys. Commun., 247, 106949.

Installation

To install from source first install rust, clone the repository, then build:

git clone https://github.com/t-young31/soap-rust.git
cd soap-rust
cargo build --release

NOTE: Requires linking against GSL.

Usage

Execute the binary built in the targets/release/ directory. For example to generate the 'SOAP vector' for the H-atom density in a methane molecule:

target/release/soap methane.xyz 0 H

where the first argument is the .xyz structure file, the second the atom index of the origin and the third the element comprising the neighbours. See the help for all options:

target/release/soap --help

Testing

Rust provides a awesome testing platform so the tests can be run with:

cargo test

Disclaimer

Absolutely no guarantee of correctness. Please fork this repository and submit a pull request if there are egregious errors!