Skip to content

Multi-Threaded Bader Charge Partitioning

License

Notifications You must be signed in to change notification settings

mjhong0708/bader-rs

 
 

Repository files navigation

bader-rs (0.4.0)

build Latest Version Documentation DOI MSRV: rustc 1.54+

An incredibly fast, multi-threaded, Bader charge partitioning tool. Based on methods presented in Yu Min and Trinkle Dallas R. 2011 J. Che.m Phys. 134 064111 with adaptions for multi-threading and increased speed.

Installation

Pre-built Binary

There are pre-built 64bit binaries for Linux, Mac and Windows provided with the source code for the latest release.

Cargo

If these binaries don't cover your OS the easiest way to install is via cargo.

$ cargo install bader

From Source

To check out the lastest features not in the binaries yet you can compile from source. To do this run the following, which will create the ./target/release/bca executable.

$ git clone https://github.com/adam-kerrigan/bader-rs
$ cd bader-rs
$ cargo build --verbose --release

From here you can either move or link the binary to folder in your path.

$ mv ./target/release/bca ~/bin

Minimum Supported Rust Version (MSRV)

This crate is guaranteed to compile on stable Rust 1.54.0 and up. It might compile with older versions but that may change in any new patch release.

Usage

The program takes a charge density file as input and performs Bader analysis of the data. Currently it supports density in VASP or cube formats. It is recommended to run VASP calculations with LAECHG = .TRUE. to print the core density and self-consistent valence density. These can then be passed as reference files to the program using the -r, --reference flag where they will be summed.

$ bca CHGCAR -r AECCAR0 -r AECCAR2

VASP charge density files containing spin densities will output the the partitioned spin also. To achieve this for cube files requires using the --spin flag to pass a second file to treat as the spin density.

$ bca charge-density.cube -s spin-density.cube

For a detailed list of usage options run

$ bca --help

Output

The program outputs two files, ACF.dat & BCF.dat. The Atomic Charge File (ACF.dat) contians the charge (and spin) information for each atom and the Bader Charge File (BCF.dat) contains the information about each Bader volume. The BCF file also includes the atom number in the number column formatted as 'atom number: bader volume'.

License

MIT

About

Multi-Threaded Bader Charge Partitioning

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%