ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
toWannier90 Class Reference

#include <to_wannier90.h>

Inheritance diagram for toWannier90:
Collaboration diagram for toWannier90:

Public Member Functions

 toWannier90 ()
 
 toWannier90 (const bool &out_wannier_mmn, const bool &out_wannier_amn, const bool &out_wannier_unk, const bool &out_wannier_eig, const bool &out_wannier_wvfn_formatted, const std::string &nnkpfile, const std::string &wannier_spin)
 
 ~toWannier90 ()
 
void calculate ()
 
void read_nnkp (const UnitCell &ucell, const K_Vectors &kv)
 
void out_eig (const ModuleBase::matrix &ekb)
 
void cal_Amn ()
 
void cal_Mmn ()
 
void out_unk ()
 

Protected Member Functions

bool try_read_nnkp (const UnitCell &ucell, const K_Vectors &kv)
 

Protected Attributes

int num_kpts =0
 
int cal_num_kpts =0
 
std::vector< std::vector< int > > nnlist
 
std::vector< std::vector< ModuleBase::Vector3< double > > > nncell
 
int nntot = 0
 
int start_k_index = 0
 
int num_wannier =0
 
ModuleBase::Vector3< double > * R_centre = nullptr
 
int * L = nullptr
 
int * m = nullptr
 
int * rvalue = nullptr
 
ModuleBase::Vector3< double > * z_axis = nullptr
 
ModuleBase::Vector3< double > * x_axis = nullptr
 
double * alfa = nullptr
 
int * spin_eig = nullptr
 
ModuleBase::Vector3< double > * spin_qaxis = nullptr
 
std::complex< double > * up_con = nullptr
 
std::complex< double > * dn_con = nullptr
 
bool out_wannier_mmn = true
 
bool out_wannier_amn = true
 
bool out_wannier_unk = true
 
bool out_wannier_eig = true
 
bool out_wannier_wvfn_formatted = true
 
std::string nnkpfile = ""
 
std::string wannier_file_name = "seedname"
 
std::string wannier_spin = "up"
 
int num_exclude_bands = 0
 
std::unordered_set< int > exclude_bands
 
int num_bands = 0
 
int * cal_band_index = nullptr
 
bool gamma_only_wannier = false
 

Constructor & Destructor Documentation

◆ toWannier90() [1/2]

toWannier90::toWannier90 ( )

◆ toWannier90() [2/2]

toWannier90::toWannier90 ( const bool &  out_wannier_mmn,
const bool &  out_wannier_amn,
const bool &  out_wannier_unk,
const bool &  out_wannier_eig,
const bool &  out_wannier_wvfn_formatted,
const std::string &  nnkpfile,
const std::string &  wannier_spin 
)
Here is the call graph for this function:

◆ ~toWannier90()

toWannier90::~toWannier90 ( )

Member Function Documentation

◆ cal_Amn()

void toWannier90::cal_Amn ( )
Here is the caller graph for this function:

◆ cal_Mmn()

void toWannier90::cal_Mmn ( )
Here is the caller graph for this function:

◆ calculate()

void toWannier90::calculate ( )

◆ out_eig()

void toWannier90::out_eig ( const ModuleBase::matrix ekb)
Here is the caller graph for this function:

◆ out_unk()

void toWannier90::out_unk ( )
Here is the caller graph for this function:

◆ read_nnkp()

void toWannier90::read_nnkp ( const UnitCell ucell,
const K_Vectors kv 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ try_read_nnkp()

bool toWannier90::try_read_nnkp ( const UnitCell ucell,
const K_Vectors kv 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ alfa

double* toWannier90::alfa = nullptr
protected

◆ cal_band_index

int* toWannier90::cal_band_index = nullptr
protected

◆ cal_num_kpts

int toWannier90::cal_num_kpts =0
protected

◆ dn_con

std::complex<double>* toWannier90::dn_con = nullptr
protected

◆ exclude_bands

std::unordered_set<int> toWannier90::exclude_bands
protected

◆ gamma_only_wannier

bool toWannier90::gamma_only_wannier = false
protected

◆ L

int* toWannier90::L = nullptr
protected

◆ m

int* toWannier90::m = nullptr
protected

◆ nncell

std::vector<std::vector<ModuleBase::Vector3<double> > > toWannier90::nncell
protected

◆ nnkpfile

std::string toWannier90::nnkpfile = ""
protected

◆ nnlist

std::vector<std::vector<int> > toWannier90::nnlist
protected

◆ nntot

int toWannier90::nntot = 0
protected

◆ num_bands

int toWannier90::num_bands = 0
protected

◆ num_exclude_bands

int toWannier90::num_exclude_bands = 0
protected

◆ num_kpts

int toWannier90::num_kpts =0
protected

◆ num_wannier

int toWannier90::num_wannier =0
protected

◆ out_wannier_amn

bool toWannier90::out_wannier_amn = true
protected

◆ out_wannier_eig

bool toWannier90::out_wannier_eig = true
protected

◆ out_wannier_mmn

bool toWannier90::out_wannier_mmn = true
protected

◆ out_wannier_unk

bool toWannier90::out_wannier_unk = true
protected

◆ out_wannier_wvfn_formatted

bool toWannier90::out_wannier_wvfn_formatted = true
protected

◆ R_centre

ModuleBase::Vector3<double>* toWannier90::R_centre = nullptr
protected

◆ rvalue

int* toWannier90::rvalue = nullptr
protected

◆ spin_eig

int* toWannier90::spin_eig = nullptr
protected

◆ spin_qaxis

ModuleBase::Vector3<double>* toWannier90::spin_qaxis = nullptr
protected

◆ start_k_index

int toWannier90::start_k_index = 0
protected

◆ up_con

std::complex<double>* toWannier90::up_con = nullptr
protected

◆ wannier_file_name

std::string toWannier90::wannier_file_name = "seedname"
protected

◆ wannier_spin

std::string toWannier90::wannier_spin = "up"
protected

◆ x_axis

ModuleBase::Vector3<double>* toWannier90::x_axis = nullptr
protected

◆ z_axis

ModuleBase::Vector3<double>* toWannier90::z_axis = nullptr
protected

The documentation for this class was generated from the following files: