| Crates.io | wavecar_rs |
| lib.rs | wavecar_rs |
| version | 0.1.0 |
| created_at | 2020-08-24 14:34:41.231122+00 |
| updated_at | 2020-08-24 14:34:41.231122+00 |
| description | A lib to manipulate VASP's WAVECAR |
| homepage | https://github.com/Ionizing/wavecar_rs |
| repository | https://github.com/Ionizing/Wavecar_rs |
| max_upload_size | |
| id | 280147 |
| size | 81,956 |
A crate to manipulate wavefunction from VASP WAVECAR.
use wavecar_rs::*;
use vaspchg_rs::ChgType;
use vasp_poscar::Poscar;
fn main() -> io::Result<()> {
let mut wavecar = Wavecar::from_file("WAVECAR")?;
// if your calculation is done via vasp5.2.x or lower in parallel
// you need to set the wavecar type
// wavecar.set_wavecar_type(WavecarType::GammaHalf(GammaHalfDirection::Z));
let poscar = Poscar::from_path("POSCAR").unwrap();
wavecar.get_wavefunction_in_realspace_default_grid(0, 0, 5)
.unwrap()
.apply_phase(&[0.5f64, 0.5, 0.5])
.into_vesta_obj(&poscar)
.write_file("wfc_xx.vasp", ChgType::Parchg)
.unwrap();
Ok(())
}
Get the meta information of WAVECAR;
Transform wavefunction from k-spake into real-space;
Save the wavefunction as CHGCAR format to visualize the spatial distribution;
Apply phase on the wavefunction to get full bloch waves;