1+ #include " ./esolver_sdft_pw.h"
2+
3+ namespace ModuleESolver
4+ {
5+
6+ ESolver_SDFT_PW::ESolver_SDFT_PW ()
7+ {
8+ classname = " ESolver_SDFT_PW" ;
9+ basisname = " PW" ;
10+ }
11+
12+ void ESolver_SDFT_PW::Init (Input &inp, UnitCell_pseudo &cell)
13+ {
14+ // ESolver_KS_PW::Init(inp, cell);
15+ // STO_WF.alloc();
16+ // stoiter.alloc( wf.npwx );
17+ }
18+
19+ void ESolver_SDFT_PW::beforescf ()
20+ {
21+ ESolver_KS_PW::beforescf ();
22+ // STO_WF.init();
23+ // stoiter.init( wf.npwx );
24+ // if(NITER==0)
25+ // {
26+ // int iter = 1;
27+ // ETHR = 0.1*DRHO2/ std::max(1.0, ucell.nelec);
28+ // double *h_diag = new double[wf.npwx * NPOL];
29+ // for (int ik = 0;ik < kv.nks;ik++)
30+ // {
31+ // if(NBANDS > 0 && MY_STOGROUP == 0)
32+ // {
33+ // this->c_bands_k(ik,h_diag,istep+1);
34+ // }
35+ // else
36+ // {
37+ // hm.hpw.init_k(ik);
38+ // }
39+ // if(NBANDS > 0)
40+ // {
41+ // MPI_Bcast(wf.evc[ik].c, wf.npwx*NBANDS*2, MPI_DOUBLE , 0, PARAPW_WORLD);
42+ // MPI_Bcast(wf.ekb[ik], NBANDS, MPI_DOUBLE, 0, PARAPW_WORLD);
43+ // }
44+ // stoiter.stoche.ndmin = wf.npw;
45+ // stoiter.orthog(ik);
46+ // stoiter.checkemm(ik,iter);
47+ // }
48+ // for (int ik = 0;ik < kv.nks;ik++)
49+ // {
50+ // //init k
51+ // if(kv.nks > 1) hm.hpw.init_k(ik);
52+ // stoiter.stoche.ndmin = wf.npw;
53+
54+ // stoiter.sumpolyval_k(ik);
55+ // }
56+ // delete [] h_diag;
57+ // stoiter.itermu(iter);
58+ // stoiter.stoche.calcoef(Stochastic_Iter::nroot_fd);
59+ // for(int ik = 0; ik < kv.nks; ++ik)
60+ // {
61+ // //init k
62+ // if(kv.nks > 1) hm.hpw.init_k(ik);
63+ // stoiter.stoche.ndmin = wf.npw;
64+ // complex<double> * out, *pchi;
65+ // out = STO_WF.shchi[ik].c;
66+ // if(NBANDS > 0)
67+ // pchi = STO_WF.chiortho[ik].c;
68+ // else
69+ // pchi = STO_WF.chi0[ik].c;
70+
71+ // stoiter.stoche.calfinalvec(stoiter.stohchi.hchi_reciprocal, pchi, out, stoiter.nchip[ik]);
72+ // }
73+
74+ // }
75+ }
76+
77+ void ESolver_SDFT_PW::eachiterfinish (int iter, bool conv_elec)
78+ {
79+
80+ }
81+ void ESolver_SDFT_PW::afterscf (bool conv_elec)
82+ {
83+
84+ }
85+
86+ void ESolver_SDFT_PW::hamilt2density (int istep, int iter, double ethr)
87+ {
88+
89+ }
90+
91+ void ESolver_SDFT_PW::cal_Energy (energy &en)
92+ {
93+
94+ }
95+
96+ void ESolver_SDFT_PW::cal_Force (ModuleBase::matrix &force)
97+ {
98+
99+ }
100+ void ESolver_SDFT_PW::cal_Stress (ModuleBase::matrix &stress)
101+ {
102+
103+ }
104+
105+
106+ }
0 commit comments