99#include " module_base/tool_title.h"
1010#include " module_hamilt_pw/hamilt_pwdft/global.h"
1111
12- void Matrix_Orbs11::init (const int mode, const LCAO_Orbitals& orb, const double kmesh_times, const double rmesh_times)
12+ void Matrix_Orbs11::init (const int mode,
13+ const UnitCell& ucell,
14+ const LCAO_Orbitals& orb,
15+ const double kmesh_times,
16+ const double rmesh_times)
1317{
1418 ModuleBase::TITLE (" Matrix_Orbs11" , " init" );
1519 ModuleBase::timer::tick (" Matrix_Orbs11" , " init" );
@@ -21,7 +25,7 @@ void Matrix_Orbs11::init(const int mode, const LCAO_Orbitals& orb, const double
2125 for (int it = 0 ; it < ntype; it++)
2226 {
2327 lmax_orb = std::max (lmax_orb, orb.Phi [it].getLmax ());
24- lmax_beta = std::max (lmax_beta, GlobalC:: ucell.infoNL .Beta [it].getLmax ());
28+ lmax_beta = std::max (lmax_beta, ucell.infoNL .Beta [it].getLmax ());
2529 }
2630 const double dr = orb.get_dR ();
2731 const double dk = orb.get_dk ();
@@ -64,13 +68,13 @@ void Matrix_Orbs11::init_radial(const std::vector<std::vector<std::vector<Numeri
6468 for (size_t NB = 0 ; NB != orb_B[TB][LB].size (); ++NB) {
6569 center2_orb11_s[TA][TB][LA][NA][LB].insert (std::make_pair (
6670 NB,
67- Center2_Orb::Orb11 (orb_A[TA][LA][NA], orb_B[TB][LB][NB], psb_, this ->MGT )));
68- }
69- }
70- }
71- }
72- }
73- }
71+ Center2_Orb::Orb11 (orb_A[TA][LA][NA], orb_B[TB][LB][NB], psb_, this ->MGT )));
72+ }
73+ }
74+ }
75+ }
76+ }
77+ }
7478 ModuleBase::timer::tick (" Matrix_Orbs11" , " init_radial" );
7579}
7680
@@ -89,13 +93,13 @@ void Matrix_Orbs11::init_radial(const LCAO_Orbitals& orb_A, const LCAO_Orbitals&
8993 Center2_Orb::Orb11 (orb_A.Phi [TA].PhiLN (LA, NA),
9094 orb_B.Phi [TB].PhiLN (LB, NB),
9195 psb_,
92- this ->MGT )));
93- }
94- }
95- }
96- }
97- }
98- }
96+ this ->MGT )));
97+ }
98+ }
99+ }
100+ }
101+ }
102+ }
99103 ModuleBase::timer::tick (" Matrix_Orbs11" , " init_radial" );
100104}
101105
@@ -109,17 +113,18 @@ void Matrix_Orbs11::init_radial_table()
109113 for (auto & coD: coC.second ) {
110114 for (auto & coE: coD.second ) {
111115 for (auto & coF: coE.second ) {
112- coF.second .init_radial_table ();
113- }
114- }
115- }
116- }
117- }
118- }
116+ coF.second .init_radial_table ();
117+ }
118+ }
119+ }
120+ }
121+ }
122+ }
119123 ModuleBase::timer::tick (" Matrix_Orbs11" , " init_radial_table" );
120124}
121125
122- void Matrix_Orbs11::init_radial_table (const std::map<size_t , std::map<size_t , std::set<double >>>& Rs)
126+ void Matrix_Orbs11::init_radial_table (const double lat0,
127+ const std::map<size_t , std::map<size_t , std::set<double >>>& Rs)
123128{
124129 ModuleBase::TITLE (" Matrix_Orbs11" , " init_radial_table_Rs" );
125130 ModuleBase::timer::tick (" Matrix_Orbs11" , " init_radial_table" );
@@ -133,23 +138,23 @@ void Matrix_Orbs11::init_radial_table(const std::map<size_t, std::map<size_t, st
133138 std::set<size_t > radials;
134139 for (const double & R: RsB.second )
135140 {
136- const double position = R * GlobalC::ucell. lat0 / lcao_dr_;
141+ const double position = R * lat0 / lcao_dr_;
137142 const size_t iq = static_cast <size_t >(position);
138143 for (size_t i = 0 ; i != 4 ; ++i) {
139- radials.insert (iq + i);
140- }
144+ radials.insert (iq + i);
145+ }
141146 }
142147 for (auto & coC: *center2_orb11_sAB) {
143148 for (auto & coD: coC.second ) {
144149 for (auto & coE: coD.second ) {
145150 for (auto & coF: coE.second ) {
146- coF.second .init_radial_table (radials);
147- }
148- }
149- }
150- }
151+ coF.second .init_radial_table (radials);
152+ }
153+ }
154+ }
155+ }
151156 }
152- }
157+ }
153158}
154159 ModuleBase::timer::tick (" Matrix_Orbs11" , " init_radial_table" );
155160}
0 commit comments