1515namespace elecstate
1616{
1717
18- // multi-k case
19- template <>
20- void ElecStateLCAO<std::complex <double >>::psiToRho(const psi::Psi<std::complex <double >>& psi)
21- {
22- ModuleBase::TITLE (" ElecStateLCAO" , " psiToRho" );
23- ModuleBase::timer::tick (" ElecStateLCAO" , " psiToRho" );
24-
25- for (int is = 0 ; is < PARAM.inp .nspin ; is++)
26- {
27- ModuleBase::GlobalFunc::ZEROS (this ->charge ->rho [is],
28- this ->charge ->nrxx ); // mohan 2009-11-10
29- }
30-
31- // ------------------------------------------------------------
32- // calculate the charge density on real space grid.
33- // ------------------------------------------------------------
34-
35- ModuleBase::GlobalFunc::NOTE (" Calculate the charge on real space grid!" );
36- ModuleGint::cal_gint_rho (this ->DM ->get_DMR_vector (), PARAM.inp .nspin , this ->charge ->rho );
37-
38- if (XC_Functional::get_ked_flag ())
39- {
40- this ->cal_tau (psi);
41- }
42-
43- this ->charge ->renormalize_rho ();
44-
45- ModuleBase::timer::tick (" ElecStateLCAO" , " psiToRho" );
46- return ;
47- }
48-
49- // Gamma_only case
50- template <>
51- void ElecStateLCAO<double >::psiToRho(const psi::Psi<double >& psi)
52- {
53- ModuleBase::TITLE (" ElecStateLCAO" , " psiToRho" );
54- ModuleBase::timer::tick (" ElecStateLCAO" , " psiToRho" );
55-
56- for (int is = 0 ; is < PARAM.inp .nspin ; is++)
57- {
58- ModuleBase::GlobalFunc::ZEROS (this ->charge ->rho [is],
59- this ->charge ->nrxx ); // mohan 2009-11-10
60- }
61-
62- // ------------------------------------------------------------
63- // calculate the charge density on real space grid.
64- // ------------------------------------------------------------
65- ModuleBase::GlobalFunc::NOTE (" Calculate the charge on real space grid!" );
66-
67- ModuleGint::cal_gint_rho (this ->DM ->get_DMR_vector (), PARAM.inp .nspin , this ->charge ->rho );
68-
69- if (XC_Functional::get_ked_flag ())
70- {
71- this ->cal_tau (psi);
72- }
73-
74- this ->charge ->renormalize_rho ();
75-
76- ModuleBase::timer::tick (" ElecStateLCAO" , " psiToRho" );
77- return ;
78- }
79-
8018template <typename TK>
8119void ElecStateLCAO<TK>::init_DM(const K_Vectors* kv, const Parallel_Orbitals* paraV, const int nspin)
8220{
@@ -101,9 +39,9 @@ double ElecStateLCAO<std::complex<double>>::get_spin_constrain_energy()
10139
10240#ifdef __PEXSI
10341template <>
104- void ElecStateLCAO<double >::dmToRho (std::vector<double *> pexsi_DM, std::vector<double *> pexsi_EDM)
42+ void ElecStateLCAO<double >::dm2Rho (std::vector<double *> pexsi_DM, std::vector<double *> pexsi_EDM)
10543{
106- ModuleBase::timer::tick (" ElecStateLCAO" , " dmToRho " );
44+ ModuleBase::timer::tick (" ElecStateLCAO" , " dm2Rho " );
10745
10846 int nspin = PARAM.inp .nspin ;
10947 if (PARAM.inp .nspin == 4 )
@@ -138,12 +76,12 @@ void ElecStateLCAO<double>::dmToRho(std::vector<double*> pexsi_DM, std::vector<d
13876
13977 this ->charge ->renormalize_rho ();
14078
141- ModuleBase::timer::tick (" ElecStateLCAO" , " dmToRho " );
79+ ModuleBase::timer::tick (" ElecStateLCAO" , " dm2Rho " );
14280 return ;
14381}
14482
14583template <>
146- void ElecStateLCAO<std::complex <double >>::dmToRho (std::vector<std::complex <double >*> pexsi_DM,
84+ void ElecStateLCAO<std::complex <double >>::dm2Rho (std::vector<std::complex <double >*> pexsi_DM,
14785 std::vector<std::complex <double >*> pexsi_EDM)
14886{
14987 ModuleBase::WARNING_QUIT (" ElecStateLCAO" , " pexsi is not completed for multi-k case" );
0 commit comments