Skip to content

Commit 6733619

Browse files
authored
Merge pull request #600 from dyzheng/develop
refactor: change pointer to std::vector for part of matrix in LCAO code.
2 parents 5b17c51 + 25d533b commit 6733619

File tree

10 files changed

+75
-123
lines changed

10 files changed

+75
-123
lines changed

source/src_io/energy_dos.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ void energy::perform_dos(void)
307307
&T_char,
308308
&GlobalV::NLOCAL,&GlobalV::NLOCAL,
309309
&one_float,
310-
GlobalC::LM.Sloc, &one_int, &one_int, GlobalC::ParaO.desc,
310+
GlobalC::LM.Sloc.data(), &one_int, &one_int, GlobalC::ParaO.desc,
311311
Dwf.c, &one_int, &NB, GlobalC::ParaO.desc, &one_int,
312312
&zero_float,
313313
Mulk[0].c, &one_int, &NB, GlobalC::ParaO.desc,
@@ -379,7 +379,7 @@ void energy::perform_dos(void)
379379
GlobalC::ucell.infoNL.Beta);
380380

381381
GlobalC::LM.allocate_HS_R(GlobalC::LNNR.nnr);
382-
GlobalC::LM.zeros_HSR('S', GlobalC::LNNR.nnr);
382+
GlobalC::LM.zeros_HSR('S');
383383
GlobalC::UHM.genH.calculate_S_no();
384384
GlobalC::UHM.genH.build_ST_new('S', false, GlobalC::ucell);
385385
std::vector<ModuleBase::ComplexMatrix> Mulk;
@@ -426,7 +426,7 @@ void energy::perform_dos(void)
426426
&T_char,
427427
&GlobalV::NLOCAL,&GlobalV::NLOCAL,
428428
&one_float,
429-
GlobalC::LM.Sloc2, &one_int, &one_int, GlobalC::ParaO.desc,
429+
GlobalC::LM.Sloc2.data(), &one_int, &one_int, GlobalC::ParaO.desc,
430430
Dwfc.c, &one_int, &NB, GlobalC::ParaO.desc, &one_int,
431431
&zero_float,
432432
Mulk[0].c, &one_int, &NB, GlobalC::ParaO.desc,

source/src_io/mulliken_charge.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ void Mulliken_Charge::cal_mulliken(void)
140140
&T_char,
141141
&GlobalV::NLOCAL,&GlobalV::NLOCAL,
142142
&one_float,
143-
GlobalC::LM.Sloc, &one_int, &one_int, GlobalC::ParaO.desc,
143+
GlobalC::LM.Sloc.data(), &one_int, &one_int, GlobalC::ParaO.desc,
144144
Dwf.c, &one_int, &NB, GlobalC::ParaO.desc, &one_int,
145145
&zero_float,
146146
mud[0].c, &one_int, &NB, GlobalC::ParaO.desc,
@@ -221,7 +221,7 @@ void Mulliken_Charge::cal_mulliken(void)
221221

222222

223223
GlobalC::LM.allocate_HS_R(GlobalC::LNNR.nnr);
224-
GlobalC::LM.zeros_HSR('S', GlobalC::LNNR.nnr);
224+
GlobalC::LM.zeros_HSR('S');
225225
GlobalC::UHM.genH.calculate_S_no();
226226
GlobalC::UHM.genH.build_ST_new('S', false, GlobalC::ucell);
227227

@@ -250,7 +250,7 @@ void Mulliken_Charge::cal_mulliken(void)
250250
&T_char,
251251
&GlobalV::NLOCAL,&GlobalV::NLOCAL,
252252
&one_float,
253-
GlobalC::LM.Sloc2, &one_int, &one_int, GlobalC::ParaO.desc,
253+
GlobalC::LM.Sloc2.data(), &one_int, &one_int, GlobalC::ParaO.desc,
254254
Dwf.c, &one_int, &NB, GlobalC::ParaO.desc, &one_int,
255255
&zero_float,
256256
mud[0].c, &one_int, &NB, GlobalC::ParaO.desc,

