1#ifndef TOWannier90_PW_H
2#define TOWannier90_PW_H
53 throw std::logic_error(
"The wave function of toWannier90_PW is generally a std::complex<double> type.");
59 const psi::Psi<std::complex<double>>& psi_pw,
67 const double dx = 0.025;
73 const psi::Psi<std::complex<double>>& psi_pw,
93 const psi::Psi<std::complex<double>>& psi_pw,
96 const std::vector<ModuleBase::matrix> &radial_in_q,
101 const int &orbital_L,
102 const int &orbital_m,
106 double *radial_in_q_single,
107 std::complex<double> *orbital_in_G_single
111 const psi::Psi<std::complex<double>>& psi_pw,
114 const std::vector<ModuleBase::matrix> &radial_in_q,
Definition complexmatrix.h:14
3 elements vector
Definition vector3.h:22
Definition pw_basis_big.h:16
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
Definition to_wannier90_pw.h:22
void unkdotW_A(const psi::Psi< std::complex< double > > &psi_pw, const ModulePW::PW_Basis_K *wfcpw, const int &ik, const std::vector< ModuleBase::matrix > &radial_in_q, ModuleBase::ComplexMatrix &Amn)
Definition to_wannier90_pw.cpp:1014
void produce_trial_in_pw(const psi::Psi< std::complex< double > > &psi_pw, const int &ik, const ModulePW::PW_Basis_K *wfcpw, const std::vector< ModuleBase::matrix > &radial_in_q, ModuleBase::ComplexMatrix &trial_orbitals_k)
Definition to_wannier90_pw.cpp:579
const double x_min
Definition to_wannier90_pw.h:68
void calculate(const UnitCell &ucell, const ModuleBase::matrix &ekb, const ModulePW::PW_Basis_K *wfcpw, const ModulePW::PW_Basis_Big *bigpw, const K_Vectors &kv, const psi::Psi< double > *psi)
Definition to_wannier90_pw.h:44
double const * omega
Definition to_wannier90_pw.h:70
void gen_radial_function_in_q(std::vector< ModuleBase::matrix > &radial_in_q)
Definition to_wannier90_pw.cpp:494
double const * tpiba
Definition to_wannier90_pw.h:69
void set_tpiba_omega(const double &tpiba, const double &omega)
Definition to_wannier90_pw.cpp:78
~toWannier90_PW()
Definition to_wannier90_pw.cpp:25
void unkdotkb(const psi::Psi< std::complex< double > > &psi_pw, const ModulePW::PW_Basis_K *wfcpw, const int &ik, const int &ikb, const ModuleBase::Vector3< double > G, ModuleBase::ComplexMatrix &Mmn)
Definition to_wannier90_pw.cpp:357
const int mesh_r
Definition to_wannier90_pw.h:66
void integral(const int meshr, const double *psir, const double *r, const double *rab, const int &l, double *table)
Definition to_wannier90_pw.cpp:972
void get_trial_orbitals_lm_k(const int &orbital_L, const int &orbital_m, const ModuleBase::matrix &ylm, const ModuleBase::Vector3< double > *gk, const int &npw, double *radial_in_q_single, std::complex< double > *orbital_in_G_single)
Definition to_wannier90_pw.cpp:946
const double dx
Definition to_wannier90_pw.h:67
Definition to_wannier90.h:23
void cal_Amn()
Definition to_wannier90.cpp:124
bool out_wannier_wvfn_formatted
Definition to_wannier90.h:76
std::string nnkpfile
Definition to_wannier90.h:78
std::string wannier_spin
Definition to_wannier90.h:80
void cal_Mmn()
Definition to_wannier90.cpp:128
void out_unk()
Definition to_wannier90.cpp:120
bool out_wannier_unk
Definition to_wannier90.h:74
bool out_wannier_mmn
Definition to_wannier90.h:72
void calculate()
Definition to_wannier90.cpp:69
bool out_wannier_amn
Definition to_wannier90.h:73
bool out_wannier_eig
Definition to_wannier90.h:75