@@ -32,16 +32,10 @@ void get_exx_potential(const K_Vectors* kv,
3232
3333 // calculate Fock pot
3434 auto param_fock = GlobalC::exx_info.info_global .coulomb_param [Conv_Coulomb_Pot_K::Coulomb_Type::Fock];
35- for (auto param: param_fock)
35+ for (int i = 0 ; i < param_fock. size (); i++ )
3636 {
37- double exx_div = exx_divergence (Conv_Coulomb_Pot_K::Coulomb_Type::Fock,
38- 0.0 ,
39- kv,
40- wfcpw,
41- rhopw_dev,
42- tpiba,
43- gamma_extrapolation,
44- ucell_omega);
37+ auto param = param_fock[i];
38+ double exx_div = OperatorEXXPW<std::complex <Real>, Device>::fock_div[i];
4539 double alpha = std::stod (param[" alpha" ]);
4640 const ModuleBase::Vector3<double > k_c = wfcpw->kvec_c [ik];
4741 const ModuleBase::Vector3<double > k_d = wfcpw->kvec_d [ik];
@@ -98,20 +92,21 @@ void get_exx_potential(const K_Vectors* kv,
9892
9993 // calculate erfc pot
10094 auto param_erfc = GlobalC::exx_info.info_global .coulomb_param [Conv_Coulomb_Pot_K::Coulomb_Type::Erfc];
101- for (auto param: param_erfc)
95+ for (int i = 0 ; i < param_erfc. size (); i++ )
10296 {
97+ auto param = param_erfc[i];
10398 double erfc_omega = std::stod (param[" omega" ]);
10499 double erfc_omega2 = erfc_omega * erfc_omega;
105100 double alpha = std::stod (param[" alpha" ]);
101+ // double exx_div = OperatorEXXPW<std::complex<Real>, Device>::erfc_div[i];
106102 double exx_div = exx_divergence (Conv_Coulomb_Pot_K::Coulomb_Type::Erfc,
107- erfc_omega,
108- kv,
109- wfcpw,
110- rhopw_dev,
111- tpiba,
112- gamma_extrapolation,
113- ucell_omega);
114-
103+ erfc_omega,
104+ kv,
105+ wfcpw,
106+ rhopw_dev,
107+ tpiba,
108+ gamma_extrapolation,
109+ ucell_omega);
115110 const ModuleBase::Vector3<double > k_c = wfcpw->kvec_c [ik];
116111 const ModuleBase::Vector3<double > k_d = wfcpw->kvec_d [ik];
117112 const ModuleBase::Vector3<double > q_c = wfcpw->kvec_c [iq];
@@ -212,14 +207,14 @@ void get_exx_stress_potential(const K_Vectors* kv,
212207 auto param_fock = GlobalC::exx_info.info_global .coulomb_param [Conv_Coulomb_Pot_K::Coulomb_Type::Fock];
213208 for (auto param: param_fock)
214209 {
215- double exx_div = exx_divergence (Conv_Coulomb_Pot_K::Coulomb_Type::Fock,
216- 0.0 ,
217- kv,
218- wfcpw,
219- rhopw_dev,
220- tpiba,
221- gamma_extrapolation,
222- ucell_omega);
210+ // double exx_div = exx_divergence(Conv_Coulomb_Pot_K::Coulomb_Type::Fock,
211+ // 0.0,
212+ // kv,
213+ // wfcpw,
214+ // rhopw_dev,
215+ // tpiba,
216+ // gamma_extrapolation,
217+ // ucell_omega);
223218 double alpha = std::stod (param[" alpha" ]);
224219
225220 const ModuleBase::Vector3<double > k_c = wfcpw->kvec_c [ik];
0 commit comments