source/src_io/restart.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ void Restart::save_disk(const std::string mode, const int i) const
4545
if("H"==mode)
4646
{
4747
if(GlobalV::GAMMA_ONLY_LOCAL)
48-
write_file2(folder+"Hgamma_"+ModuleBase::GlobalFunc::TO_STRING(GlobalV::MY_RANK)+"_"+ModuleBase::GlobalFunc::TO_STRING(i), GlobalC::LM.Hloc, GlobalC::ParaO.nloc*sizeof(double));
48+
write_file2(folder+"Hgamma_"+ModuleBase::GlobalFunc::TO_STRING(GlobalV::MY_RANK)+"_"+ModuleBase::GlobalFunc::TO_STRING(i), GlobalC::LM.Hloc.data(), GlobalC::ParaO.nloc*sizeof(double));
4949
else
50-
write_file2(folder+"Hk_"+ModuleBase::GlobalFunc::TO_STRING(GlobalV::MY_RANK)+"_"+ModuleBase::GlobalFunc::TO_STRING(i), GlobalC::LM.Hloc2, GlobalC::ParaO.nloc*sizeof(std::complex<double>));
50+
write_file2(folder+"Hk_"+ModuleBase::GlobalFunc::TO_STRING(GlobalV::MY_RANK)+"_"+ModuleBase::GlobalFunc::TO_STRING(i), GlobalC::LM.Hloc2.data(), GlobalC::ParaO.nloc*sizeof(std::complex<double>));
5151
}
5252
#endif
5353
}
@@ -60,9 +60,9 @@ void Restart::load_disk(const std::string mode, const int i) const
6060
if("H"==mode)
6161
{
6262
if(GlobalV::GAMMA_ONLY_LOCAL)
63-
read_file2(folder+"Hgamma_"+ModuleBase::GlobalFunc::TO_STRING(GlobalV::MY_RANK)+"_"+ModuleBase::GlobalFunc::TO_STRING(i), GlobalC::LM.Hloc, GlobalC::ParaO.nloc*sizeof(double));
63+
read_file2(folder+"Hgamma_"+ModuleBase::GlobalFunc::TO_STRING(GlobalV::MY_RANK)+"_"+ModuleBase::GlobalFunc::TO_STRING(i), GlobalC::LM.Hloc.data(), GlobalC::ParaO.nloc*sizeof(double));
6464
else
65-
read_file2(folder+"Hk_"+ModuleBase::GlobalFunc::TO_STRING(GlobalV::MY_RANK)+"_"+ModuleBase::GlobalFunc::TO_STRING(i), GlobalC::LM.Hloc2, GlobalC::ParaO.nloc*sizeof(std::complex<double>));
65+
read_file2(folder+"Hk_"+ModuleBase::GlobalFunc::TO_STRING(GlobalV::MY_RANK)+"_"+ModuleBase::GlobalFunc::TO_STRING(i), GlobalC::LM.Hloc2.data(), GlobalC::ParaO.nloc*sizeof(std::complex<double>));
6666
}
6767
#endif
6868
}

