Skip to content

Ionizing/wavecar_rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wavecar_rs

Rust

A crate to manipulate wavefunction from VASP WAVECAR.

Example

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(())
}

Features

  • 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;

Acknowledgement

About

A Rust module for manipulating VASP WAVECAR.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published