Skip to content

Commit 372de4c

Browse files
committed
change lat0 in Matrix.cpp
1 parent cb4cdd5 commit 372de4c

File tree

11 files changed

+25
-30
lines changed

11 files changed

+25
-30
lines changed

source/module_ri/ABFs_Construct-PCA.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ namespace PCA
104104
for( std::size_t it=0; it!=abfs.size(); ++it ) {
105105
delta_R[it][it] = {0.0};
106106
}
107-
m_abfslcaos_lcaos.init_radial_table(ucell.lat0,delta_R);
107+
m_abfslcaos_lcaos.init_radial_table(delta_R);
108108

109109
GlobalC::exx_info.info_ri.abfs_Lmax = Lmax_bak;
110110

source/module_ri/Matrix_Orbs11.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ void Matrix_Orbs11::init(const int mode,
1919
ModuleBase::timer::tick("Matrix_Orbs11", "init");
2020

2121
int Lmax_used, Lmax;
22-
22+
this->lat0 = ucell.lat0;
2323
const int ntype = orb.get_ntype();
2424
int lmax_orb = -1, lmax_beta = -1;
2525
for (int it = 0; it < ntype; it++)
@@ -123,8 +123,7 @@ void Matrix_Orbs11::init_radial_table()
123123
ModuleBase::timer::tick("Matrix_Orbs11", "init_radial_table");
124124
}
125125

