1#ifndef MODULE_IO_BERRYPHASE_H
2#define MODULE_IO_BERRYPHASE_H
39 void lcao_init(
const UnitCell& ucell,
50 const psi::Psi<std::complex<double>>* psi_in,
60 const psi::Psi<std::complex<double>>* psi_in,
72 throw std::logic_error(
"berry phase supports only multi-k");
76 const psi::Psi<std::complex<double>>* psi_in,
Definition sltk_grid_driver.h:43
3 elements vector
Definition vector3.h:22
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
Definition parallel_orbitals.h:9
Definition berryphase.h:13
void set_kpoints(const K_Vectors &kv, const int direction)
Definition berryphase.cpp:58
int GDIR
Definition berryphase.h:35
static bool berry_phase_flag
Definition berryphase.h:23
berryphase()
Definition berryphase.cpp:11
void Macroscopic_polarization(const UnitCell &ucell, const int npwx, const psi::Psi< double > *psi_in, const ModulePW::PW_Basis *rhopw, const ModulePW::PW_Basis_K *wfcpw, const K_Vectors &kv)
Definition berryphase.h:65
void get_occupation_bands()
Definition berryphase.cpp:27
~berryphase()
Definition berryphase.cpp:23
int occ_nbands
Definition berryphase.h:34
void Berry_Phase(const UnitCell &ucell, int nbands, double &pdl_elec_tot, int &mod_elec_tot, const int npwx, const psi::Psi< std::complex< double > > *psi_in, const ModulePW::PW_Basis *rhopw, const ModulePW::PW_Basis_K *wfcpw, const K_Vectors &kv)
Definition berryphase.cpp:346
std::vector< std::vector< int > > k_index
Definition berryphase.h:31
double stringPhase(const UnitCell &ucell, int index_str, int nbands, const int npwx, const psi::Psi< std::complex< double > > *psi_in, const ModulePW::PW_Basis *rhopw, const ModulePW::PW_Basis_K *wfcpw, const K_Vectors &kv)
Definition berryphase.cpp:220
unkOverlap_pw pw_method
Definition berryphase.h:24
int total_string
Definition berryphase.h:30
int nppstr
Definition berryphase.h:32
int direction
Definition berryphase.h:33
std::string outFormat(const double polarization, const double modulus, const ModuleBase::Vector3< double > project)
Definition berryphase.cpp:680
Definition unk_overlap_lcao.h:22
Definition unk_overlap_pw.h:18