29 const bool allocate_vkb =
true);
41 template <
typename FPTYPE,
typename Device>
42 void getvnl(Device* ctx,
const UnitCell& ucell,
const int& ik, std::complex<FPTYPE>* vkb_in)
const;
112 std::complex<double>
Cal_C(
int alpha,
int lu,
int mu,
int L,
int M);
114 double CG(
int l1,
int m1,
int l2,
int m2,
int L,
int M);
141 std::complex<double>* qg)
const;
142 template <
typename FPTYPE,
typename Device>
150 std::complex<FPTYPE>* qg)
const;
164 template <
typename FPTYPE>
166 template <
typename FPTYPE>
168 template <
typename FPTYPE>
170 template <
typename FPTYPE>
172 template <
typename FPTYPE>
174 template <
typename FPTYPE>
176 template <
typename FPTYPE>
178 template <
typename FPTYPE>
180 template <
typename FPTYPE>
191 std::complex<float>*
c_vkb =
nullptr;
197 std::complex<double>*
z_vkb =
nullptr;
A basic type of data for complex array.
Definition complexarray.h:15
Definition complexmatrix.h:14
Integer array.
Definition intarray.h:20
double float array
Definition realarray.h:21
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 ORB_gaunt_table.h:9
Definition structure_factor.h:11
Definition VNL_in_pw.h:21
ModuleBase::matrix indv
Definition VNL_in_pw.h:67
double omega_old
Definition VNL_in_pw.h:203
double CG(int l1, int m1, int l2, int m2, int L, int M)
ModuleBase::ComplexArray gradvkb
Definition VNL_in_pw.h:106
int nhm
Definition VNL_in_pw.h:62
int * indv_ijkb0
Definition VNL_in_pw.h:90
float * s_qq_nt
Definition VNL_in_pw.h:100
ModuleBase::matrix nhtoj
Definition VNL_in_pw.h:70
Structure_Factor * psf
Definition VNL_in_pw.h:109
std::complex< double > * z_vkb
Definition VNL_in_pw.h:197
std::complex< float > * c_qq_so
Definition VNL_in_pw.h:102
int lmaxkb
Definition VNL_in_pw.h:35
const ModulePW::PW_Basis_K * wfcpw
Definition VNL_in_pw.h:199
float * s_deeq
Definition VNL_in_pw.h:82
ModuleBase::realArray ap
Definition VNL_in_pw.h:95
FPTYPE * get_nhtol_data() const
std::complex< FPTYPE > * get_deeq_nc_data() const
std::complex< float > * c_vkb
Definition VNL_in_pw.h:191
std::complex< FPTYPE > * get_qq_so_data() const
std::complex< double > *** vkb_alpha
Definition VNL_in_pw.h:108
ModuleBase::realArray deeq
Definition VNL_in_pw.h:80
ModuleBase::ComplexArray deeq_nc
Definition VNL_in_pw.h:84
ModuleBase::ComplexArray qq_so
Definition VNL_in_pw.h:94
std::complex< double > Cal_C(int alpha, int lu, int mu, int L, int M)
ModuleBase::realArray dvan
Definition VNL_in_pw.h:72
FPTYPE * get_indv_data() const
double * d_qq_nt
Definition VNL_in_pw.h:101
ModuleBase::realArray tab_dq
Definition VNL_in_pw.h:78
float * s_nhtolm
Definition VNL_in_pw.h:188
pseudopot_cell_vnl()
Definition klist_test.cpp:74
float * s_nhtol
Definition VNL_in_pw.h:187
void newd_so(const int &iat, UnitCell &cell)
calculate D functions in the soc case when tvanp is true
Definition VNL_in_pw.cpp:1519
int nbetam
Definition VNL_in_pw.h:63
void compute_qrad(UnitCell &cell)
Compute interpolation table qrad.
Definition VNL_in_pw.cpp:788
std::complex< float > * c_deeq_nc
Definition VNL_in_pw.h:85
double * d_indv
Definition VNL_in_pw.h:195
std::complex< double > *** vkb1_alpha
Definition VNL_in_pw.h:107
void print_vnl(std::ofstream &ofs)
Definition VNL_in_pw.cpp:1250
bool memory_released
Definition VNL_in_pw.h:186
double cell_factor
Definition VNL_in_pw.h:31
std::complex< double > * z_qq_so
Definition VNL_in_pw.h:103
FPTYPE * get_qq_nt_data() const
ModuleBase::ComplexMatrix vkb
Definition VNL_in_pw.h:105
void rescale_vnl(const double &omega_in)
Definition VNL_in_pw.cpp:1600
ModuleBase::IntArray lpl
Definition VNL_in_pw.h:97
void init_vnl_alpha(const UnitCell &cell)
Definition VNL_in_pw.cpp:1176
double * d_nhtolm
Definition VNL_in_pw.h:194
ModuleBase::IntArray ijtoh
Definition VNL_in_pw.h:91
int nkb
Definition VNL_in_pw.h:33
ModuleBase::realArray qq_at
Definition VNL_in_pw.h:92
void init(const UnitCell &cell, Structure_Factor *psf_in, const ModulePW::PW_Basis_K *wfc_basis=nullptr, const bool allocate_vkb=true)
Definition VNL_in_pw.cpp:74
std::complex< FPTYPE > * get_vkb_data() const
FPTYPE * get_nhtolm_data() const
void getvnl(Device *ctx, const UnitCell &ucell, const int &ik, std::complex< FPTYPE > *vkb_in) const
Definition VNL_in_pw.cpp:294
bool use_gpu_
Definition VNL_in_pw.h:204
int lmaxq
Definition VNL_in_pw.h:65
ModuleBase::realArray tab
Definition VNL_in_pw.h:75
bool multi_proj
Definition VNL_in_pw.h:81
ModuleBase::realArray qq_nt
Definition VNL_in_pw.h:93
ModuleBase::realArray tab_alpha
Definition VNL_in_pw.h:76
void init_vnl(UnitCell &cell, const ModulePW::PW_Basis *rho_basis)
Definition VNL_in_pw.cpp:426
FPTYPE * get_deeq_data() const
void radial_fft_q(const int ng, const int ih, const int jh, const int itype, const double *qnorm, const ModuleBase::matrix ylm, std::complex< double > *qg) const
Compute the radial Fourier transform of the Q functions.
Definition VNL_in_pw.cpp:841
ModuleBase::realArray tab_at
Definition VNL_in_pw.h:77
FPTYPE * get_tab_data() const
ModuleBase::ComplexArray dvan_so
Definition VNL_in_pw.h:73
ModuleBase::matrix nhtolm
Definition VNL_in_pw.h:69
ModuleBase::realArray qrad
Definition VNL_in_pw.h:98
~pseudopot_cell_vnl()
Definition klist_test.cpp:77
std::complex< double > * z_deeq_nc
Definition VNL_in_pw.h:86
void release_memory()
Definition VNL_in_pw.cpp:28
void getgradq_vnl(const UnitCell &ucell, const int ik)
Definition VNL_grad_pw.cpp:61
float * s_indv
Definition VNL_in_pw.h:189
void cal_effective_D(const ModuleBase::matrix &veff, const ModulePW::PW_Basis *rho_basis, UnitCell &cell)
calculate the effective coefficient matrix for non-local pseudopotential projectors
Definition VNL_in_pw.cpp:1256
double * d_nhtol
Definition VNL_in_pw.h:193
ModuleBase::IntArray lpx
Definition VNL_in_pw.h:96
void initgradq_vnl(const UnitCell &cell)
Definition VNL_grad_pw.cpp:9
void newq(const ModuleBase::matrix &veff, const ModulePW::PW_Basis *rho_basis, UnitCell &cell)
computes the integral of the effective potential with the Q function
Definition VNL_in_pw.cpp:1397
void newd_nc(const int &iat, UnitCell &cell)
calculate D functions in the noncolin case when tvanp is true
Definition VNL_in_pw.cpp:1572
double * d_tab
Definition VNL_in_pw.h:196
float * s_tab
Definition VNL_in_pw.h:190
Soc soc
Definition VNL_in_pw.h:201
double * d_deeq
Definition VNL_in_pw.h:83
ModuleBase::matrix nhtol
Definition VNL_in_pw.h:68