1#ifndef TOWannier90_PW_H
2#define TOWannier90_PW_H
52 throw std::logic_error(
"The wave function of toWannier90_PW is generally a std::complex<double> type.");
58 const psi::Psi<std::complex<double>>& psi_pw,
66 const double dx = 0.025;
72 const psi::Psi<std::complex<double>>& psi_pw,
92 const psi::Psi<std::complex<double>>& psi_pw,
95 const std::vector<ModuleBase::matrix> &radial_in_q,
100 const int &orbital_L,
101 const int &orbital_m,
105 double *radial_in_q_single,
106 std::complex<double> *orbital_in_G_single
110 const psi::Psi<std::complex<double>>& psi_pw,
113 const std::vector<ModuleBase::matrix> &radial_in_q,
Definition complexmatrix.h:13
3 elements vector
Definition vector3.h:24
Definition pw_basis_big.h:17
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:56
Definition to_wannier90_pw.h:21
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:67
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:43
double const * omega
Definition to_wannier90_pw.h:69
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:68
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:65
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:66
Definition to_wannier90.h:18
void cal_Amn()
Definition to_wannier90.cpp:124
bool out_wannier_wvfn_formatted
Definition to_wannier90.h:71
std::string nnkpfile
Definition to_wannier90.h:73
std::string wannier_spin
Definition to_wannier90.h:75
void cal_Mmn()
Definition to_wannier90.cpp:128
void out_unk()
Definition to_wannier90.cpp:120
bool out_wannier_unk
Definition to_wannier90.h:69
bool out_wannier_mmn
Definition to_wannier90.h:67
void calculate()
Definition to_wannier90.cpp:69
bool out_wannier_amn
Definition to_wannier90.h:68
bool out_wannier_eig
Definition to_wannier90.h:70