Skip to content

Commit 010a575

Browse files
committed
fix exd and exc in ctrl_runner_lcao
1 parent 6b4d7c8 commit 010a575

File tree

3 files changed

+15
-39
lines changed

3 files changed

+15
-39
lines changed

source/source_esolver/esolver_ks_lcao.cpp

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -286,12 +286,7 @@ void ESolver_KS_LCAO<TK, TR>::after_all_runners(UnitCell& ucell)
286286
this->gd, this->psi, this->chr, hamilt_lcao,
287287
this->two_center_bundle_, this->GG, this->GK,
288288
this->orb_, this->pw_rho, this->pw_rhod,
289-
this->sf, this->locpp.vloc,
290-
#ifdef __EXX
291-
this->exx_nao.exd,
292-
this->exx_nao.exc,
293-
#endif
294-
this->solvent);
289+
this->sf, this->locpp.vloc, this->exx_nao, this->solvent);
295290

296291
ModuleBase::timer::tick("ESolver_KS_LCAO", "after_all_runners");
297292
}
@@ -305,9 +300,7 @@ void ESolver_KS_LCAO<TK, TR>::iter_init(UnitCell& ucell, const int istep, const
305300
ESolver_KS<TK>::iter_init(ucell, istep, iter);
306301

307302
// cast pointers
308-
309303
auto* estate = dynamic_cast<elecstate::ElecStateLCAO<TK>*>(this->pelec);
310-
311304
if(!estate)
312305
{
313306
ModuleBase::WARNING_QUIT("ESolver_KS_LCAO::iter_init","pelec does not exist");

source/source_io/ctrl_runner_lcao.cpp

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,7 @@ void ctrl_runner_lcao(UnitCell& ucell, // unitcell
3131
ModulePW::PW_Basis* pw_rhod, // dense charge density
3232
Structure_Factor &sf, // structure factor
3333
ModuleBase::matrix &vloc, // local pseudopotential
34-
#ifdef __EXX
35-
std::shared_ptr<Exx_LRI_Interface<TK, double>> exd,
36-
std::shared_ptr<Exx_LRI_Interface<TK, std::complex<double>>> exc,
37-
#endif
34+
Exx_NAO<TK> &exx_nao,
3835
surchem &solvent) // solvent model
3936
{
4037
ModuleBase::TITLE("ModuleIO", "ctrl_runner_lcao");
@@ -75,8 +72,8 @@ void ctrl_runner_lcao(UnitCell& ucell, // unitcell
7572
gd
7673
#ifdef __EXX
7774
,
78-
exd ? &exd->get_Hexxs() : nullptr,
79-
exc ? &exc->get_Hexxs() : nullptr
75+
exx_nao.exd ? &exx_nao.exd->get_Hexxs() : nullptr,
76+
exx_nao.exc ? &exx_nao.exc->get_Hexxs() : nullptr
8077
#endif
8178
);
8279
}
@@ -99,8 +96,8 @@ void ctrl_runner_lcao(UnitCell& ucell, // unitcell
9996
gd
10097
#ifdef __EXX
10198
,
102-
exd ? &exd->get_Hexxs() : nullptr,
103-
exc ? &exc->get_Hexxs() : nullptr
99+
exx_nao.exd ? &exx_nao.exd->get_Hexxs() : nullptr,
100+
exx_nao.exc ? &exx_nao.exc->get_Hexxs() : nullptr
104101
#endif
105102
);
106103
}
@@ -130,8 +127,8 @@ void ctrl_runner_lcao(UnitCell& ucell, // unitcell
130127
two_center_bundle
131128
#ifdef __EXX
132129
,
133-
exd ? &exd->get_Hexxs() : nullptr,
134-
exc ? &exc->get_Hexxs() : nullptr
130+
exx_nao.exd ? &exx_nao.exd->get_Hexxs() : nullptr,
131+
exx_nao.exc ? &exx_nao.exc->get_Hexxs() : nullptr
135132
#endif
136133
);
137134
}
@@ -160,10 +157,7 @@ template void ModuleIO::ctrl_runner_lcao<double, double>(UnitCell& ucell, /
160157
ModulePW::PW_Basis* pw_rhod, // dense charge density
161158
Structure_Factor &sf, // structure factor
162159
ModuleBase::matrix &vloc, // local pseudopotential
163-
#ifdef __EXX
164-
std::shared_ptr<Exx_LRI_Interface<double, double>> exd,
165-
std::shared_ptr<Exx_LRI_Interface<double, std::complex<double>>> exc,
166-
#endif
160+
Exx_NAO<double> &exx_nao,
167161
surchem &solvent); // solvent model
168162

169163
// TK: complex<double> TR: double
@@ -185,10 +179,7 @@ template void ctrl_runner_lcao<std::complex<double>, double>(UnitCell& ucell,
185179
ModulePW::PW_Basis* pw_rhod, // dense charge density
186180
Structure_Factor &sf, // structure factor
187181
ModuleBase::matrix &vloc, // local pseudopotential
188-
#ifdef __EXX
189-
std::shared_ptr<Exx_LRI_Interface<std::complex<double>, double>> exd,
190-
std::shared_ptr<Exx_LRI_Interface<std::complex<double>, std::complex<double>>> exc,
191-
#endif
182+
Exx_NAO<std::complex<double>> &exx_nao,
192183
surchem &solvent); // solvent model
193184

194185
// TK: complex<double> TR: complex<double>
@@ -210,10 +201,7 @@ template void ctrl_runner_lcao<std::complex<double>, std::complex<double>>(UnitC
210201
ModulePW::PW_Basis* pw_rhod, // dense charge density
211202
Structure_Factor &sf, // structure factor
212203
ModuleBase::matrix &vloc, // local pseudopotential
213-
#ifdef __EXX
214-
std::shared_ptr<Exx_LRI_Interface<std::complex<double>, double>> exd,
215-
std::shared_ptr<Exx_LRI_Interface<std::complex<double>, std::complex<double>>> exc,
216-
#endif
204+
Exx_NAO<std::complex<double>> &exx_nao,
217205
surchem &solvent); // solvent model
218206

219207
} // end namespace

source/source_io/ctrl_runner_lcao.h

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
#include "source_lcao/hamilt_lcao.h" // use hamilt::HamiltLCAO<TK, TR>
99
#include "source_basis/module_nao/two_center_bundle.h" // use TwoCenterBundle
1010
#include "source_lcao/module_gint/gint_k.h" // use Gint_k
11-
#ifdef __EXX
12-
#include "source_lcao/module_ri/Exx_LRI_interface.h" // use EXX codes
13-
#endif
11+
#include "source_lcao/setup_exx.h" // for exx, mohan add 20251018
1412

1513
namespace ModuleIO
1614
{
@@ -33,12 +31,9 @@ void ctrl_runner_lcao(UnitCell& ucell, // unitcell
3331
ModulePW::PW_Basis* pw_rho, // charge density
3432
ModulePW::PW_Basis* pw_rhod, // dense charge density
3533
Structure_Factor &sf, // structure factor
36-
ModuleBase::matrix &vloc, // local pseudopotential
37-
#ifdef __EXX
38-
std::shared_ptr<Exx_LRI_Interface<TK, double>> exd,
39-
std::shared_ptr<Exx_LRI_Interface<TK, std::complex<double>>> exc,
40-
#endif
41-
surchem &solvent); // solvent model
34+
ModuleBase::matrix &vloc, // local pseudopotential
35+
Exx_NAO<TK> &exx_nao,
36+
surchem &solvent); // solvent model
4237

4338
}
4439

0 commit comments

Comments
 (0)