#data-file #charge #density #lib #parse #vasp #vaspchg

vaspchg_rs

A lib to parse VASP's charge density file

2 releases

0.1.1 Aug 18, 2020
0.1.0 Aug 16, 2020

#7 in #charge


Used in wavecar_rs

Apache-2.0

20KB
280 lines

vaspchg-rs

crates.io docs.rs

This is a crate aimed at reading/writing volumetric data file produced by VASP. Mostly the files should be CHGCAR, CHG and PARCHG

Example

use vaspchg_rs::{ChgBase, ChgType};

fn main() -> std::io::Result<()> {
    // Reading volumetric data
    let chgcar = ChgBase::from_file("CHGCAR")?;

    // Writing volumetric data to another file
    chgcar.write_file("another_CHGCAR", ChgType::Chgcar)?;

    // manipulating volumetric data
    let pos = chgcar.get_poscar().clone();
    let mut chg = chgcar.get_total_chg().clone();
    chg *= pos.scaled_volume();

    // construct another ChgBase object
    let new_chg = ChgBase::from_builder(chg, vec![], pos);
    new_chg.write_file("new_CHGCAR", ChgType::Parchg)?;
    Ok(())
}

Usage/Document

Clone this repository then run cargo doc to see the documents.

Detailed usage could be found in ChgBase and unit tests in tests/ folder.

Dependencies

~4.5MB
~81K SLoC