source/src_lcao/LCAO_diago.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ void Diago_LCAO_Matrix::using_HPSEPS_complex(const int &ik, std::complex<double>
4444
//GlobalC::ParaO.out_hs=1;//zhengdy-soc-test
4545
bool bit = false; //LiuXh, 2017-03-21
4646
//if set bit = true, there would be error in soc-multi-core calculation, noted by zhengdy-soc
47-
HS_Matrix::saving_HS_complex(GlobalC::LM.Hloc2, GlobalC::LM.Sloc2, bit, GlobalC::ParaO.out_hs); //LiuXh, 2017-03-21
47+
HS_Matrix::saving_HS_complex(GlobalC::LM.Hloc2.data(), GlobalC::LM.Sloc2.data(), bit, GlobalC::ParaO.out_hs); //LiuXh, 2017-03-21
4848
GlobalV::ofs_running << std::setprecision(6); //LiuXh, 2017-03-21
4949

50-
GlobalC::ParaO.diago_complex_begin(ik, wfc, wfc_2d, GlobalC::LM.Hloc2, GlobalC::LM.Sloc2, GlobalC::wf.ekb[ik]);
50+
GlobalC::ParaO.diago_complex_begin(ik, wfc, wfc_2d, GlobalC::LM.Hloc2.data(), GlobalC::LM.Sloc2.data(), GlobalC::wf.ekb[ik]);
5151

5252
//added by zhengdy-soc, rearrange the WFC_K from [up,down,up,down...] to [up,up...down,down...],
5353
if(GlobalV::NSPIN==4)
@@ -141,7 +141,7 @@ void Diago_LCAO_Matrix::using_LAPACK(const int &ik, double** wfc)const
141141
// save H and S matrix to disk.
142142
// bool bit = false;
143143
bool bit = true;//zhengdy-soc
144-
HS_Matrix::saving_HS(GlobalC::LM.Hloc, GlobalC::LM.Sloc, bit, GlobalC::ParaO.out_hs);
144+
HS_Matrix::saving_HS(GlobalC::LM.Hloc.data(), GlobalC::LM.Sloc.data(), bit, GlobalC::ParaO.out_hs);
145145

146146
ModuleBase::matrix Htmp(GlobalV::NLOCAL,GlobalV::NLOCAL);
147147
ModuleBase::matrix Stmp(GlobalV::NLOCAL,GlobalV::NLOCAL);
@@ -256,12 +256,12 @@ void Diago_LCAO_Matrix::using_HPSEPS_double(const int &ik, ModuleBase::matrix &w
256256

257257
// save H and S matrix to disk.
258258
bool bit = false;
259-
HS_Matrix::saving_HS(GlobalC::LM.Hloc, GlobalC::LM.Sloc, bit, GlobalC::ParaO.out_hs);
259+
HS_Matrix::saving_HS(GlobalC::LM.Hloc.data(), GlobalC::LM.Sloc.data(), bit, GlobalC::ParaO.out_hs);
260260
GlobalV::ofs_running << std::setprecision(6);
261261

262262
// Distribution of matrix for
263263
// prallel eigensolver.
264-
GlobalC::ParaO.diago_double_begin(ik, wfc_2d, GlobalC::LM.Hloc, GlobalC::LM.Sloc, GlobalC::wf.ekb[ik]);
264+
GlobalC::ParaO.diago_double_begin(ik, wfc_2d, GlobalC::LM.Hloc.data(), GlobalC::LM.Sloc.data(), GlobalC::wf.ekb[ik]);
265265

266266
return;
267267
}

source/src_lcao/LCAO_evolve.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -524,10 +524,10 @@ int Evolve_LCAO_Matrix::using_ScaLAPACK_complex_3(const int &ik, complex<double>
524524
//complex<double>* Z = new complex<double>[this->loc_size * NLOCAL];
525525
//ModuleBase::GlobalFunc::ZEROS(Z, this->loc_size * NLOCAL);
526526

527-
zcopy_(&GlobalC::ParaO.nloc, GlobalC::LM.Sloc2, &inc, Stmp, &inc);
528-
zcopy_(&GlobalC::ParaO.nloc, GlobalC::LM.Hloc2, &inc, Htmp1, &inc);
529-
zcopy_(&GlobalC::ParaO.nloc, GlobalC::LM.Hloc2, &inc, Htmp2, &inc);
530-
zcopy_(&GlobalC::ParaO.nloc, GlobalC::LM.Hloc2, &inc, Htmp3, &inc);
527+
zcopy_(&GlobalC::ParaO.nloc, GlobalC::LM.Sloc2.data(), &inc, Stmp, &inc);
528+
zcopy_(&GlobalC::ParaO.nloc, GlobalC::LM.Hloc2.data(), &inc, Htmp1, &inc);
529+
zcopy_(&GlobalC::ParaO.nloc, GlobalC::LM.Hloc2.data(), &inc, Htmp2, &inc);
530+
zcopy_(&GlobalC::ParaO.nloc, GlobalC::LM.Hloc2.data(), &inc, Htmp3, &inc);
531531

532532
//cout << "*Htmp2: " << *Htmp2 << endl;
533533

source/src_lcao/LCAO_hamilt.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,6 @@ void LCAO_Hamilt::calculate_Hk(const int &ik)
218218
// set the local potential
219219
// in LCAO basis.
220220
//--------------------------
221-
GlobalC::LM.zeros_HSR('H', GlobalC::LNNR.nnr);
222221

223222
if(GlobalV::NSPIN!=4)
224223
{
@@ -285,15 +284,15 @@ void LCAO_Hamilt::calculate_STNR_k(void)
285284
// is GlobalC::LNNR.nnr.
286285
// and store in GlobalC::LM.SlocR.
287286
//--------------------------------------------
288-
GlobalC::LM.zeros_HSR('S', GlobalC::LNNR.nnr);
287+
GlobalC::LM.zeros_HSR('S');
289288
this->genH.calculate_S_no();
290289

291290
//------------------------------
292291
// set T(R) and Vnl(R) to zero.
293292
// and then calculate it
294293
// and store in GlobalC::LM.Hloc_fixedR.
295294
//------------------------------
296-
GlobalC::LM.zeros_HSR('T', GlobalC::LNNR.nnr);
295+
GlobalC::LM.zeros_HSR('T');
297296

298297

299298

source/src_lcao/LCAO_matrix.cpp

Lines changed: 36 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,10 @@
77

88
LCAO_Matrix::LCAO_Matrix()
99
{
10-
// for gamma_only
11-
Sloc = new double[1];
12-
Hloc_fixed = new double[1];
13-
Hloc = new double[1];
14-
Sdiag = new double[1];
15-
16-
// for many k points
17-
Sloc2 = new std::complex<double>[1];
18-
Hloc_fixed2 = new std::complex<double>[1];
19-
Hloc2 = new std::complex<double>[1];
20-
Sdiag2 = new std::complex<double>[1];
2110
}
2211

2312
LCAO_Matrix::~LCAO_Matrix()
2413
{
25-
// delete matrix for gamma_only.
26-
delete[] Sloc;
27-
delete[] Hloc_fixed;
28-
delete[] Hloc;
29-
delete[] Sdiag;
30-
31-
// delete matrix for many k points
32-
delete[] Sloc2;
33-
delete[] Hloc_fixed2;
34-
delete[] Hloc2;
35-
delete[] Sdiag2;
3614
}
3715

3816

@@ -97,20 +75,16 @@ void LCAO_Matrix::allocate_HS_gamma(const long &nloc)
9775
// because we initilize in the constructor function
9876
// with dimension '1', so here we reconstruct these
9977
// matrices
100-
delete[] Sloc;
101-
delete[] Hloc_fixed;
102-
delete[] Hloc;
103-
delete[] Sdiag;
10478

105-
this->Sloc = new double[nloc];
106-
this->Hloc_fixed = new double[nloc];
107-
this->Hloc = new double[nloc];
108-
this->Sdiag = new double[nloc];
79+
this->Sloc.resize(nloc);
80+
this->Hloc_fixed.resize(nloc);
81+
this->Hloc.resize(nloc);
82+
this->Sdiag.resize(nloc);
10983

110-
ModuleBase::GlobalFunc::ZEROS(Sloc,nloc);
111-
ModuleBase::GlobalFunc::ZEROS(Hloc_fixed,nloc);
112-
ModuleBase::GlobalFunc::ZEROS(Hloc,nloc);
113-
ModuleBase::GlobalFunc::ZEROS(Sdiag,nloc); // mohan add 2021-01-30
84+
ModuleBase::GlobalFunc::ZEROS(Sloc.data(),nloc);
85+
ModuleBase::GlobalFunc::ZEROS(Hloc_fixed.data(),nloc);
86+
ModuleBase::GlobalFunc::ZEROS(Hloc.data(),nloc);
87+
ModuleBase::GlobalFunc::ZEROS(Sdiag.data(),nloc); // mohan add 2021-01-30
11488

11589
return;
11690
}
@@ -126,52 +100,35 @@ void LCAO_Matrix::allocate_HS_k(const long &nloc)
126100
// because we initilize in the constructor function
127101
// with dimension '1', so here we reconstruct these
128102
// matrices
129-
delete[] Sloc2;
130-
delete[] Hloc_fixed2;
131-
delete[] Hloc2;
132-
delete[] Sdiag2;
133-
134-
this->Sloc2 = new std::complex<double>[nloc];
135-
this->Hloc_fixed2 = new std::complex<double>[nloc];
136-
this->Hloc2 = new std::complex<double>[nloc];
137-
this->Sdiag2 = new std::complex<double>[nloc];
138-
139-
ModuleBase::GlobalFunc::ZEROS(Sloc2,nloc);
140-
ModuleBase::GlobalFunc::ZEROS(Hloc_fixed2,nloc);
141-
ModuleBase::GlobalFunc::ZEROS(Hloc2,nloc);
103+
this->Sloc2.resize(nloc);
104+
this->Hloc_fixed2.resize(nloc);
105+
this->Hloc2.resize(nloc);
106+
this->Sdiag2.resize(nloc);
107+
108+
ModuleBase::GlobalFunc::ZEROS(Sloc2.data(),nloc);
109+
ModuleBase::GlobalFunc::ZEROS(Hloc_fixed2.data(),nloc);
110+
ModuleBase::GlobalFunc::ZEROS(Hloc2.data(),nloc);
142111

143112
return;
144113
}
145114

146115
void LCAO_Matrix::allocate_HS_R(const int &nnR)
147116
{
148117
if(GlobalV::NSPIN!=4)
149-
{
150-
delete[] HlocR;
151-
delete[] SlocR;
152-
delete[] Hloc_fixedR;
153-
154-
this->HlocR = new double[nnR];
155-
this->SlocR = new double[nnR];
156-
this->Hloc_fixedR = new double[nnR];
118+
{
119+
this->SlocR.resize(nnR);
120+
this->Hloc_fixedR.resize(nnR);
157121

158-
ModuleBase::GlobalFunc::ZEROS(HlocR, nnR);
159-
ModuleBase::GlobalFunc::ZEROS(SlocR, nnR);
160-
ModuleBase::GlobalFunc::ZEROS(Hloc_fixedR, nnR);
122+
ModuleBase::GlobalFunc::ZEROS(SlocR.data(), nnR);
123+
ModuleBase::GlobalFunc::ZEROS(Hloc_fixedR.data(), nnR);
161124
}
162125
else
163126
{
164-
delete[] HlocR_soc;
165-
delete[] SlocR_soc;
166-
delete[] Hloc_fixedR_soc;
167-
168-
this->HlocR_soc = new std::complex<double>[nnR];
169-
this->SlocR_soc = new std::complex<double>[nnR];
170-
this->Hloc_fixedR_soc = new std::complex<double>[nnR];
127+
this->SlocR_soc.resize(nnR);
128+
this->Hloc_fixedR_soc.resize(nnR);
171129

172-
ModuleBase::GlobalFunc::ZEROS(HlocR_soc, nnR);
173-
ModuleBase::GlobalFunc::ZEROS(SlocR_soc, nnR);
174-
ModuleBase::GlobalFunc::ZEROS(Hloc_fixedR_soc, nnR);
130+
ModuleBase::GlobalFunc::ZEROS(SlocR_soc.data(), nnR);
131+
ModuleBase::GlobalFunc::ZEROS(Hloc_fixedR_soc.data(), nnR);
175132

176133
}
177134

@@ -389,33 +346,31 @@ void LCAO_Matrix::set_stress
389346

390347
void LCAO_Matrix::zeros_HSgamma(const char &mtype)
391348
{
392-
if (mtype=='S') ModuleBase::GlobalFunc::ZEROS(Sloc,GlobalC::ParaO.nloc);
393-
else if (mtype=='T') ModuleBase::GlobalFunc::ZEROS(Hloc_fixed,GlobalC::ParaO.nloc);
394-
else if (mtype=='H') ModuleBase::GlobalFunc::ZEROS(Hloc,GlobalC::ParaO.nloc);
349+
if (mtype=='S') ModuleBase::GlobalFunc::ZEROS(this->Sloc.data(), this->Sloc.size());
350+
else if (mtype=='T') ModuleBase::GlobalFunc::ZEROS(this->Hloc_fixed.data(), this->Hloc_fixed.size());
351+
else if (mtype=='H') ModuleBase::GlobalFunc::ZEROS(this->Hloc.data(), this->Hloc.size());
395352
return;
396353
}
397354

398355
void LCAO_Matrix::zeros_HSk(const char &mtype)
399356
{
400-
if (mtype=='S') ModuleBase::GlobalFunc::ZEROS(Sloc2,GlobalC::ParaO.nloc);
401-
else if (mtype=='T') ModuleBase::GlobalFunc::ZEROS(Hloc_fixed2,GlobalC::ParaO.nloc);
402-
else if (mtype=='H') ModuleBase::GlobalFunc::ZEROS(Hloc2,GlobalC::ParaO.nloc);
357+
if (mtype=='S') ModuleBase::GlobalFunc::ZEROS(this->Sloc2.data(), this->Sloc2.size());
358+
else if (mtype=='T') ModuleBase::GlobalFunc::ZEROS(this->Hloc_fixed2.data(), this->Hloc_fixed2.size());
359+
else if (mtype=='H') ModuleBase::GlobalFunc::ZEROS(this->Hloc2.data(), this->Hloc2.size());
403360
return;
404361
}
405362

406-
void LCAO_Matrix::zeros_HSR(const char &mtype, const int &nnr)
363+
void LCAO_Matrix::zeros_HSR(const char &mtype)
407364
{
408365
if(GlobalV::NSPIN!=4)
409366
{
410-
if (mtype=='S') ModuleBase::GlobalFunc::ZEROS(SlocR, nnr);
411-
else if (mtype=='T') ModuleBase::GlobalFunc::ZEROS(Hloc_fixedR, nnr);
412-
else if (mtype=='H') ModuleBase::GlobalFunc::ZEROS(HlocR, nnr);
367+
if (mtype=='S') ModuleBase::GlobalFunc::ZEROS(this->SlocR.data(), this->SlocR.size());
368+
else if (mtype=='T') ModuleBase::GlobalFunc::ZEROS(this->Hloc_fixedR.data(), this->Hloc_fixedR.size());
413369
}
414370
else
415371
{
416-
if (mtype=='H') ModuleBase::GlobalFunc::ZEROS(this->HlocR_soc, nnr);
417-
else if (mtype=='S') ModuleBase::GlobalFunc::ZEROS(this->SlocR_soc, nnr);
418-
else if (mtype=='T') ModuleBase::GlobalFunc::ZEROS(this->Hloc_fixedR_soc, nnr);
372+
if (mtype=='S') ModuleBase::GlobalFunc::ZEROS(this->SlocR_soc.data(), this->SlocR_soc.size());
373+
else if (mtype=='T') ModuleBase::GlobalFunc::ZEROS(this->Hloc_fixedR_soc.data(), this->Hloc_fixedR_soc.size());
419374
}
420375
return;
421376
}

source/src_lcao/LCAO_matrix.h

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ class LCAO_Matrix
3333
// thse matrix are used to
3434
// diagonalize.
3535
//------------------------------
36-
double* Hloc;
37-
double* Sloc;
38-
double* Hloc_fixed;
39-
double* Sdiag; // used in pdiag_double.cpp
36+
std::vector<double> Hloc;
37+
std::vector<double> Sloc;
38+
std::vector<double> Hloc_fixed;
39+
std::vector<double> Sdiag; // used in pdiag_double.cpp
4040

4141
//------------------------------
4242
// 1. Hamiltonian(vl),
@@ -46,10 +46,10 @@ class LCAO_Matrix
4646
// these matrix are used to
4747
// diagonalize.
4848
//------------------------------
49-
std::complex<double> *Hloc2;
50-
std::complex<double> *Sloc2;
51-
std::complex<double> *Hloc_fixed2;
52-
std::complex<double> *Sdiag2; // used in pdiag_double.cpp
49+
std::vector<std::complex<double>> Hloc2;
50+
std::vector<std::complex<double>> Sloc2;
51+
std::vector<std::complex<double>> Hloc_fixed2;
52+
std::vector<std::complex<double>> Sdiag2; // used in pdiag_double.cpp
5353
//with soc, zhengdy-soc
5454
/* ModuleBase::ComplexMatrix Hloc2_soc;
5555
ModuleBase::ComplexMatrix Sloc2_soc;
@@ -66,14 +66,12 @@ class LCAO_Matrix
6666
// HlocR -> Hloc2,
6767
// SlocR -> Sloc2,
6868
//------------------------------
69-
double* HlocR;
70-
double* SlocR;
71-
double* Hloc_fixedR;
69+
std::vector<double> SlocR;
70+
std::vector<double> Hloc_fixedR;
7271

7372
//with soc, zhengdy-soc
74-
complex<double>* HlocR_soc;
75-
complex<double>* SlocR_soc;
76-
complex<double>* Hloc_fixedR_soc;
73+
std::vector<std::complex<double>> SlocR_soc;
74+
std::vector<std::complex<double>> Hloc_fixedR_soc;
7775

7876
//LiuXh add 2019-07-15
7977
double ****Hloc_fixedR_tr;
@@ -179,7 +177,7 @@ class LCAO_Matrix
179177

180178
void zeros_HSgamma(const char &mtype);
181179
void zeros_HSk(const char &mtype);
182-
void zeros_HSR(const char &mtype, const int &nnr);
180+
void zeros_HSR(const char &mtype);
183181

184182
void print_HSgamma(const char &mtype, std::ostream &os=std::cout);
185183
void print_HSk(const char &mtype, const char &vtype = 'C', const double &accuracy = 1.0e-5, std::ostream &os=std::cout);

0 commit comments

Comments
 (0)