19 namespace ModulePW{
class PW_Basis_K; }
20 namespace ModulePW{
class PW_Basis; }
24 template <
typename T,
typename Device>
28template<
typename T,
typename Device = base_device::DEVICE_CPU>
62 void set_hvec(
const int ik,
const T*
const hvec,
const int naos,
const int nbands)
91 std::vector<std::vector<T>>
phi;
92 std::vector<std::vector<std::vector<T>>>
psi;
98 std::vector<std::vector<T>>
sum3;
107 void qkg2_exp(
const int ik,
const int iq);
108 void b_cal(
const int ik,
int iq,
const int ib);
109 void sum3_cal(
const int iq,
const int ib);
110 void b_sum(
const int iq,
const int ib);
int gzero_rank_in_pool
Definition exx_lip.h:73
std::vector< T > b
Definition exx_lip.h:95
std::vector< std::vector< T > > phi
Definition exx_lip.h:91
int iq_vecik
Definition exx_lip.h:89
const UnitCell * ucell_ptr
Definition exx_lip.h:123
struct Exx_Lip::k_package * q_pack
struct Exx_Lip::k_package * k_pack
void sum_all(const int ik)
Definition exx_lip.hpp:424
const Exx_Info::Exx_Info_Lip & info
Definition exx_lip.h:36
void b_sum(const int iq, const int ib)
Definition exx_lip.hpp:407
psi::Psi< T, Device > get_hvec() const
Definition exx_lip.h:66
const std::vector< std::vector< std::vector< T > > > & get_exx_matrix() const
Definition exx_lip.h:51
void cal_exx()
Definition exx_lip.hpp:31
Treal exx_energy
Definition exx_lip.h:101
const ModulePW::PW_Basis_K * wfc_basis
Definition exx_lip.h:121
void write_q_pack() const
Definition exx_lip.hpp:480
const T two_pi_i
Definition exx_lip.h:118
void exx_energy_cal()
Definition exx_lip.hpp:458
~Exx_Lip()
Definition exx_lip.hpp:172
void set_hvec(const int ik, const T *const hvec, const int naos, const int nbands)
Definition exx_lip.h:62
std::vector< Treal > recip_qkg2
Definition exx_lip.h:93
void qkg2_exp(const int ik, const int iq)
Definition exx_lip.hpp:320
typename GetTypeReal< T >::type Treal
Definition exx_lip.h:31
std::vector< std::vector< std::vector< T > > > exx_matrix
Definition exx_lip.h:100
void phi_cal(k_package *kq_pack, const int ikq)
Definition exx_lip.hpp:210
std::vector< T > sum1
Definition exx_lip.h:97
void wf_wg_cal()
Definition exx_lip.hpp:192
Exx_Lip(const Exx_Info::Exx_Info_Lip &info_in)
std::vector< std::vector< T > > sum3
Definition exx_lip.h:98
void judge_singularity(const int ik)
Definition exx_lip.hpp:296
std::vector< T > b0
Definition exx_lip.h:96
void sum3_cal(const int iq, const int ib)
Definition exx_lip.hpp:395
Treal sum2_factor
Definition exx_lip.h:94
Treal get_exx_energy() const
Definition exx_lip.h:55
std::vector< std::vector< std::vector< T > > > psi
Definition exx_lip.h:92
void b_cal(const int ik, int iq, const int ib)
Definition exx_lip.hpp:351
void psi_cal()
Definition exx_lip.hpp:239
const ModulePW::PW_Basis * rho_basis
Definition exx_lip.h:120
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 structure_factor.h:11
Definition elecstate.h:15
#define T
Definition exp.cpp:237
const double TWO_PI
Definition constants.h:21
Definition symm_other.cpp:4
const elecstate::ElecState * pelec
Definition exx_lip.h:86
psi::Psi< T, Device > * kspw_psi_ptr
PW wavefunction.
Definition exx_lip.h:80
K_Vectors * kv_ptr
Definition exx_lip.h:78
psi::Psi< T, Device > * psi_local
NAOs in PW.
Definition exx_lip.h:81
psi::Psi< T, Device > * hvec_array
LCAO wavefunction, the eigenvectors from lapack diagonalization.
Definition exx_lip.h:85
ModuleBase::matrix wf_wg
Definition exx_lip.h:82
T type
Definition macros.h:8