Crates.io | vaspchg_rs |
lib.rs | vaspchg_rs |
version | 0.1.1 |
source | src |
created_at | 2020-08-16 09:09:20.005192 |
updated_at | 2020-08-18 06:58:29.259111 |
description | A lib to parse VASP's charge density file. |
homepage | https://github.com/Ionizing/vaspchg_rs |
repository | https://github.com/Ionizing/vaspchg_rs |
max_upload_size | |
id | 277174 |
size | 40,831 |
This is a crate aimed at reading/writing volumetric data file produced by VASP.
Mostly the files should be CHGCAR
,
CHG
and PARCHG
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(())
}
Clone this repository then run cargo doc
to see the documents.
Detailed usage could be found in ChgBase and unit tests in tests/
folder.