@@ -122,7 +122,7 @@ void ESolver_KS_LCAO<TK, TR>::before_all_runners(UnitCell& ucell, const Input_pa
122122 dynamic_cast <elecstate::ElecStateLCAO<TK>*>(this ->pelec )->init_DM (&this ->kv , &(this ->pv ), inp.nspin );
123123
124124 // 8) init exact exchange calculations
125- this ->exx_nao .before_runner ();
125+ this ->exx_nao .before_runner (ucell, this -> kv , this -> orb_ , this -> pv , PARAM. inp );
126126
127127 // 9) initialize DFT+U
128128 if (inp.dft_plus_u )
@@ -307,8 +307,8 @@ void ESolver_KS_LCAO<TK, TR>::after_all_runners(UnitCell& ucell)
307307 this ->orb_ , this ->pw_rho , this ->pw_rhod ,
308308 this ->sf , this ->locpp .vloc ,
309309#ifdef __EXX
310- this ->exd ,
311- this ->exc ,
310+ this ->exx_nao . exd ,
311+ this ->exx_nao . exc ,
312312#endif
313313 this ->solvent );
314314
@@ -347,7 +347,7 @@ void ESolver_KS_LCAO<TK, TR>::iter_init(UnitCell& ucell, const int istep, const
347347 {
348348 // the following steps are only needed in the first outer exx loop
349349 exx_two_level_step
350- = GlobalC::exx_info.info_ri .real_number ? this ->exd ->two_level_step : this ->exc ->two_level_step ;
350+ = GlobalC::exx_info.info_ri .real_number ? this ->exx_nao . exd ->two_level_step : this ->exx_nao . exc ->two_level_step ;
351351 }
352352#endif
353353// elecstate::setup_dm<TK>(ucell, estate, this->psi, this->chr, iter, exx_two_level_step);
@@ -395,11 +395,11 @@ void ESolver_KS_LCAO<TK, TR>::iter_init(UnitCell& ucell, const int istep, const
395395 {
396396 if (GlobalC::exx_info.info_ri .real_number )
397397 {
398- this ->exd ->exx_eachiterinit (istep, ucell, *dm, this ->kv , iter);
398+ this ->exx_nao . exd ->exx_eachiterinit (istep, ucell, *dm, this ->kv , iter);
399399 }
400400 else
401401 {
402- this ->exc ->exx_eachiterinit (istep, ucell, *dm, this ->kv , iter);
402+ this ->exx_nao . exc ->exx_eachiterinit (istep, ucell, *dm, this ->kv , iter);
403403 }
404404 }
405405#endif
@@ -486,11 +486,11 @@ void ESolver_KS_LCAO<TK, TR>::hamilt2rho_single(UnitCell& ucell, int istep, int
486486 {
487487 if (GlobalC::exx_info.info_ri .real_number )
488488 {
489- this ->exd ->exx_hamilt2rho (*this ->pelec , this ->pv , iter);
489+ this ->exx_nao . exd ->exx_hamilt2rho (*this ->pelec , this ->pv , iter);
490490 }
491491 else
492492 {
493- this ->exc ->exx_hamilt2rho (*this ->pelec , this ->pv , iter);
493+ this ->exx_nao . exc ->exx_hamilt2rho (*this ->pelec , this ->pv , iter);
494494 }
495495 }
496496#endif
@@ -609,8 +609,8 @@ void ESolver_KS_LCAO<TK, TR>::iter_finish(UnitCell& ucell, const int istep, int&
609609 this ->ld ,
610610#endif
611611#ifdef __EXX
612- *this ->exd ,
613- *this ->exc ,
612+ *this ->exx_nao . exd ,
613+ *this ->exx_nao . exc ,
614614#endif
615615 iter, istep, conv_esolver, this ->scf_ene_thr );
616616
0 commit comments