126-
void Matrix_Orbs11::init_radial_table(const double lat0,
127-
const std::map<size_t, std::map<size_t, std::set<double>>>& Rs)
126+
void Matrix_Orbs11::init_radial_table(const std::map<size_t, std::map<size_t, std::set<double>>>& Rs)
128127
{
129128
ModuleBase::TITLE("Matrix_Orbs11", "init_radial_table_Rs");
130129
ModuleBase::timer::tick("Matrix_Orbs11", "init_radial_table");

source/module_ri/Matrix_Orbs11.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@ class Matrix_Orbs11
3535
void init_radial(const LCAO_Orbitals& orb_A, const LCAO_Orbitals& orb_B);
3636

3737
void init_radial_table();
38-
void init_radial_table(const double lat0,
39-
const std::map<size_t, std::map<size_t, std::set<double>>>& Rs); // unit: ucell.lat0
38+
void init_radial_table(const std::map<size_t, std::map<size_t, std::set<double>>>& Rs); // unit: ucell.lat0
4039

4140
enum class Matrix_Order
4241
{
@@ -71,7 +70,7 @@ class Matrix_Orbs11
7170
ModuleBase::Sph_Bessel_Recursive::D2* psb_ = nullptr;
7271
ORB_gaunt_table MGT;
7372
const double lcao_dr_ = 0.01;
74-
73+
double lat0 = 0.0; // restore ucell.lat0
7574
std::map<size_t, // TA
7675
std::map<size_t, // TB
7776
std::map<int, // LA

source/module_ri/Matrix_Orbs11.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ RI::Tensor<Tdata> Matrix_Orbs11::cal_overlap_matrix(
4646
const size_t NB = co6.first;
4747
for( size_t MB=0; MB!=2*LB+1; ++MB )
4848
{
49-
const Tdata overlap = co6.second.cal_overlap( tauA*GlobalC::ucell.lat0, tauB*GlobalC::ucell.lat0, MA, MB );
49+
const Tdata overlap = co6.second.cal_overlap( tauA*lat0, tauB*lat0, MA, MB );
5050
const size_t iA = index_A[TA][LA][NA][MA];
5151
const size_t iB = index_B[TB][LB][NB][MB];
5252
switch(matrix_order)
@@ -103,7 +103,7 @@ std::array<RI::Tensor<Tdata>,3> Matrix_Orbs11::cal_grad_overlap_matrix(
103103
const size_t NB = co6.first;
104104
for( size_t MB=0; MB!=2*LB+1; ++MB )
105105
{
106-
const std::array<double,3> grad_overlap = RI_Util::Vector3_to_array3(co6.second.cal_grad_overlap( tauA*GlobalC::ucell.lat0, tauB*GlobalC::ucell.lat0, MA, MB ));
106+
const std::array<double,3> grad_overlap = RI_Util::Vector3_to_array3(co6.second.cal_grad_overlap( tauA*lat0, tauB*lat0, MA, MB ));
107107
const size_t iA = index_A[TA][LA][NA][MA];
108108
const size_t iB = index_B[TB][LB][NB][MB];
109109
for(size_t i=0; i<m.size(); ++i)

source/module_ri/Matrix_Orbs21.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ void Matrix_Orbs21::init(const int mode,
2121

2222
const int ntype = orb.get_ntype();
2323
int lmax_orb = -1, lmax_beta = -1;
24+
this->lat0 = ucell.lat0;
2425
for (int it = 0; it < ntype; it++)
2526
{
2627
lmax_orb = std::max(lmax_orb, orb.Phi[it].getLmax());
@@ -120,8 +121,7 @@ void Matrix_Orbs21::init_radial_table()
120121
ModuleBase::timer::tick("Matrix_Orbs21", "init_radial_table");
121122
}
122123

123-
void Matrix_Orbs21::init_radial_table(const double lat0,
124-
const std::map<size_t, std::map<size_t, std::set<double>>>& Rs)
124+
void Matrix_Orbs21::init_radial_table(const std::map<size_t, std::map<size_t, std::set<double>>>& Rs)
125125
{
126126
ModuleBase::TITLE("Matrix_Orbs21", "init_radial_table_Rs");
127127
ModuleBase::timer::tick("Matrix_Orbs21", "init_radial_table");

source/module_ri/Matrix_Orbs21.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ class Matrix_Orbs21
3636
const LCAO_Orbitals& orb_B);
3737

3838
void init_radial_table();
39-
void init_radial_table(const double lat0,
40-
const std::map<size_t, std::map<size_t, std::set<double>>>& Rs); // unit: ucell.lat0
39+
void init_radial_table(const std::map<size_t, std::map<size_t, std::set<double>>>& Rs); // unit: ucell.lat0
4140

4241
enum class Matrix_Order
4342
{
@@ -79,7 +78,7 @@ class Matrix_Orbs21
7978
ModuleBase::Sph_Bessel_Recursive::D2* psb_ = nullptr;
8079
ORB_gaunt_table MGT;
8180
const double lcao_dr_ = 0.01;
82-
81+
double lat0 = 0; // restore ucell.lat0
8382
std::map<size_t, // TA
8483
std::map<size_t, // TB
8584
std::map<int, // LA1

source/module_ri/Matrix_Orbs21.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ RI::Tensor<Tdata> Matrix_Orbs21::cal_overlap_matrix(
6060
const size_t NB = co8.first;
6161
for( size_t MB=0; MB!=2*LB+1; ++MB )
6262
{
63-
const Tdata overlap = co8.second.cal_overlap( tauA*GlobalC::ucell.lat0, tauB*GlobalC::ucell.lat0, MA1, MA2, MB );
63+
const Tdata overlap = co8.second.cal_overlap( tauA*lat0, tauB*lat0, MA1, MA2, MB );
6464
const size_t iA1 = index_A1[TA][LA1][NA1][MA1];
6565
const size_t iA2 = index_A2[TA][LA2][NA2][MA2];
6666
const size_t iB = index_B[TB][LB][NB][MB];
@@ -139,7 +139,7 @@ std::array<RI::Tensor<Tdata>,3> Matrix_Orbs21::cal_grad_overlap_matrix(
139139
const size_t NB = co8.first;
140140
for( size_t MB=0; MB!=2*LB+1; ++MB )
141141
{
142-
const std::array<double,3> grad_overlap = RI_Util::Vector3_to_array3(co8.second.cal_grad_overlap( tauA*GlobalC::ucell.lat0, tauB*GlobalC::ucell.lat0, MA1, MA2, MB ));
142+
const std::array<double,3> grad_overlap = RI_Util::Vector3_to_array3(co8.second.cal_grad_overlap( tauA*lat0, tauB*lat0, MA1, MA2, MB ));
143143
const size_t iA1 = index_A1[TA][LA1][NA1][MA1];
144144
const size_t iA2 = index_A2[TA][LA2][NA2][MA2];
145145
const size_t iB = index_B[TB][LB][NB][MB];

source/module_ri/Matrix_Orbs22.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,7 @@ void Matrix_Orbs22::init_radial_table()
133133
ModuleBase::timer::tick("Matrix_Orbs22", "init_radial_table");
134134
}
135135

136-
void Matrix_Orbs22::init_radial_table(const double lat0,
137-
const std::map<size_t, std::map<size_t, std::set<double>>>& Rs)
136+
void Matrix_Orbs22::init_radial_table(const std::map<size_t, std::map<size_t, std::set<double>>>& Rs)
138137
{
139138
ModuleBase::TITLE("Matrix_Orbs22", "init_radial_table_Rs");
140139
ModuleBase::timer::tick("Matrix_Orbs22", "init_radial_table");

source/module_ri/Matrix_Orbs22.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ class Matrix_Orbs22
3939
const LCAO_Orbitals& orb_B2);
4040

4141
void init_radial_table();
42-
void init_radial_table(const double lat0,
43-
const std::map<size_t, std::map<size_t, std::set<double>>>& Rs); // unit: ucell.lat0
42+
void init_radial_table(const std::map<size_t, std::map<size_t, std::set<double>>>& Rs); // unit: ucell.lat0
4443

4544
enum class Matrix_Order
4645
{
@@ -103,7 +102,7 @@ class Matrix_Orbs22
103102
ModuleBase::Sph_Bessel_Recursive::D2* psb_ = nullptr;
104103
ORB_gaunt_table MGT;
105104
const double lcao_dr_ = 0.01;
106-
105+
double lat0 = 0; // restore ucell.lat0
107106
std::map<
108107
size_t, // TA
109108
std::map<size_t, // TB

source/module_ri/Matrix_Orbs22.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ RI::Tensor<Tdata> Matrix_Orbs22::cal_overlap_matrix(
8888
const size_t NB2 = co10.first;
8989
for( size_t MB2=0; MB2!=2*LB2+1; ++MB2 )
9090
{
91-
const Tdata overlap = co10.second.cal_overlap( tauA*GlobalC::ucell.lat0, tauB*GlobalC::ucell.lat0, MA1, MA2, MB1, MB2 );
91+
const Tdata overlap = co10.second.cal_overlap( tauA*lat0, tauB*lat0, MA1, MA2, MB1, MB2 );
9292
const size_t iA1 = index_A1[TA][LA1][NA1][MA1];
9393
const size_t iA2 = index_A2[TA][LA2][NA2][MA2];
9494
const size_t iB1 = index_B1[TB][LB1][NB1][MB1];
@@ -217,10 +217,10 @@ std::array<RI::Tensor<Tdata>,3> Matrix_Orbs22::cal_grad_overlap_matrix(
217217
const size_t NB2 = co10.first;
218218
for( size_t MB2=0; MB2!=2*LB2+1; ++MB2 )
219219
{
220-
const Tdata overlap = co10.second.cal_overlap( tauA*GlobalC::ucell.lat0, tauB*GlobalC::ucell.lat0, MA1, MA2, MB1, MB2 );
220+
const Tdata overlap = co10.second.cal_overlap( tauA*lat0, tauB*lat0, MA1, MA2, MB1, MB2 );
221221
switch(matrix_order)
222222
{
223-
const std::array<double,3> grad_overlap = RI_Util::Vector3_to_array3(co10.second.cal_grad_overlap( tauA*GlobalC::ucell.lat0, tauB*GlobalC::ucell.lat0, MA1, MA2, MB1, MB2 ));
223+
const std::array<double,3> grad_overlap = RI_Util::Vector3_to_array3(co10.second.cal_grad_overlap( tauA*lat0, tauB*lat0, MA1, MA2, MB1, MB2 ));
224224
const size_t iA1 = index_A1[TA][LA1][NA1][MA1];
225225
const size_t iA2 = index_A2[TA][LA2][NA2][MA2];
226226
const size_t iB1 = index_B1[TB][LB1][NB1][MB1];

0 commit comments

Comments
 (0)