1个不稳定版本
0.1.0 | 2020年8月24日 |
---|
#8 in #waves
70KB
1K SLoC
wavecar_rs
一个用于操作VASP WAVECAR中波函数的crate。
示例
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(())
}
功能
- 获取WAVECAR的元信息;
- 将波函数从k空间转换到实空间;
- 将波函数以CHGCAR格式保存,以可视化空间分布;
- 对波函数应用相以获取完整的布洛赫波;
感谢
依赖
~10MB
~241K SLoC