[][src]Struct wavecar_rs::Wavefunction

pub struct Wavefunction { /* fields omitted */ }

Pseudo wavefunction structure.

This struct stores only one state's wavefunction data.

Note: all the subscript references are count from 0, which differs from Fortran.

Implementations

impl Wavefunction[src]

pub fn get_wavecar_type(&self) -> WavecarType[src]

pub fn get_ispin(&self) -> u64[src]

spin index, count from 0

pub fn get_ikpoint(&self) -> u64[src]

kpoint index

pub fn get_iband(&self) -> u64[src]

band index

pub fn get_real_cell(&self) -> Array2<f64>[src]

real space lattice vectors

pub fn get_eigen_val(&self) -> f64[src]

band eigen value (i.e. band energy)

pub fn get_kvec(&self) -> Vec<f64>[src]

k-point's k-vector in k-space

pub fn get_ngrid(&self) -> Vec<u64>[src]

mesh grid shape

pub fn get_mesh_data(&self) -> &Array3<Complex64>[src]

mesh grid data

impl Wavefunction[src]

pub fn apply_phase(self, r0: &[f64; 3]) -> Self[src]

Apply kr phase.

By default, the WAVECAR only stores the periodic part of the Bloch wavefunction. In order to get the full Bloch wavefunction, one need to multiply the periodic part with the phase: exp(ik(r+r0)). Below, the k-point vector and the real-space grid are both in the direct coordinates. (Source)

pub fn normalize(self) -> Self[src]

Normalize wavefunction data, makes it satisfies <psi|psi> = 1

pub fn get_charge_density(&self) -> Array3<f64>[src]

Calculate the charge density mesh grid, according to rho = |psi|^2

pub fn get_wavefun_realgrid(&self) -> Array3<f64>[src]

Get the real part of the wavefunction

pub fn get_wavefun_imagegrid(&self) -> Array3<f64>[src]

Get the imaginary part of the wavefunction

pub fn into_parchg_obj(self, poscar: &Poscar) -> ChgBase[src]

Calculate the charge density mesh grid and generate a Parchg object

pub fn into_vesta_obj(self, poscar: &Poscar) -> ChgBase[src]

Save raw real part of the wavefunction as vesta format (in fact, making use of CHGCAR format) to visualize the wavefunction.

Trait Implementations

impl Clone for Wavefunction[src]

impl Debug for Wavefunction[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.