Skip to content

Commit cb4cdd5

Browse files
committed
change ucell in module_ri/matirx_orb2.cpp
1 parent 00b3046 commit cb4cdd5

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

source/module_ri/Matrix_Orbs22.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@
99
#include "module_base/tool_title.h"
1010
#include "module_hamilt_pw/hamilt_pwdft/global.h"
1111

12-
void Matrix_Orbs22::init(const int mode, const LCAO_Orbitals& orb, const double kmesh_times, const double rmesh_times)
12+
void Matrix_Orbs22::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_Orbs22", "init");
1519
ModuleBase::timer::tick("Matrix_Orbs22", "init");
@@ -20,7 +24,7 @@ void Matrix_Orbs22::init(const int mode, const LCAO_Orbitals& orb, const double
2024
for (int it = 0; it < ntype; it++)
2125
{
2226
lmax_orb = std::max(lmax_orb, orb.Phi[it].getLmax());
23-
lmax_beta = std::max(lmax_beta, GlobalC::ucell.infoNL.Beta[it].getLmax());
27+
lmax_beta = std::max(lmax_beta, ucell.infoNL.Beta[it].getLmax());
2428
}
2529
const double dr = orb.get_dR();
2630
const double dk = orb.get_dk();
@@ -129,7 +133,8 @@ void Matrix_Orbs22::init_radial_table()
129133
ModuleBase::timer::tick("Matrix_Orbs22", "init_radial_table");
130134
}
131135

132-
void Matrix_Orbs22::init_radial_table(const std::map<size_t, std::map<size_t, std::set<double>>>& Rs)
136+
void Matrix_Orbs22::init_radial_table(const double lat0,
137+
const std::map<size_t, std::map<size_t, std::set<double>>>& Rs)
133138
{
134139
ModuleBase::TITLE("Matrix_Orbs22", "init_radial_table_Rs");
135140
ModuleBase::timer::tick("Matrix_Orbs22", "init_radial_table");
@@ -152,7 +157,7 @@ void Matrix_Orbs22::init_radial_table(const std::map<size_t, std::map<size_t, st
152157
std::set<size_t> radials;
153158
for (const double& R: RsB.second)
154159
{
155-
const double position = R * GlobalC::ucell.lat0 / lcao_dr_;
160+
const double position = R * lat0 / lcao_dr_;
156161
const size_t iq = static_cast<size_t>(position);
157162
for (size_t i = 0; i != 4; ++i)
158163
radials.insert(iq + i);

source/module_ri/Matrix_Orbs22.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "module_basis/module_ao/ORB_gaunt_table.h"
1212
#include "module_basis/module_ao/ORB_read.h"
1313
#include "module_hamilt_lcao/hamilt_lcaodft/center2_orb-orb22.h"
14+
#include "module_cell/unitcell.h"
1415

1516
#include <RI/global/Tensor.h>
1617
#include <map>
@@ -23,6 +24,7 @@ class Matrix_Orbs22
2324
// mode:
2425
// 1: <lcaos lcaos|lcaos lcaos>
2526
void init(const int mode,
27+
const UnitCell& ucell,
2628
const LCAO_Orbitals& orb,
2729
const double kmesh_times, // extend Kcut, keep dK
2830
const double rmesh_times); // extend Rcut, keep dR
@@ -37,7 +39,8 @@ class Matrix_Orbs22
3739
const LCAO_Orbitals& orb_B2);
3840

3941
void init_radial_table();
40-
void init_radial_table(const std::map<size_t, std::map<size_t, std::set<double>>>& Rs); // unit: ucell.lat0
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
4144

4245
enum class Matrix_Order
4346
{

source/module_ri/exx_opt_orb.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ void Exx_Opt_Orb::generate_matrix(const K_Vectors &kv, const UnitCell& ucell, co
7373
const auto ms_lcaoslcaos_lcaoslcaos = [&]() -> std::map<size_t,std::map<size_t,std::map<size_t,std::map<size_t,RI::Tensor<double>>>>>
7474
{
7575
Matrix_Orbs22 m_lcaoslcaos_lcaoslcaos;
76-
m_lcaoslcaos_lcaoslcaos.init( 1, orb, this->kmesh_times, 1 );
76+
m_lcaoslcaos_lcaoslcaos.init( 1, ucell,orb, this->kmesh_times, 1 );
7777
m_lcaoslcaos_lcaoslcaos.init_radial( lcaos, lcaos, lcaos, lcaos );
7878
#if TEST_EXX_RADIAL>=1
79-
m_lcaoslcaos_lcaoslcaos.init_radial_table(radial_R);
79+
m_lcaoslcaos_lcaoslcaos.init_radial_table(ucell.lat0,radial_R);
8080
#else
8181
m_lcaoslcaos_lcaoslcaos.init_radial_table();
8282
#endif

0 commit comments

Comments
 (0)