@@ -65,8 +65,10 @@ RDMFT<TK, TR>::~RDMFT()
6565 // delete HR_local;
6666 delete HR_dft_XC;
6767
68+ #ifdef __EXX
6869 delete Vxc_fromRI_d;
6970 delete Vxc_fromRI_c;
71+ #endif
7072
7173 delete V_ekinetic_potential;
7274 delete V_nonlocal;
@@ -97,7 +99,7 @@ void RDMFT<TK, TR>::init(Gint_Gamma& GG_in, Gint_k& GK_in, Parallel_Orbitals& Pa
9799 // if (ModuleSymmetry::Symmetry::symm_flag == -1) nk_total = kv->nkstot_full;
98100 // else nk_total = kv->nks;
99101
100- nk_total = ModuleSymmetry::Symmetry::symm_flag == -1 ? kv->nkstot_full : kv->nks ;
102+ nk_total = ModuleSymmetry::Symmetry::symm_flag == -1 ? kv->get_nkstot_full () : kv->get_nks () ;
101103 nbands_total = PARAM.inp .nbands ;
102104 // nbands_total = GlobalV::NBANDS;
103105 nspin = PARAM.inp .nspin ;
@@ -187,6 +189,7 @@ void RDMFT<TK, TR>::init(Gint_Gamma& GG_in, Gint_k& GK_in, Parallel_Orbitals& Pa
187189 HR_dft_XC->set_zero ();
188190 // HR_local->set_zero();
189191
192+ #ifdef __EXX
190193 if ( GlobalC::exx_info.info_global .cal_exx )
191194 {
192195 if (GlobalC::exx_info.info_ri .real_number )
@@ -200,6 +203,7 @@ void RDMFT<TK, TR>::init(Gint_Gamma& GG_in, Gint_k& GK_in, Parallel_Orbitals& Pa
200203 Vxc_fromRI_c->init (MPI_COMM_WORLD, *kv, *orb);
201204 }
202205 }
206+ #endif
203207
204208 if ( PARAM.inp .gamma_only )
205209 {
@@ -228,6 +232,7 @@ void RDMFT<TK, TR>::update_ion(UnitCell& ucell_in, ModulePW::PW_Basis& rho_basis
228232 HR_TV->set_zero ();
229233 this ->cal_V_TV ();
230234
235+ #ifdef __EXX
231236 if ( GlobalC::exx_info.info_global .cal_exx )
232237 {
233238 if (GlobalC::exx_info.info_ri .real_number )
@@ -239,6 +244,7 @@ void RDMFT<TK, TR>::update_ion(UnitCell& ucell_in, ModulePW::PW_Basis& rho_basis
239244 Vxc_fromRI_c->cal_exx_ions ();
240245 }
241246 }
247+ #endif
242248
243249 std::cout << " \n\n\n ******\n do rdmft_esolver.update_ion() successfully\n ******\n\n\n " << std::endl;
244250}
@@ -648,7 +654,8 @@ void RDMFT<TK, TR>::cal_V_XC()
648654 }
649655 V_dft_XC->contributeHR ();
650656 }
651-
657+
658+ #ifdef __EXX
652659 if (GlobalC::exx_info.info_global .cal_exx )
653660 {
654661 if (GlobalC::exx_info.info_ri .real_number )
@@ -704,6 +711,8 @@ void RDMFT<TK, TR>::cal_V_XC()
704711 // use hamilt::Add_Hexx_Type::k, not R, contributeHR() should be skipped
705712 // V_exx_XC->contributeHR();
706713 }
714+ #endif
715+
707716}
708717
709718
@@ -736,6 +745,7 @@ void RDMFT<TK, TR>::cal_Hk_Hpsi()
736745 psiDotPsi ( ParaV, para_Eij, wfc (ik, 0 , 0 ), H_wfc_TV (ik, 0 , 0 ), Eij_TV, &(wfcHwfc_TV (ik, 0 )) );
737746 psiDotPsi ( ParaV, para_Eij, wfc (ik, 0 , 0 ), H_wfc_hartree (ik, 0 , 0 ), Eij_hartree, &(wfcHwfc_hartree (ik, 0 )) );
738747
748+ #ifdef __EXX
739749 if (GlobalC::exx_info.info_global .cal_exx )
740750 {
741751 // set_zero_vector(HK_exx_XC);
@@ -747,6 +757,7 @@ void RDMFT<TK, TR>::cal_Hk_Hpsi()
747757
748758 for (int iloc=0 ; iloc<HK_XC.size (); ++iloc) HK_XC[iloc] += hsk_exx_XC->get_hk ()[iloc];
749759 }
760+ #endif
750761
751762 if ( !only_exx_type )
752763 {
@@ -900,7 +911,7 @@ void RDMFT<TK, TR>::cal_Energy(const int cal_type)
900911 << " \n Exc_" << XC_func_rdmft << " _RDMFT: " << E_RDMFT[2 ]
901912 << " \n E_Ewald: " << E_Ewald
902913 << " \n E_entropy(-TS): " << E_entropy
903- << " \n E_descf: " << E_descf
914+ << " \n E_descf: " << E_descf
904915 << " \n\n Etotal_RDMFT: " << Etotal
905916 << " \n\n Exc_ksdft: " << E_xc_KS
906917 << " \n E_exx_ksdft: " << E_exx_KS
@@ -927,7 +938,7 @@ void RDMFT<TK, TR>::cal_Energy(const int cal_type)
927938 <<" \n ******\n " << std::endl;
928939 }
929940
930- ModuleBase::timer::tick ( " rdmftTest " , " RDMFT_E&Egradient " ) ;
941+ std::cout << std::defaultfloat ;
931942
932943}
933944
0 commit comments